Exemplo n.º 1
0
        public ActionResult SitesUser(SiteUsersViewModel viewmodel)
        {
            if (ModelState.IsValid)
            {
                using (Repository SiteRep = new Repository())
                {
                    Utilities utils       = new Utilities();
                    var       siteuserIds = (from usr in SiteRep.Context.SPFS_USERSITES
                                             where usr.SiteID == viewmodel.SiteID
                                             select usr.UserID).ToList();

                    var deleteUsrIds = (from id in siteuserIds
                                        where viewmodel.SelectedUserIDs == null ? true
                                     : !viewmodel.SelectedUserIDs.Contains(id)
                                        select id).ToList();
                    if (viewmodel.SelectedUserIDs != null)
                    {
                        foreach (var userId in viewmodel.SelectedUserIDs)
                        {
                            if (siteuserIds.Contains(userId))
                            {
                                var siteUser = SiteRep.Context.SPFS_USERSITES.FirstOrDefault(usrSite => usrSite.SiteID == viewmodel.SiteID && usrSite.UserID == userId);
                                siteUser.Modified_by   = utils.GetCurrentUser().UserName;
                                siteUser.Modified_date = DateTime.Now;
                            }
                            else
                            {
                                var siteUser = new SPFS_USERSITES()
                                {
                                    SiteID       = viewmodel.SiteID.Value,
                                    UserID       = userId,
                                    Created_by   = utils.GetCurrentUser().UserName,
                                    Created_date = DateTime.Now,
                                };
                                SiteRep.Context.SPFS_USERSITES.Add(siteUser);
                            }
                        }
                    }
                    if (deleteUsrIds != null && deleteUsrIds.Count > 0)
                    {
                        var deleteList = SiteRep.Context.SPFS_USERSITES.Where(ite => deleteUsrIds.Contains(ite.UserID) && ite.UserID == viewmodel.SiteID).AsEnumerable();
                        SiteRep.Context.SPFS_USERSITES.RemoveRange(deleteList);
                    }
                    SiteRep.Context.SaveChanges();

                    return(RedirectToAction("SitesUser", new { userId = viewmodel.SiteID }));
                }
            }
            CreateListViewBags();
            return(View(viewmodel));
        }
Exemplo n.º 2
0
        private SiteUsersViewModel GetUsersModel(int?siteId)
        {
            var viewmodel = new SiteUsersViewModel();

            viewmodel.SiteID = siteId;
            var userIds = new List <int>();

            using (Repository UsrRep = new Repository())
            {
                userIds = (from usr in UsrRep.Context.SPFS_USERSITES
                           where usr.SiteID == siteId
                           select usr.UserID).ToList();
            }
            viewmodel.SelectedUserIDs = userIds;
            return(viewmodel);
        }