public ActionResult Index(UserSitesViewModel viewModel) { if (ModelState.IsValid) { using (Repository UserRep = new Repository()) { Utilities utils = new Utilities(); var usersiteIds = (from usr in UserRep.Context.SPFS_USERSITES where usr.UserID == viewModel.UserID select usr.SiteID).ToList(); var deleteIds = (from id in usersiteIds where viewModel.SelectedSiteIDs == null ? true : !viewModel.SelectedSiteIDs.Contains(id) select id).ToList(); if (viewModel.SelectedSiteIDs != null) { foreach (var siteId in viewModel.SelectedSiteIDs) { if (usersiteIds.Contains(siteId)) { var userSite = UserRep.Context.SPFS_USERSITES.FirstOrDefault(usrSite => usrSite.UserID == viewModel.UserID && usrSite.SiteID == siteId); userSite.Modified_by = utils.GetCurrentUser().UserName; userSite.Modified_date = DateTime.Now; } else { var userSite = new SPFS_USERSITES() { UserID = viewModel.UserID.Value, SiteID = siteId, Created_by = utils.GetCurrentUser().UserName, Created_date = DateTime.Now, }; UserRep.Context.SPFS_USERSITES.Add(userSite); } } } if (deleteIds != null && deleteIds.Count > 0) { var deleteList = UserRep.Context.SPFS_USERSITES.Where(ite => deleteIds.Contains(ite.SiteID) && ite.UserID == viewModel.UserID).AsEnumerable(); UserRep.Context.SPFS_USERSITES.RemoveRange(deleteList); } UserRep.Context.SaveChanges(); return(RedirectToAction("Index", new { userId = viewModel.UserID })); } } CreateListViewBags(); return(View(viewModel)); }
public PutSchoolsInformationRequest() { AdmSites = new List <AdmSiteModel>(); InvSiteType = new List <InvSiteType>(); AdmManagementLevel = new List <AdmManagementLevel>(); States = new List <AdmState>(); SiteServingPeriods = new List <SchoolSiteServingPeriod>(); ParentAdmSiteList = new List <AdmSite>(); UserSiteModel = new UserSitesViewModel(); GradeTransfer = new List <GradeTransfer>(); ServingSites = new List <ServingSites>(); SiteOptions = new SiteOptionsModel(); MenAgeGroups = new List <MenAgeGroups>(); SchoolServingPeriod = new List <SchoolServingPeriod>(); }
private UserSitesViewModel GetSitesModel(int?userId) { var viewModel = new UserSitesViewModel(); viewModel.UserID = userId; var siteIds = new List <int>(); using (Repository SteRep = new Repository()) { siteIds = (from sit in SteRep.Context.SPFS_USERSITES where sit.UserID == userId select sit.SiteID).ToList(); } viewModel.SelectedSiteIDs = siteIds; return(viewModel); }