Ejemplo n.º 1
0
        public async Task <ActionResult> RegisterUser(UserViewModels model)
        {
            if (ModelState.IsValid)
            {
                int PasswordExpiryDate = int.Parse(ConfigurationHandler.GetAppSettingsValue("PasswordExpiryDateRange"));
                model.PasswordExpiryDate = DateTime.Now.AddDays(PasswordExpiryDate);


                var user = new ApplicationUser
                {
                    UserName           = model.UserName,
                    Email              = model.Email,
                    Employee_Id        = model.Employee_Id,
                    PasswordExpiryDate = model.PasswordExpiryDate,
                    Defaultbranch_Id   = model.Defaultbranch_Id,
                    IsActive           = true,
                    Created_User_Id    = CurrentUser.Id,
                    //Created_User_Id = 1,
                    Created_Branch_Id = CurrentBranchId,
                    Created_Date      = DateTime.Now,
                    // Modified_User_Id = CurrentUser.Id,
                    //Modified_User_Id = 2,
                    //  Modified_Branch_Id = 2,
                    // Modified_Date = DateTime.Now
                };



                ApplicationUserRole userrole = new ApplicationUserRole();
                userrole.RoleId            = model.Role_Id;
                userrole.Created_User_Id   = CurrentUser.Id;
                userrole.Created_Branch_Id = CurrentBranchId;
                userrole.Created_Date      = DateTime.Now;
                user.Roles.Add(userrole);

                var result = await _userManager.CreateAsync(user, model.Password);

                int userId = user.Id;
                if (result.Succeeded)
                {
                    List <UserBranches> userBranches = new List <UserBranches>();
                    foreach (string selectedBranch in model.SubmittedBranches)
                    {
                        int branchId = 0;
                        if (int.TryParse(selectedBranch, out branchId))
                        {
                            UserBranches userbranch = new UserBranches()
                            {
                                Branch_Id         = branchId,
                                User_Id           = userId,
                                Created_User_Id   = CurrentUser.Id,
                                Created_Branch_Id = CurrentBranchId,
                                Created_Date      = DateTime.Now,
                                // Modified_User_Id = CurrentUser.Id,
                                // Modified_Branch_Id = CurrentBranchId,
                                // Modified_Date = DateTime.Now
                            };
                            userBranches.Add(userbranch);
                        }
                    }
                    string errorMsg = string.Empty;
                    int    Id       = user.Id;
                    if (userDb.SaveUserBranches(userBranches, Id, ref errorMsg))
                    {
                        return(RedirectToAction("Index", "User"));
                    }
                    else
                    {
                        ViewBag.AppErrorMessage = errorMsg;
                        return(View("Error"));
                    }
                }
                else
                {
                    AddErrors(result);
                }
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }