Проблема с сохранением данных (asp mvc 5+EF)

290
31 августа 2017, 17:09

Добрый день ! Столкнулся с проблемой передачи и сохранения данных.. У меня есть стандартное действие изменение данных о пользователе :

 [Route("Doctor/EditPacientInfo/{name}")]
    public ActionResult EditPacientInfo(string name)
    {
        string username = User.Identity.Name;
        // Fetch the userprofile
        ApplicationUser user = db.Users.FirstOrDefault(u => u.UserName.Equals(username));
        ViewBag.Email = user.Email;
        // Construct the viewmodel
        ApplicationUser model = new ApplicationUser()
        {          
            PacientInfo = user.PacientInfo
        };
        return View(model);
    }
    [HttpPost]
    public ActionResult EditPacientInfo(ApplicationUser pacient)
    {
        if (ModelState.IsValid)
        {
      //string username = User.Identity.Name;// <--- работает
             string username = pacient.Email;// <---Не работает
            // Get the userprofile
            ApplicationUser user = db.Users.FirstOrDefault(u => u.UserName.Equals(username));
            // Update fields
            user.PacientInfo = pacient.PacientInfo;
            db.Entry(user).State = EntityState.Modified;
            db.SaveChanges();
            return View(user); // or whatever
        }
        return View(pacient);
    }

Суть в проблемы в POST-методе :

Если я использую :

string username = User.Identity.Name;

То метод работает как надо и все сохраняет в базе данных,НО если я использую :

string username = pacient.Email; 

То метод выдает такую ошибку : Ссылка на объект не указывает на экземпляр объекта.(+строка кода ,где есть сама ошибка):

user.PacientInfo = pacient.PacientInfo;

В общем ,я хочу сделать так ,чтобы можно было редактировать поля в базе данных не только своего профиля (используя свойство User.Identity.Name) ,но еще и других пользователь ( через свойство pacient.Email).Возможно ли это вообще или мне как-то по-другому надо выкрутиться (а если по-другому,то как?)

Заранее,спасибо за ответы

READ ALSO
Почему сервер не отвечает h264 cms?

Почему сервер не отвечает h264 cms?

Здравствуйте, пытаюсь сделать клиент для IP камеры, ну вот за основу взял обычный клиент h264 CMS и её насниффил, а точнее какие данные должны проходить...

583
Инверсия осей(стандартных)?

Инверсия осей(стандартных)?

Есть стандартная ось "Horizontal" - со стандартными значениями:

269