public async Task <IActionResult> PartialCreate() { var model = new EmployeModelViewModel(); model.Password = "******"; model.ConfirmPassword = "******"; var roles = roleManager.Roles.Select(r => new SelectListItem() { Text = r.Name, Value = r.Name }).ToList(); model.RoleList = roles; string viewFromCurrentController = await this.RenderViewToStringAsync("PartialCreate", model); return(Json( new { html = viewFromCurrentController })); }
public async Task <IActionResult> PartialEdit(string id) { string viewFromCurrentController = ""; var user = await userManager.FindByIdAsync(id); try { if (user != null) { var model = new EmployeModelViewModel() { Email = user.Email, FirstName = user.FirstName, Phone = user.PhoneNumber, LastName = user.LastName, Id = user.Id }; var roles = roleManager.Roles.Select(r => new SelectListItem() { Text = r.Name, Value = r.Name }).ToList(); model.RoleList = roles; var userroles = await userManager.GetRolesAsync(user); model.RoleName = userroles.FirstOrDefault(); model.RoleId = userroles.FirstOrDefault(); viewFromCurrentController = await this.RenderViewToStringAsync("PartialEdit", model); } } catch (Exception ex) { string ss = ex.ToString(); } return(Json( new { html = viewFromCurrentController })); }
public async Task <JsonResult> SaveUpdate(EmployeModelViewModel employeModelViewModel) { var data = new PackagesDataModel(); var objResponse = new SaveResponse(); string viewFromCurrentController = string.Empty; IdentityResult result; employeModelViewModel.ConfirmPassword = employeModelViewModel.Password; if (!string.IsNullOrEmpty(employeModelViewModel.Id)) { ModelState.Remove("Password"); ModelState.Remove("ConfirmPassword"); } if (ModelState.IsValid) { try { if (string.IsNullOrEmpty(employeModelViewModel.Id)) { var appUser = new PrankIdentityUser() { Email = employeModelViewModel.Email, UserName = employeModelViewModel.Email, FirstName = employeModelViewModel.FirstName, IsAdmin = true, LastName = employeModelViewModel.LastName, PhoneNumber = employeModelViewModel.Phone, }; result = await userManager.CreateAsync(appUser, employeModelViewModel.Password); if (result.Succeeded) { var result1 = await userManager.AddToRoleAsync(appUser, employeModelViewModel.RoleId); } } else { var appUser = await userManager.FindByIdAsync(employeModelViewModel.Id); appUser.Email = employeModelViewModel.Email; appUser.UserName = employeModelViewModel.Email; appUser.FirstName = employeModelViewModel.FirstName; appUser.IsAdmin = true; appUser.LastName = employeModelViewModel.LastName; appUser.PhoneNumber = employeModelViewModel.Phone; //appUser.PasswordHash = passwordHasher.HashPassword(appUser, employeModelViewModel.Password); result = await userManager.UpdateAsync(appUser); if (result.Succeeded) { if (!string.IsNullOrEmpty(employeModelViewModel.RoleId)) { var userroles = await userManager.GetRolesAsync(appUser); if (userroles.Count > 0) { foreach (var role in userroles) { var isExists = await userManager.IsInRoleAsync(appUser, role); if (isExists) { await userManager.RemoveFromRoleAsync(appUser, employeModelViewModel.RoleId); } } } var result1 = await userManager.AddToRoleAsync(appUser, employeModelViewModel.RoleId); } } } if (result.Succeeded) { var employee = userManager.Users.Select(s => new EmployeModelViewModel() { Id = s.Id, FirstName = s.FirstName, LastName = s.LastName, Email = s.Email, Phone = s.PhoneNumber, }).ToList(); viewFromCurrentController = await this.RenderViewToStringAsync("PartialGetEmployees", employee); objResponse.StatusCode = 200; objResponse.Html = viewFromCurrentController; objResponse.Message = "Record saved successfully"; string token = string.Empty; var claimsIdentity = (ClaimsIdentity)HttpContext.User.Identity; var userTokenClaim = claimsIdentity.Claims.SingleOrDefault(c => c.Type == "Token"); if (userTokenClaim != null) { token = userTokenClaim.Value; } await TrackingInfo.TrackInfo(token, EmployeeId, ControllerContext.ActionDescriptor.ControllerName, employeModelViewModel.FirstName + " " + employeModelViewModel.LastName, 0, !string.IsNullOrEmpty(employeModelViewModel.Id)? "Update" : "Save"); if (string.IsNullOrEmpty(employeModelViewModel.Id)) { #region Email Send string emailTemplateFile = await this.RenderViewToStringAsync("ConfimationEmail", ""); if (string.IsNullOrEmpty(emailTemplateFile)) { throw new Exception("No email template found"); } var mailBccEmail = new List <string>(); string bccEmail = _emailSettings.EmailsInTestMode ? _emailSettings.EmailToTest : _emailSettings.EmailBcc; if (!string.IsNullOrEmpty(bccEmail)) { mailBccEmail.AddRange(bccEmail.Split(';')); } var message = new EmailMessage { IsHtml = true, Subject = "Dagga Email Confirmation", To = _emailSettings.EmailsInTestMode ? _emailSettings.EmailToTest : employeModelViewModel.Email, BCC = mailBccEmail, }; message.Body = emailTemplateFile.Replace("###Name###", employeModelViewModel.FirstName + " " + employeModelViewModel.LastName) .Replace("###Email###", employeModelViewModel.Email).Replace("###Password###", employeModelViewModel.Password); await Helpers.EmailHelpers.SendAsync(message.Subject, message.Body, message.To, _emailSettings.SmtpServer, _emailSettings.SmtpPort, _emailSettings.SmtpUserName, _emailSettings.SmtpPassword, message.From ?? _emailSettings.SmtpFrom, message.IsHtml, message.CC, message.BCC); #endregion } } else { foreach (IdentityError error in result.Errors) { ModelState.AddModelError("", error.Description); objResponse.Message += error.Description + ", "; } objResponse.StatusCode = 400; objResponse.Html = viewFromCurrentController; } } catch (Exception ex) { string exep = ex.ToString(); } } else { var errors = ModelState.Select(x => x.Value.Errors) .Where(y => y.Count > 0) .ToList(); objResponse.StatusCode = 400; objResponse.Html = viewFromCurrentController; objResponse.Message = "Record not saved successfully"; } return(new JsonResult(new { objResponse })); }