public async Task <bool> UpdateTeacher(TeacherCreateVM model)
        {
            var teacher = _context.Teachers.Where((item) => item.Id == model.Id).SingleOrDefault();

            if (teacher != null)
            {
                var newTeacher = new Teacher()
                {
                    DayOfbirthday = model.DayOfbirthday,
                    FirstName     = model.FirstName,
                    LastName      = model.LastName,
                    MiddleName    = model.MiddleName
                };

                teacher.DayOfbirthday = model.DayOfbirthday;
                teacher.FirstName     = model.FirstName;
                teacher.LastName      = model.LastName;
                teacher.MiddleName    = model.MiddleName;

                var user = await _userManager.FindByIdAsync(teacher.Id.ToString());

                if (user != null)
                {
                    user.Email       = model.Email;
                    user.PhoneNumber = model.PhoneNumber;
                    user.UserName    = model.Email;
                    var result = _userManager.UpdateAsync(user).Result;
                    return(result.Succeeded);
                }
                await _context.SaveChangesAsync();

                return(true);
            }
            return(false);
        }
 public async Task <bool> CreateTeacher(TeacherCreateVM model)
 {
     if (_userManager.FindByEmailAsync(model.Email).Result == null)
     {
         var teacher = new Teacher()
         {
             DayOfbirthday = model.DayOfbirthday,
             FirstName     = model.FirstName,
             LastName      = model.LastName,
             MiddleName    = model.MiddleName,
             SchoolId      = model.SchoolId
         };
         var user = new DbUser()
         {
             Email       = model.Email,
             UserName    = model.Email,
             PhoneNumber = model.PhoneNumber,
             Teacher     = teacher
         };
         var result = _userManager.CreateAsync(user, "Qwerty1234").Result;
         result = _userManager.AddToRoleAsync(user, "Teacher").Result;
         return(result.Succeeded);
     }
     return(false);
 }
 public async Task <IActionResult> UpdateTeacher([FromBody] TeacherCreateVM model)
 {
     try
     {
         if (await _teacherService.UpdateTeacher(model))
         {
             return(Ok());
         }
         else
         {
             var invalid = new Dictionary <string, string>
             {
                 { "email", "Користувач з даною електронною поштою уже створений" }
             };
             return(Ok(invalid));
         }
     }
     catch (Exception)
     {
         return(BadRequest());
     }
 }