Exemple #1
0
        public async void TestPut()
        {
            using (var client = server.CreateClient().AcceptJson())
            {
                var service = new RegionService();
                var item    = service.GetAll().FirstOrDefault();

                if (item == null)
                {
                    this.TestPost();
                    item = service.GetAll().FirstOrDefault();
                }

                var    itemId = item.Id;
                string unique = (Guid.NewGuid()).ToString();

                item.Name = unique;

                var response = await client.PutAsJsonAsync(string.Format("/api/Regions/{0}", itemId), item);

                var result = await response.Content.ReadAsJsonAsync <Region>();

                item = service.GetById(itemId);

                Assert.True(item.Name.Equals(unique, StringComparison.OrdinalIgnoreCase));
                Assert.Equal((int)response.StatusCode, 200);
            }
        }
        public ActionResult Edit(long id)
        {
            RegionViewModel model = new RegionViewModel();

            model.Region = RegionService.GetById(id);
            model.Cities = CityService.GetAll();
            return(View(model));
        }
Exemple #3
0
        public ActionResult Edit(long id)
        {
            var region = RegionService.GetById(id);
            RegionEditGetViewModel regionEditGetView = new RegionEditGetViewModel();

            regionEditGetView.Region = region;
            regionEditGetView.Cities = CityService.GetAll();
            return(View(regionEditGetView));
        }
Exemple #4
0
        public ActionResult UpdateRegion(int id, int cityId, int districtId)
        {
            ModelState.Clear();
            Models.RegionModel model = new Models.RegionModel();

            model.CityId     = cityId;
            model.DistrictId = districtId;

            if (id > 0)
            {
                model.Id = id;
                var region = regionService.GetById(id);

                // Có thể sẽ kiểm tra hack
                if (cityId != region.CityId || districtId != region.DistrictId)
                {
                    // Trường hợp này sẽ xử lý hacker.
                }
                model.Text       = region.Text;
                model.Status     = region.Status;
                model.NeighborId = region.NeighborId;
            }

            // Lấy danh sách Tỉnh/ Thành phố
            model.ListCity = placeService.ListPlaceItemByParent(0);

            // Lấy danh sách Quận Huyện
            model.ListDistrict = placeService.ListPlaceItemByParent(cityId);

            // Lấy danh sách phường, xã trong vùng
            model.ListWardOfRegion = placeService.ListPlaceItemOfRegion(id);

            // Lấy danh sách phường, xã trong quận
            model.ListWardOfDistrict = placeService.ListPlaceItemByParent(districtId).Except(model.ListWardOfRegion);

            model.ListRegion = regionService.ListItem();

            return(View(model));
        }
Exemple #5
0
        public void Test2()
        {
            RegionService regionSvc = new RegionService();
            var           region    = regionSvc.GetById(1);

            Assert.AreEqual(region.CityName, "北京");
            Assert.AreEqual(region.Name, "海淀区");
            Assert.AreEqual(regionSvc.GetAll(1).Length, 2);

            CommunityService comSvc = new CommunityService();

            Assert.AreEqual(comSvc.GetByRegionId(1).Length, 2);
        }
Exemple #6
0
        public void Test2()
        {
            CityService cityService = new CityService();
            string      cityName    = DateTime.Now.ToFileTimeUtc().ToString();
            long        cityId      = cityService.AddNew(cityName);

            RegionService regionSvc  = new RegionService();
            string        regionName = DateTime.Now.ToFileTimeUtc().ToString();
            long          regionId   = regionSvc.Add(regionName, cityId);
            var           region     = regionSvc.GetById(regionId);

            Assert.AreEqual(region.CityName, cityName);
            Assert.AreEqual(region.Name, regionName);
            Assert.AreEqual(regionSvc.GetAll(cityId).Length, 1);
        }
Exemple #7
0
        public PartialViewResult UpdateRegion(int id, int cityId, int districtId)
        {
            ModelState.Clear();
            Models.RegionModel m = new Models.RegionModel();

            if (id > 0)
            {
                m.Id = id;
                var region = regionService.GetById(id);

                // Có thể sẽ kiểm tra hack
                if (cityId != region.CityId || districtId != region.DistrictId)
                {
                    // Trường hợp này sẽ xử lý hacker.
                }
                m.Text       = region.Text;
                m.Status     = region.Status;
                m.NeighborId = region.NeighborId;
            }

            m.CityId     = cityId;
            m.DistrictId = districtId;

            // Lấy danh sách Tỉnh/ Thành phố
            m.ListCity = placeService.ListPlaceItemByParent(0);

            // Lấy danh sách Quận Huyện
            m.ListDistrict = placeService.ListPlaceItemByParent(cityId);

            // Lấy danh sách phường, xã trong vùng
            m.ListWardOfRegion = placeService.ListPlaceItemOfRegion(id);

            // Lấy danh sách phường, xã trong quận
            m.ListWardOfDistrict = placeService.ListPlaceItemByParent(districtId).Except(m.ListWardOfRegion);

            LoadData();
            ViewBag.ActionForm  = "UpdateRegion";
            ViewBag.SubmitValue = id > 0 ? AdminConfigs.BUTTON_UPDATE : AdminConfigs.BUTTON_ADD;

            ViewBag.DistrictId = districtId;
            ViewBag.CityId     = cityId;

            return(PartialView("index", m));
        }
Exemple #8
0
        public void TestUpdate()
        {
            ConfigurationHelper.Ensure();

            var service = new RegionService();

            var item = service.GetAll().FirstOrDefault();

            if (item == null)
            {
                this.TestAdd();
                item = service.GetAll().FirstOrDefault();
            }

            var    itemId = item.Id;
            string unique = (Guid.NewGuid()).ToString();

            item.Name = unique;
            service.Update(item);

            item = service.GetById(itemId);
            Assert.True(item.Name.Equals(unique, StringComparison.OrdinalIgnoreCase));
        }
Exemple #9
0
        public void UpdateRegionToDB(List <RegionExcel> listRegion)
        {
            // Duyệt danh sách vùng, cập nhật vào database
            RegionService       regionService       = new RegionService();
            PlaceService        placeService        = new PlaceService();
            UserInRegionService userInRegionService = new UserInRegionService();
            List <RegionExcel>  listRegionLast      = listRegion;
            bool isUpdateLast = false;
            int  count        = listRegion.Count;

            for (int i = 0; i < count; i++)
            {
                RegionExcel item = listRegion[i];
                // Xử lý thêm, cập nhật danh sách vùng.
                Entities.Region entity = regionService.GetById(item.Id);
                entity.Text       = item.Text;
                entity.CityId     = item.CityId;
                entity.DistrictId = item.DistrictId;
                entity.Status     = item.Status == 1 ? true : false;
                entity.NeighborId = item.NeighborId;
                if (entity.Id > 0)
                {
                    // Update.
                    regionService.Update(entity);
                }
                else
                {
                    // Insert. lấy lại ID region.
                    entity.Id = regionService.Insert(entity);

                    // Cập nhật lại id vùng.
                    listRegionLast[i].Id = entity.Id;

                    // Cập nhật lại vùng lân cận.

                    listRegionLast.Where(r => r.NeighborId == item.Id).ToList().ForEach(r => r.NeighborId = entity.Id);

                    isUpdateLast = true;
                }

                // Xử lý cập nhật vào bảng Place.
                if (item.ListWard != "")
                {
                    string[] lstWard = item.ListWard.Split(',');
                    foreach (string ward in lstWard)
                    {
                        placeService.UpdateRegion(int.Parse(ward), entity.Id);
                    }
                }

                // Xử lý cập nhật vào bảng UserInRegion
                if (item.ListUser != "")
                {
                    // Lấy danh sách user của vùng cũ.
                    var lstUserOld   = regionService.ListUserItemByRegionId(item.Id);
                    var lstUserIDNew = item.ListUser.Split(',').ToList();
                    if (lstUserOld != null)
                    {
                        // Duyệt, xử lý dữ liệu cũ
                        foreach (var u in lstUserOld)
                        {
                            // Nếu danh sách mới mà không chứa ID user cũ thì xóa user đó đi.
                            // Cũng có thể chọn cách khác là cập nhật trạng thái, chuyển về Status = 0;
                            if (!lstUserIDNew.Contains(u.Id.ToString()))
                            {
                                userInRegionService.DeleteByUser(u.Id);
                            }
                        }
                    }

                    // Cập nhật những user mới.
                    Entities.UserInRegion userInRegion;
                    foreach (var uId in lstUserIDNew)
                    {
                        if (!lstUserOld.Any(x => x.Id.ToString() == uId))
                        {
                            userInRegion          = new Entities.UserInRegion();
                            userInRegion.UserId   = int.Parse(uId);
                            userInRegion.RegionId = entity.Id;
                            userInRegion.Status   = true;
                            userInRegionService.Save(userInRegion);
                            //userInRegionService.Insert(userInRegion);
                        }
                    }
                }
            }

            if (isUpdateLast)
            {
                UpdateRegionToDB(listRegionLast);
            }
        }
Exemple #10
0
        private List <Entities.UserInRegion> GetListUserInRegion(int userId, int regionNum, int type)
        {
            List <Entities.UserInRegion> result = new List <Entities.UserInRegion>();

            Entities.UserInRegion model         = new Entities.UserInRegion();
            UserInRegionService   _service      = new UserInRegionService();
            PlaceService          placeService  = new PlaceService();
            RegionService         regionService = new RegionService();

            // Lấy danh sách vùng theo người dùng và kiểu vùng.
            var lst = _service.GetListByUser(userId, type);

            if (lst != null && lst.Count > 0)
            {
                foreach (Entities.UserInRegion e in lst)
                {
                    model = new Entities.UserInRegion();

                    model.CityId     = e.CityId;
                    model.DistrictId = e.DistrictId;
                    model.WardId     = e.WardId;
                    model.UserId     = e.UserId;
                    model.RegionId   = e.RegionId;

                    model.ListCity = placeService.ListPlaceItemByParent(0);

                    if (model.CityId > 0)
                    {
                        model.ListDistrict = placeService.ListPlaceItemByParent(model.CityId);
                    }
                    else
                    {
                        model.ListDistrict = new List <Entities.Item>();
                    }

                    if (model.DistrictId > 0)
                    {
                        model.ListWard = placeService.ListPlaceItemByParent(model.DistrictId);
                    }
                    else
                    {
                        model.ListWard = new List <Entities.Item>();
                    }

                    if (model.RegionId > 0)
                    {
                        model.RegionText = regionService.GetById(model.RegionId).Text;
                    }

                    result.Add(model);
                }
            }

            if (lst.Count < regionNum)
            {
                int addMore = regionNum - lst.Count;
                for (int i = 0; i < addMore; i++)
                {
                    model            = new Entities.UserInRegion();
                    model.CityId     = -1;
                    model.DistrictId = -1;
                    model.WardId     = -1;
                    model.RegionId   = -1;
                    model.RegionText = "";

                    model.ListCity     = placeService.ListPlaceItemByParent(0);
                    model.ListDistrict = new List <Entities.Item>();
                    model.ListWard     = new List <Entities.Item>();

                    result.Add(model);
                }
            }

            return(result);
        }
Exemple #11
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));
        }