public async Task <IActionResult> RegisterTeacher([FromBody] TeacherRegisterVM model)
        {
            return(await HandleRequestAsync(async() =>
            {
                string imageName = Path.GetRandomFileName() + ".jpg";
                var filePath = Path.Combine(Directory.GetCurrentDirectory(), @"wwwroot\Uploaded\Users");

                string pathSaveImages = InitStaticFiles
                                        .CreateImageByFileName(_env, _configuration,
                                                               new string[] { Directory.GetCurrentDirectory(), @"wwwroot", "Uploaded", "Users" },
                                                               imageName,
                                                               model.Photo);

                //+38 (098) 665 34 18
                model.Photo = imageName;

                var rezult = await _teacherService.Create(model);
                if (rezult)
                {
                    var user = _userManager.FindByEmailAsync(model.Email).Result;
                    var teacher = await _teacherService.GetTeacherById(user.Id);
                    JwtInfo jwtInfo;
                    if (teacher != null)
                    {
                        // Return token
                        jwtInfo = new JwtInfo()
                        {
                            Token = _jwtTokenService.CreateToken(user),
                            RefreshToken = _jwtTokenService.CreateRefreshToken(user),
                            SchoolId = teacher.SchoolId.ToString()
                        };
                    }
                    else
                    {
                        // Return token
                        jwtInfo = new JwtInfo()
                        {
                            Token = _jwtTokenService.CreateToken(user),
                            RefreshToken = _jwtTokenService.CreateRefreshToken(user),
                        };
                    }

                    this._logger.LogDebug("End method LoginUser...");

                    return Ok(jwtInfo);
                }
                else
                {
                    var invalid = new Dictionary <string, string>
                    {
                        { "email", "Користувач з даною електронною поштою уже зареєстрований" }
                    };
                    return BadRequest(invalid);
                }
            }));
        }
 public async Task <bool> Create(TeacherRegisterVM model)
 {
     if (_userManager.FindByEmailAsync(model.Email).Result == null)
     {
         try
         {
             var school = _context.Schools.SingleOrDefault((item) => item.Name == model.School);
             if (school == null)
             {
                 var newSchool = new School
                 {
                     Name   = model.School,
                     Region = model.Region
                 };
                 _context.Schools.Add(newSchool);
                 _context.SaveChanges();
                 var teacher = new Teacher()
                 {
                     DayOfbirthday = model.DayOfbirthday,
                     FirstName     = model.FirstName,
                     LastName      = model.LastName,
                     MiddleName    = model.MiddleName,
                     SchoolId      = newSchool.Id,
                     Image         = model.Photo
                 };
                 var user = new DbUser()
                 {
                     Email       = model.Email,
                     UserName    = model.Email,
                     PhoneNumber = model.PhoneNumber,
                     Teacher     = teacher
                 };
                 var result = _userManager.CreateAsync(user, model.Password).Result;
                 result = _userManager.AddToRoleAsync(user, "Admin").Result;
                 return(result.Succeeded);
             }
         }
         catch (Exception ex)
         {
             Debug.WriteLine(ex.Message);
         }
     }
     return(false);
 }