//[ValidateAntiForgeryToken] public async Task <JsonResult> Delete(int id) { var data = new PackagesDataModel(); var objResponse = new SaveResponse(); string viewFromCurrentController = string.Empty; if (id > 0) { 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; } data = await ApiClientFactory.Instance.DeletePackage(token, id); //if (data.statusCode != null && Convert.ToInt32(data.statusCode)==200 ) //{ // var model = await ApiClientFactory.Instance.GetPackages(token); // viewFromCurrentController = await this.RenderViewToStringAsync("PartialGetPackages", model.responseObject); //} objResponse.StatusCode = Convert.ToInt32(data.statusCode); //objResponse.Html = viewFromCurrentController; if (Convert.ToInt32(data.statusCode) == 200) { await TrackingInfo.TrackInfo(token, EmployeeId, ControllerContext.ActionDescriptor.ControllerName, id.ToString(), id, "Delete"); objResponse.Message = "Record deleted successfully"; } else { objResponse.Message = "Record not deleted successfully"; } } else { objResponse.Message = "Please click on package"; } return(new JsonResult(new { objResponse })); }
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 })); }
public async Task <JsonResult> SaveUpdate(PackagesModelViewModel packagesModel) { var data = new PackagesDataModel(); var objResponse = new SaveResponse(); string viewFromCurrentController = string.Empty; List <string> lstString = new List <string> { string.Empty }; if (ModelState.IsValid) { try { 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; } var model = new PackagesModel() { AddedDate = DateTime.UtcNow, // Convert.ToDateTime("2020-06-19T18:44:40.633Z"), IsActive = packagesModel.IsActive, ModifiedDate = DateTime.UtcNow, // Convert.ToDateTime("2020-06-19T18:44:40.633Z"), PackageId = packagesModel.PackageId, PackagePrice = packagesModel.PackagePrice, PackageTitle = packagesModel.PackageTitle, ProductIdentifier = packagesModel.ProductIdentifier, SortOrder = packagesModel.SortOrder, TokenCreditsPoint = packagesModel.TokenCreditsPoint }; if (model.PackageId > 0) { data = await ApiClientFactory.Instance.UpdatePackages(token, model); } else { data = await ApiClientFactory.Instance.SavePackages(token, model); } if (data.responseObject != null && data.responseObject.Any()) { viewFromCurrentController = await this.RenderViewToStringAsync("PartialGetPackages", data.responseObject); } objResponse.StatusCode = Convert.ToInt32(data.statusCode); objResponse.Html = viewFromCurrentController; if (Convert.ToInt32(data.statusCode) == 200) { objResponse.Message = "Record saved successfully"; await TrackingInfo.TrackInfo(token, EmployeeId, ControllerContext.ActionDescriptor.ControllerName, model.PackageTitle, model.PackageId, model.PackageId > 0?"Update" : "Save"); } else { objResponse.Message = "Record not saved successfully"; } return(new JsonResult(new { objResponse })); } catch (Exception ex) { string exep = ex.ToString(); } } return(new JsonResult(new List <string>())); }