Exemple #1
0
        /// <summary>
        /// Lấy danh sách user theo role
        /// </summary>
        /// <param name="roleId">Role ID</param>
        /// <returns>List user</returns>
        public JsonResult ListUserByRole(int roleId, int regionId, bool isAgency = false, bool getItem = false)
        {
            if (getItem)
            {
                List <Entities.Item> lstUserByRole = !isAgency?userService.ListItemByRoleId(roleId) : userService.ListAgency();

                RoleService roleService = new RoleService();
                if (roleService.CheckRoleAgency(roleId))
                {
                    if (regionId > 0)
                    {
                        UserInRegionService uirService      = new UserInRegionService();
                        List <int>          lstUserByRegion = new List <int>();
                        lstUserByRegion = uirService.ListUserIdByRegion(regionId);
                        lstUserByRole   = lstUserByRole.Where(x => lstUserByRegion.Contains(x.Id)).ToList();
                    }
                }
                return(Json(lstUserByRole));
            }
            else
            {
                var result = userService.ListUserItemByRoleId(roleId);
                return(Json(result));
            }
        }
        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);
                }
            }
        }
Exemple #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);
                }
            }
        }
Exemple #4
0
        /// <summary> Danh sách sản phẩm nhận bán
        /// </summary>
        /// <returns></returns>
        public ActionResult ProductReceiveSelling(int userId = 0, int viewType = 0)
        {
            if (userId == 0)
            {
                userId = int.Parse(CookieHelper.Get(AdminConfigs.COOKIES_USER_ID));
            }

            // Get Product Receive selling
            ViewBag.ActionSubMenu = "ProductReceiveSelling";

            // Lấy vùng của người dùng.
            UserInRegionService          userInRegionService = new UserInRegionService();
            List <Entities.UserInRegion> lst = userInRegionService.GetListByUser(userId);

            int[] regionIds = lst.Where(x => x.Status).Select(x => x.RegionId).ToArray();

            // Lấy ID sản phẩm chứa vùng.
            List <int> listProductId = productService.ListProductByRegions(regionIds);

            List <Entities.Product> lstEntity = productService.GetByIds(listProductId);
            int totalRecord = 0;

            // Add list product
            ViewBag.ListProduct = lstEntity;
            ViewBag.NumberItem  = lstEntity.Count;
            totalRecord         = lstEntity.Count;

            // Get Max of role by user.
            RoleService roleService = new RoleService();

            Entities.Role maxRole = roleService.GetMaxRolesOfUser(userId);
            ViewBag.MaxRole = maxRole;

            Paging(Page, totalRecord);
            ViewBag.BoxTitle = "Danh sách nhà nhận bán";
            if (viewType == 1)
            {
                return(PartialView("ListProduct2"));
            }
            return(PartialView("Index"));
        }
Exemple #5
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);
            }
        }
        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 #7
0
        public ActionResult UpdateUser(Models.RegionUserModel model)
        {
            if (ModelState.IsValid)
            {
                // Cập nhật vào bảng userInRegion
                UserInRegionService userInRegionService = new UserInRegionService();
                var lstUserIDNew = model.UserOfRegionIds;
                // Bỏ những user trong vùng cũ (nếu không còn trong danh sách mới)

                // Lấy danh sách user của vùng cũ.
                var lstUserOld = regionService.ListUserItemByRegionId(model.Id);
                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))
                        {
                            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 == uId))
                    {
                        userInRegion          = new Entities.UserInRegion();
                        userInRegion.UserId   = uId;
                        userInRegion.RegionId = model.Id;
                        userInRegion.Status   = true;
                        //userInRegionService.Insert(userInRegion);
                        userInRegionService.Save(userInRegion);
                    }
                }
                TempData[AdminConfigs.TEMP_MESSAGE]  = AdminConfigs.MESSAGE_UPDATE_SUCCESS;
                TempData[AdminConfigs.TEMP_REDIRECT] = @Url.Action("Index2", "Region");
            }
            else
            {
                var errors = ModelState.Select(x => x.Value.Errors)
                             .Where(y => y.Count > 0)
                             .ToList();
                TempData[AdminConfigs.TEMP_MESSAGE] = AdminConfigs.MESSAGE_UPDATE_ERROR;
            }
            // Get List Role
            RoleService roleService = new RoleService();

            model.ListRole = roleService.ListAgency();
            model.ListRole.Insert(0, new Entities.Item()
            {
                Id = 0, Text = "Chọn loại môi giới"
            });

            // Lấy danh sách user của region
            //m.ListUserOfRegion = regionService.ListUserItemByRegionId(id);
            model.ListUserOfRegion = userService.ListAgencyByRegion(model.RoleId);
            // lấy danh sách user
            //m.ListUsers = userService.ListUserItemByRoleId(-1);
            model.ListUsers = userService.ListAgency();

            ViewBag.ActionForm = "UpdateUser";

            return(View(model));
        }
Exemple #8
0
        private void LoadDataPersonalInfo(int Id, ref Models.UserModel m, bool init = true)
        {
            PlaceService placeService = new PlaceService();

            // Lấy thông tin người dùng.
            Entities.User user = userService.GetById(Id);
            if (user != null)
            {
                m.MapFrom(user, ref m);
            }

            // Lấy danh sách tỉnh, huyện, xã ,..
            // Lấy danh sách tỉnh.
            m.ward.ListCity = placeService.ListPlaceItemByParent(0);
            Entities.Place place = new Entities.Place();
            if (user.PlaceId != null)
            {
                // Lấy thông tin xã, phường.
                place = placeService.GetById((int)user.PlaceId);
                if (place != null)
                {
                    // Lấy ID quận, huyện.
                    m.ward.Parent = place.Parent;

                    // Lấy thông tin quận, huyện
                    place = placeService.GetById(m.ward.Parent);

                    // Lấy ID tỉnh, thành phố.
                    m.ward.CityId = place.Parent;

                    // Lấy ID xã phường
                    m.ward.Id = (int)user.PlaceId;
                }
            }
            else
            {
                m.ward.CityId = -1;
                m.ward.Parent = -1;
                m.ward.Id     = -1;
                m.PlaceId     = -1;
            }

            // Lấy danh sách quận huyện.
            if (m.ward.CityId > 0)
            {
                m.ward.ListDistrict = placeService.ListPlaceItemByParent(m.ward.CityId);
            }
            else
            {
                m.ward.ListDistrict = new List <Entities.Item>();
            }

            // Lấy danh sách xã phường.
            if (m.ward.Parent > 0)
            {
                m.ward.ListWard = placeService.ListPlaceItemByParent(m.ward.Parent);
            }
            else
            {
                m.ward.ListWard = new List <Entities.Item>();
            }

            // Lấy thông tin phân vùng gửi (type = 1 - default)
            UserInRegionService userInRegionService = new UserInRegionService();

            m.ListUserInRegionSend          = new ListUserInRegionModel();
            m.ListUserInRegionSend.ListItem = userInRegionService.GetListItemByUser(user.Id);

            // Lấy thông tin vùng nhận (type = 2)
            m.ListUserInRegionReceive          = new ListUserInRegionModel();
            m.ListUserInRegionReceive.ListItem = userInRegionService.GetListItemByUser(user.Id, 2);

            // Lấy thông tin quyền hạn
            m.UserRoles = userInRoleService.GetByUser(user.Id);

            // Lấy thông tin khởi tạo
            if (init)
            {
                InitAccountInfo(m.Id.ToString(), m.UserName, m.Avatar);
            }
        }
Exemple #9
0
        /// <summary>
        /// Xử lý load dữ liệu vào trang index và các trang sử dụng index.
        /// </summary>
        /// <param name="userModels"></param>
        private void LoadData(ref ListUserModel userModels)
        {
            List <Models.UserModel> lstUser = new List <Models.UserModel>();

            Models.UserModel m;

            int totalRecord = 0;
            List <Entities.User> lstEntity  = new List <User>();
            UserCondition        conditions = userModels.Condition != null ? userModels.Condition : new UserCondition();

            lstEntity = userService.List(conditions.RegionId, conditions.RoleId, conditions.SearchText, conditions.Page, pageSize, out totalRecord);

            if (lstEntity.Count > 0)
            {
                userModels.Id = 1;
                foreach (Entities.User e in lstEntity)
                {
                    m = new Models.UserModel();
                    m.MapFrom(e, ref m);
                    lstUser.Add(m);
                }
            }
            // Add paramater
            ViewBag.NumberItem = lstEntity.Count;

            // Paging
            ViewBag.query = Query;
            Paging(conditions.Page, totalRecord);

            userModels.lstUser = lstUser;

            // Get List Role
            List <Entities.Item> lstItem;

            // Get List Region
            UserInRegionService userInRegionService = new UserInRegionService();

            foreach (var user in userModels.lstUser)
            {
                lstItem                               = roleService.ListItem();
                user.ListRole                         = lstItem;
                user.ListUserInRegionSend             = new ListUserInRegionModel();
                user.ListUserInRegionSend.ListItem    = userInRegionService.GetListItemByUser(user.Id);
                user.ListUserInRegionReceive          = new ListUserInRegionModel();
                user.ListUserInRegionReceive.ListItem = userInRegionService.GetListItemByUser(user.Id, 2);
            }


            // Get list regions.
            RegionService regionService = new RegionService();

            lstItem = null;
            lstItem = regionService.ListItemActive();
            lstItem.Insert(0, new Item {
                Text = "-- Chọn vùng --", Id = -1
            });
            userModels.ListAllRegion = lstItem;

            // Get list role.
            lstItem = null;
            lstItem = roleService.ListItem();
            lstItem.Insert(0, new Item {
                Text = "-- Chọn quyền --", Id = -1
            });
            userModels.ListRole  = lstItem;
            userModels.Condition = conditions;
        }
Exemple #10
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));
        }