/// <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); } } }
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); } } }
/// <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")); }
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); }
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)); }
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); } }
/// <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; }
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)); }