public void AddToCust_User_Mapping(CustomerUserMapping model)
 {
     using (var db = new DBContext())
     {
         try
         {
             if (ModelState.IsValid)
             {
                 db.Entry(model).State = EntityState.Added;
                 db.SaveChanges();
             }
         }
         catch (Exception e)
         {
             ExceptionHandler handler = new ExceptionHandler();
             handler.HandleException(e);
         }
     }
 }
示例#2
0
        public ActionResult Create(UserProfile UserProfile, webpages_UsersInRoles webpages_UsersInRoles)
        {
            var db = new DBContext();

            try
            {
                //Check Authorization
                string roleName = System.Web.Security.Roles.GetRolesForUser().Single();
                if (roleName.ToUpper() == "USER")
                {
                    return(RedirectToAction("login", "account"));
                }

                if (ModelState.IsValid)
                {
                    if (oUserAPI.CntDuplicateUserName(UserProfile.UserName, UserProfile.UserId) > 0)
                    {
                        ModelState.AddModelError("", "The user name already exists.");
                        TempData["Name"] = "The user name is already exists.";
                        ViewBag.RoleId   = new SelectList(db.tbl_webpages_Roles, "RoleId", "RoleName");
                        return(View(UserProfile));
                    }
                    else if (Convert.ToString(UserProfile.Password).Trim().Length < 6)
                    {
                        ModelState.AddModelError("", "Password should be atleast 6 characters.");
                        TempData["Name"] = "Password should be atleast 6 characters.";
                        ViewBag.RoleId   = new SelectList(db.tbl_webpages_Roles, "RoleId", "RoleName");
                        return(View(UserProfile));
                    }
                    else if (Convert.ToString(UserProfile.Password).Trim() != Convert.ToString(UserProfile.ComfirmPassword).Trim())
                    {
                        ModelState.AddModelError("", "Password & Confirm Password should be same.");
                        TempData["Name"] = "Password & Confirm Password should be same.";
                        ViewBag.RoleId   = new SelectList(db.tbl_webpages_Roles, "RoleId", "RoleName");
                        return(View(UserProfile));
                    }
                    else
                    {
                        var userName = Convert.ToString(UserProfile.UserName).Trim();
                        var password = Convert.ToString(UserProfile.Password).Trim();
                        var RoleId   = Convert.ToInt32(UserProfile.RoleId);
                        var role     = System.Web.Security.Roles.GetRolesForUser().Single();
                        if (role == "Admin")
                        {
                            RoleId = 1;
                        }
                        else
                        {
                            RoleId = 3;
                        }
                        oUserAPI.CreateUserAndAccount(userName, password);
                        string         RoleName = string.Empty;
                        webpages_Roles r        = db.tbl_webpages_Roles.Find(RoleId);
                        RoleName = r.RoleName;
                        if (Convert.ToInt16(RoleId) == 1)
                        {
                            RoleName = "Admin";
                        }
                        else
                        {
                            RoleName = "User";
                        }
                        oUserAPI.AddUserToRoles(userName, RoleName);
                        CustomerUserMapping model = new CustomerUserMapping();
                        model.CustomerId = Utility.GetCustomerId();
                        //model.CustomerId = oUserAPI.GetUserIDByName(System.Web.HttpContext.Current.User.Identity.Name);
                        model.MembershipId = oUserAPI.GetUserIDByName(userName);


                        oUserAPI.AddToCust_User_Mapping(model);
                        return(RedirectToAction("Index"));
                    }
                }
            }
            catch (Exception e)
            {
                ExceptionHandler handler = new ExceptionHandler();
                handler.HandleException(e);
            }
            //return RedirectToAction("Index");
            ViewBag.RoleId = new SelectList(db.tbl_webpages_Roles, "RoleId", "RoleName");
            return(View(UserProfile));
        }