Exemplo n.º 1
0
        private List <Entities.UserInRegion> GetListUserInRegion(int regionNum, Application2016.Areas.Admin.Models.ListUserInRegionModel listUir)
        {
            PlaceService placeService           = new PlaceService();
            List <Entities.UserInRegion> result = new List <Entities.UserInRegion>();

            Entities.UserInRegion uir;
            int[] arrCity     = listUir.region_city;
            int[] arrDistrict = listUir.region_district;
            int[] arrWard     = listUir.region_ward;
            for (int i = 0; i < regionNum; i++)
            {
                uir              = new UserInRegion();
                uir.ListCity     = placeService.ListPlaceItemByParent(0);
                uir.ListDistrict = new List <Item>();
                uir.ListWard     = new List <Item>();
                if (arrCity != null)
                {
                    uir.CityId     = arrCity[i];
                    uir.DistrictId = arrDistrict[i];
                    uir.WardId     = arrWard[i];
                    if (arrCity[i] > 0)
                    {
                        uir.ListDistrict = placeService.ListPlaceItemByParent(arrCity[i]);
                    }
                    if (arrDistrict[i] > 0)
                    {
                        uir.ListWard = placeService.ListPlaceItemByParent(arrDistrict[i]);
                    }
                }

                result.Add(uir);
            }
            return(result);
        }
Exemplo n.º 2
0
        private void UpdateRegionAgency(int Id,
                                        Application2016.Areas.Admin.Models.ListUserInRegionModel listRegionSend,
                                        Application2016.Areas.Admin.Models.ListUserInRegionModel listRegionReceive)
        {
            UserInRegionService _service = new UserInRegionService();

            // Cập nhật danh sách vùng gửi.
            _service.DeleteByUser(Id, 1);
            UserInRegion entity = new UserInRegion();

            for (int i = 0; i < listRegionSend.region_ward.Length; i++)
            {
                if (listRegionSend.region_ward[i] > 0)
                {
                    entity            = new UserInRegion();
                    entity.UserId     = Id;
                    entity.RegionId   = _service.GetRegionIdByWard(listRegionSend.region_ward[i]);
                    entity.Status     = true;
                    entity.CityId     = listRegionSend.region_city[i];
                    entity.DistrictId = listRegionSend.region_district[i];
                    entity.WardId     = listRegionSend.region_ward[i];
                    entity.RegionType = 1;
                    _service.Save(entity);
                }
            }

            // Cập nhật danh sách vùng nhận.
            _service.DeleteByUser(Id, 2);
            entity = new UserInRegion();
            for (int i = 0; i < listRegionReceive.region_ward.Length; i++)
            {
                if (listRegionReceive.region_ward[i] > 0)
                {
                    entity            = new UserInRegion();
                    entity.UserId     = Id;
                    entity.RegionId   = _service.GetRegionIdByWard(listRegionReceive.region_ward[i]);
                    entity.Status     = true;
                    entity.CityId     = listRegionReceive.region_city[i];
                    entity.DistrictId = listRegionReceive.region_district[i];
                    entity.WardId     = listRegionReceive.region_ward[i];
                    entity.RegionType = 2;
                    _service.Save(entity);
                }
            }
        }
Exemplo n.º 3
0
        private void UpdateRegionAgency(Models.UserModel model)
        {
            UserInRegionService _service = new UserInRegionService();

            // Cập nhật danh sách vùng gửi.
            _service.DeleteByUser(model.Id, 1);
            UserInRegion entity = new UserInRegion();

            for (int i = 0; i < model.ListUserInRegionSend.region_ward.Length; i++)
            {
                if (model.ListUserInRegionSend.region_ward[i] > 0)
                {
                    entity            = new UserInRegion();
                    entity.UserId     = model.Id;
                    entity.RegionId   = model.ListUserInRegionSend.regionIds[i];
                    entity.Status     = true;
                    entity.CityId     = model.ListUserInRegionSend.region_city[i];
                    entity.DistrictId = model.ListUserInRegionSend.region_district[i];
                    entity.WardId     = model.ListUserInRegionSend.region_ward[i];
                    entity.RegionType = 1;
                    _service.Save(entity);
                }
            }

            // Cập nhật danh sách vùng nhân.
            _service.DeleteByUser(model.Id, 2);
            entity = new UserInRegion();
            for (int i = 0; i < model.ListUserInRegionReceive.region_ward.Length; i++)
            {
                if (model.ListUserInRegionReceive.region_ward[i] > 0)
                {
                    entity            = new UserInRegion();
                    entity.UserId     = model.Id;
                    entity.RegionId   = model.ListUserInRegionReceive.regionIds[i];
                    entity.Status     = true;
                    entity.CityId     = model.ListUserInRegionReceive.region_city[i];
                    entity.DistrictId = model.ListUserInRegionReceive.region_district[i];
                    entity.WardId     = model.ListUserInRegionReceive.region_ward[i];
                    entity.RegionType = 2;
                    _service.Save(entity);
                }
            }
        }
Exemplo n.º 4
0
        public ActionResult List(ListUserModel model, int[] selectedUser)
        {
            try
            {
                if (selectedUser != null)
                {
                    Entities.User              user;
                    Entities.UserInRole        userInRole;
                    List <Entities.UserInRole> lstUserInRoleOld;
                    foreach (int userId in selectedUser)
                    {
                        // Lấy ra thông tin cũ của User.
                        user = userService.GetById(userId);
                        Models.UserModel m = model.lstUser.Where(x => x.Id == userId).FirstOrDefault();

                        user.Status = m.Status;

                        // Cập nhật trạng thái
                        userService.Update(user);

                        // Cập nhật phân quyền người dùng.

                        // Danh sách quyền người dùng mới.
                        int[] arrNewRole = m.NewRoles;
                        // Danh sách quyền người dùng cũ.
                        lstUserInRoleOld = userInRoleService.List(m.Id);

                        // Nếu quyền mới rỗng thì update lại những quyền cũ, đưa về trạng thái false.
                        if (arrNewRole == null)
                        {
                            if (lstUserInRoleOld != null)
                            {
                                foreach (var uir in lstUserInRoleOld)
                                {
                                    uir.State = false;
                                    userInRoleService.Update(uir);
                                }
                            }
                        }
                        else
                        {
                            // Nếu có quyền người dùng mới thì kiểm tra xem quyền đó đã tồn tại chưa.
                            // Nếu tồn tại thì update, chưa tồn tại thì thêm mới.
                            foreach (int newRoleId in arrNewRole)
                            {
                                if (lstUserInRoleOld.Select(x => x.RolesId).Contains(newRoleId))
                                {
                                    userInRole       = lstUserInRoleOld.Where(u => u.RolesId == newRoleId).FirstOrDefault();
                                    userInRole.State = true;
                                    userInRoleService.Update(userInRole);
                                }
                                else
                                {
                                    userInRole         = new UserInRole();
                                    userInRole.RolesId = newRoleId;
                                    userInRole.UserId  = userId;
                                    userInRole.State   = true;
                                    userInRoleService.Insert(userInRole);
                                }
                            }

                            // Cập nhật quyền cho những quyền là quyền cũ nhưng không có trong quyền mới.
                            foreach (var uri in lstUserInRoleOld)
                            {
                                if (!arrNewRole.Contains(uri.RolesId))
                                {
                                    uri.State = false;
                                    userInRoleService.Update(uri);
                                }
                            }

                            // Region Service
                            RegionService regionService = new RegionService();

                            // Xóa đi những vùng gửi cũ.
                            UserInRegionService userInRegionService = new UserInRegionService();
                            userInRegionService.DeleteByUser(userId, 1);
                            // Cập nhật lại danh sách vùng gửi
                            int[] listRegion;
                            if (m.ListUserInRegionSend != null)
                            {
                                listRegion = m.ListUserInRegionSend.regionIds;
                                if (listRegion.Count() > 0)
                                {
                                    UserInRegion userInRegion;
                                    foreach (int regionId in listRegion)
                                    {
                                        userInRegion            = new UserInRegion();
                                        userInRegion.RegionId   = regionId;
                                        userInRegion.UserId     = userId;
                                        userInRegion.Status     = true;
                                        userInRegion.RegionType = 1; // vùng gửi.

                                        // Lấy thông tin tỉnh, huyện theo vùng mới.
                                        var region = regionService.GetById(regionId);
                                        userInRegion.CityId     = region.CityId;
                                        userInRegion.DistrictId = region.DistrictId;

                                        userInRegionService.Save(userInRegion);
                                    }
                                }
                            }
                            // Xóa đi những vùng gửi cũ.
                            userInRegionService.DeleteByUser(userId, 2);
                            // Cập nhật lại danh sách vùng nhận
                            if (m.ListUserInRegionReceive != null)
                            {
                                listRegion = m.ListUserInRegionReceive.regionIds;
                                if (listRegion.Count() > 0)
                                {
                                    UserInRegion userInRegion;
                                    foreach (int regionId in listRegion)
                                    {
                                        userInRegion            = new UserInRegion();
                                        userInRegion.RegionId   = regionId;
                                        userInRegion.UserId     = userId;
                                        userInRegion.Status     = true;
                                        userInRegion.RegionType = 2; // vùng nhận

                                        // Lấy thông tin tỉnh, huyện theo vùng mới.
                                        var region = regionService.GetById(regionId);
                                        userInRegion.CityId     = region.CityId;
                                        userInRegion.DistrictId = region.DistrictId;

                                        userInRegionService.Save(userInRegion);
                                    }
                                }
                            }
                        }
                    }
                }
                TempData[AdminConfigs.TEMP_MESSAGE] = AdminConfigs.MESSAGE_UPDATE_SUCCESS;
            }
            catch
            {
                TempData[AdminConfigs.TEMP_MESSAGE] = AdminConfigs.MESSAGE_UPDATE_ERROR;
            }

            LoadData(ref model);
            return(View(model));
        }