public async Task <IActionResult> Register(RegisterViewModel model, string returnUrl = null) { ViewData["ReturnUrl"] = returnUrl; model.Roles = _roleManager.GetRolesSelectList(); if (ModelState.IsValid) { var user = new ApplicationUser { UserName = model.Username, FirstName = model.FirstName, LastName = model.LastName, RegisterDate = DateTime.Now, IsActive = false, IsBanned = false, Email = model.Email, ProfileImageName = model.ImageName }; var result = await _userManager.CreateAsync(user, model.Password); if (result.Succeeded) { if (model.ImageName != null) { _logger.LogProfileImageHistory(user.Id, model.ImageName); } await _userManager.AddToRoleAsync(user, model.Role); var message = new Message { //Quill.js text data Text = "{\"ops\":[{\"attributes\":{\"font\":\"default\",\"size\":\"15px\",\"bold\":true},\"insert\":\"" + user.FirstName + " " + user.LastName + " \"}," + "{\"attributes\":{\"font\":\"default\",\"size\":\"15px\"},\"insert\":\" با نام کاربری \"}," + "{\"attributes\":{\"font\":\"default\",\"size\":\"15px\",\"bold\":true},\"insert\":\" " + user.UserName + " \"}," + "{\"attributes\":{\"font\":\"default\",\"size\":\"15px\"},\"insert\":\"حساب کاربری جدیدی ایجاد کرده است.\"}," + "{\"attributes\":{\"align\":\"right\",\"direction\":\"rtl\"},\"insert\":\"\\n\"}," + "{\"attributes\":{\"font\":\"default\",\"size\":\"15px\"},\"insert\":\"لطفا هر چه سریعتر نسبت به فعالسازی آن اقدام فرمایید.\"}," + "{\"attributes\":{\"align\":\"right\",\"direction\":\"rtl\"},\"insert\":\"\\n\"}]}", Type = MessageType.System_Notification, Title = "کاربر جدید", Time = DateTime.Now, SenderId = user.Id }; _messageService.AddSystemNotificationForAdmin(message); return(View("Inactive")); } foreach (var error in result.Errors) { switch (error.Code) { case "DuplicateUserName": ModelState.AddModelError("", "این نام کاربری قبلا ثبت شده است."); break; case "DuplicateEmail": ModelState.AddModelError("", "این ایمیل قبلا در سیستم ثبت شده است."); break; case "PasswordRequiresUpper": ModelState.AddModelError("", "کلمه عبور باید شامل حروف بزرگ انگلیسی باشد."); break; case "PasswordRequiresDigit": ModelState.AddModelError("", "کلمه عبور باید شامل اعداد باشد."); break; case "PasswordRequiresLower": ModelState.AddModelError("", "کلمه عبور باید شامل حروف کوچک انگلیسی باشد."); break; default: ModelState.AddModelError("", "مشکل در ثبت کاربر"); break; } } } return(View(model)); }