Esempio n. 1
0
        //[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
            }));
        }
Esempio n. 2
0
        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
            }));
        }
Esempio n. 3
0
        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>()));
        }