public ActionResult EditUserDetail(string UserId) { DataCollectionModelDataContext db = new DataCollectionModelDataContext(); RankUserViewModel rankUserViewModel = new RankUserViewModel(); RankUser RankUser = db.RankUsers.Where(a => a.UserID == UserId).FirstOrDefault(); rankUserViewModel.RankUser = FormCommonMethods.ToEntityRankUserMap(RankUser); rankUserViewModel.MenuList = (from post in db.UserMenus join menu in db.MenuIDs on post.MenuID equals menu.MenuID1 where post.UserID == UserId select menu.MenuID1).ToArray(); rankUserViewModel.MenuDDLList = db.MenuIDs.Where(a => !(a.IsAdminMenu ?? false)).Select(i => new SelectListItem() { Text = i.MenuDetails, Value = i.MenuID1, Selected = rankUserViewModel.MenuList.Contains(i.MenuID1) }).AsEnumerable(); rankUserViewModel.UserRoleDDLList = db.UserRoles.Select(i => new SelectListItem() { Text = i.UserRoleDetails, Value = i.UserRole1 }).AsEnumerable(); rankUserViewModel.UserWorkDDLList = db.UserWorks.Select(i => new SelectListItem() { Text = i.UserWorkDetails, Value = i.UserWork1 }).AsEnumerable(); rankUserViewModel.DeptDDLList = db.Depts.Select(i => new SelectListItem() { Text = i.DeptName, Value = i.DeptID }).AsEnumerable(); return(PartialView("EditUserPartial", rankUserViewModel)); }
public ActionResult UpdateUserDetail(RankUserViewModel rankUserViewModel, string[] MenuList) { bool Status = false; DataCollectionModelDataContext db = new DataCollectionModelDataContext(); RankUser rankUser = db.RankUsers.Where(a => a.UserID == rankUserViewModel.RankUser.UserID).FirstOrDefault(); if (rankUser != null) { rankUser.DeptID = rankUserViewModel.RankUser.DeptID; rankUser.UserDisabledOn = Convert.ToString(rankUserViewModel.RankUser.UserValid) == "N" ? DateTime.Now : (DateTime?)null; rankUser.UserEmail = rankUserViewModel.RankUser.UserEmail; rankUser.UserEmpNo = rankUserViewModel.RankUser.UserEmpNo; rankUser.UserMob = rankUserViewModel.RankUser.UserMob; rankUser.UserName = rankUserViewModel.RankUser.UserName; rankUser.UserRole = rankUserViewModel.RankUser.UserRole; rankUser.UserValid = Convert.ToChar(rankUserViewModel.RankUser.UserValid ?? null); rankUser.UserWork = rankUserViewModel.RankUser.UserWork; db.Connection.Open(); using (db.Transaction = db.Connection.BeginTransaction()) { try { IEnumerable <UserMenu> userMenu = db.UserMenus.Where(a => a.UserID == rankUserViewModel.RankUser.UserID).ToList(); if (userMenu != null) { var sa = userMenu.Where(a => !MenuList.Contains(a.MenuID)).ToList(); if (sa.Any()) { db.UserMenus.DeleteAllOnSubmit(sa); } } List <UserMenu> userMenuList = new List <UserMenu>(); foreach (string item in MenuList) { var sa = userMenu.Where(a => a.MenuID == item).FirstOrDefault(); if (sa == null) { UserMenu menu = new UserMenu(); menu.MenuID = item; menu.UserID = rankUserViewModel.RankUser.UserID; userMenuList.Add(menu); } } if (userMenuList.Any()) { db.UserMenus.InsertAllOnSubmit(userMenuList); } db.SubmitChanges(); db.Transaction.Commit(); Status = true; ViewBag.Message = "User Updated Successfully."; ViewBag.Status = true; try { if (rankUserViewModel.RankUser.UserValid == "Y") { string body = "Dear " + rankUserViewModel.RankUser.UserName + ",<br /> You have been authorised by admin now. You can access the system by logging in. <br /><br /> Admin <br /> IRD SRIC"; FormServices formServices = new FormServices(); body = body.Replace("\r\n", "<br />"); string subject = "User Authorised by Admin, IRD-SRIC, IITR"; formServices.SendEmail(rankUserViewModel.RankUser.UserEmail, "", subject, body); } } catch (Exception ex) { } } catch (Exception ex) { db.Transaction.Rollback(); ViewBag.Message = "Failed To Updated User. Error: " + ex.Message; ViewBag.Status = false; } } } return(Json(new { success = Status })); }