public async Task <IActionResult> Register(AccountRegisterModelView model) { if (model.Avatar is null) { ModelState.AddModelError("", "Вы должны иметь аватар"); } else if (ModelState.IsValid) { User user = new User { Email = model.Email, UserName = model.Nickname, NameSurname = model.NameSurname, Description = model.Description, PhoneNumber = model.PhoneNumber, AvatarPath = Load(model), Publications = new List <Publication>(), SubscribesIds = new List <string>(), SubscribersIds = new List <string>(), PublicationIds = new List <string>() }; if (model.Male) { user.Sex = Sex.Male; } else if (model.Female) { user.Sex = Sex.Female; } else { user.Sex = Sex.Empty; } var result = await _userManager.CreateAsync(user, model.Password); if (result.Succeeded) { _userService.AddUserToCache(user); await _signInManager.SignInAsync(user, false); await _emailService.SendEmailAsync( email : user.Email, subject : "Поздравляем с регистрацией!", message : $"<h5>Ваши данные:</h5>{GetUserData(user)}" ); return(RedirectToAction("Details", new { login = user.UserName })); } foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } return(View(model)); }
private string Load(AccountRegisterModelView model) { string newUserFile = $"{model.Nickname}_{model.Email}"; string path = Path.Combine(_environment.ContentRootPath + $"\\wwwroot\\UserFiles\\{newUserFile}"); string photoPath = $"UserFiles/{newUserFile}/{model.Avatar.FileName}"; if (!System.IO.Directory.Exists($"wwwroot/UserFiles/{newUserFile}")) { System.IO.Directory.CreateDirectory($"wwwroot/UserFiles/{newUserFile}"); } _fileUpload.Upload(path, model.Avatar.FileName, model.Avatar); return(photoPath); }