public async Task <IActionResult> GetBranchReference([FromBody] SearchBranchModel search) { var user = await _context.Users.Include(i => i.Branch).FirstOrDefaultAsync(x => x.Id == search.UserId); if (user != null) { var listBranchRef = new List <BranchModel>(); if (!string.IsNullOrEmpty(user.OrgReference)) { if (user.OrgReference == "b_000") { var allBranch = new BranchModel(); allBranch.OrgAddonCode = "b_000"; allBranch.OrgCode = "b_000"; allBranch.OrgName = "All Branch"; listBranchRef.Add(allBranch); } else { var listRef = user.OrgReference.Split(',').ToList(); listBranchRef = _context.AdOrganizations.Where(x => x.OrgGroup.HasValue && x.OrgGroup.Value == 2 && listRef.Any(y => y == x.OrgAddonCode)) .Select(x => new BranchModel { OrgAddonCode = x.OrgAddonCode, OrgCode = x.OrgCode, OrgName = string.Format("{0} - {1}", x.OrgCode, x.OrgName) }).ToList(); } } var result = new { MainBranch = user.Branch != null?string.Format("{0} - {1}", user.Branch.OrgCode, user.Branch.OrgName) : "", ListBranchRef = listBranchRef, }; return(Json(result)); } return(Json("[]")); }
public async Task <IActionResult> UpdateBranchReference([FromBody] SearchBranchModel search) { var msg = new JMessage() { Error = false }; try { var user = await _context.Users.FirstOrDefaultAsync(x => x.Id == search.UserId); if (user != null) { var oldBranchRef = user.OrgReference; user.OrgReference = search.ListBranch.Count > 0 ? string.Join(",", search.ListBranch) : ""; user.UpdatedDate = DateTime.Now; user.UpdatedBy = ESEIM.AppContext.UserName; _context.Update(user); await _context.SaveChangesAsync(); msg.Title = string.Format(CommonUtil.ResourceValue("MSG_UPDATE_SUCCESS"), CommonUtil.ResourceValue("BRANCH").ToLower()); _actionLog.InsertActionLog("ASP_NET_USERS", "Update success branch reference of user: "******"Update"); } else { msg.Error = true; msg.Title = string.Format(CommonUtil.ResourceValue("NOT_EXIST_ITEM"), CommonUtil.ResourceValue("USER").ToLower()); } } catch (Exception e) { msg.Error = true; msg.Title = "An error occurred while update"; _actionLog.InsertActionLog("ASP_NET_USERS", "Update failed branch reference of user", null, null, "Error"); } return(Json(msg)); }
public async Task <IActionResult> GetAllBranch([FromBody] SearchBranchModel search) { if (search.OnlySelected) { var listRef = new List <string>(); //var user = await _context.Users.Include(i => i.Branch).FirstOrDefaultAsync(x => x.Id == search.UserId); //if (user != null && !string.IsNullOrEmpty(user.OrgReference)) //{ // listRef = user.OrgReference.Split(',').ToList(); //} var userInGroup = await _context.AdUserInGroups.FirstOrDefaultAsync(x => x.ApplicationCode == search.AppCode && x.UserId == search.UserId); if (!string.IsNullOrEmpty(userInGroup?.BranchReference)) { listRef = userInGroup.BranchReference.Split(',').ToList(); } return(Json(listRef)); } else { var listRef = new List <string>(); var user = await _context.Users.Include(i => i.Branch).FirstOrDefaultAsync(x => x.Id == search.UserId); if (user != null && !string.IsNullOrEmpty(user.OrgReference)) { listRef = user.OrgReference.Split(',').ToList(); } //var data = _context.VIBOrganizations // .Where(x => x.OrgGroup.HasValue && x.OrgGroup.Value == 2)//&& (string.IsNullOrEmpty(search.Name) || x.OrgCode.ToLower().Contains(search.Name) || x.OrgName.ToLower().Contains(search.Name))) // //.OrderBy(x => x.OrgName) // .Select(x => new // { // OrgAddonCode = x.OrgAddonCode, // OrgCode = x.OrgCode, // OrgName = x.OrgName, // BranchName = string.Format("{0} - {1}", x.OrgCode, x.OrgName), // IsChecked = listRef.Any(y => y == x.OrgAddonCode) // }); var allBranch = new OrganizationModel { OrgId = 0, OrgAddonCode = "b_000", OrgCode = "b_000", OrgName = "All Branch", OrgParentCode = null, OrgGroup = 4, Ord = 0, Company = "HO", Division = null, DisabledCheck = false, IsMain = false, }; var query = from x in _context.AdOrganizations join gvd in _context.AdDivisions on x.Division equals gvd.Division into grp1 from vd in grp1.DefaultIfEmpty() where (x.OrgGroup.HasValue && x.OrgGroup.Value == 2 && x.IsEnabled) //&& (string.IsNullOrEmpty(jTablePara.Name) || x.OrgName.ToLower().Contains(jTablePara.Name.ToLower()) || x.OrgCode.ToLower().Contains(jTablePara.Name.ToLower())) select new OrganizationModel { OrgId = x.OrgId, OrgAddonCode = x.OrgAddonCode, OrgCode = x.OrgCode, OrgName = string.Format("{0} - {1}", x.OrgCode, x.OrgName), OrgParentCode = x.Division == null ? null : string.Format("d_{0}", x.Division), OrgGroup = x.OrgGroup, Ord = x.Company == "HO" && x.Division == null ? 2 : x.Company == "DIV" ? 3 : x.Company == "BRA" ? 4 : 5, Company = x.Company, Division = vd == null ? "" : vd.DivisionDesc, DisabledCheck = false, IsMain = false, }; var queryDivision = from vd in _context.AdDivisions select new OrganizationModel { OrgId = 0, OrgAddonCode = string.Format("d_{0}", vd.Division), OrgCode = vd.Division, OrgName = string.Format("{0} - {1}", vd.Division, vd.DivisionDesc), OrgParentCode = "b_000", OrgGroup = 2, Ord = 1, Company = "DIV", Division = vd.Division, DisabledCheck = true, IsMain = false, }; var data = query.Union(queryDivision).OrderBy(x => x.Ord).ThenBy(o => o.OrgAddonCode).AsNoTracking().ToList(); data.Insert(0, allBranch); var result = data.Select(x => new { OrgAddonCode = x.OrgAddonCode, OrgCode = x.OrgCode, OrgName = x.OrgName, OrgParentCode = x.OrgParentCode, Ord = x.Ord, DisabledCheck = x.DisabledCheck, IsMain = x.IsMain, IsChecked = listRef.Any(y => y == x.OrgAddonCode) || (listRef.Count > 0 && listRef[0] == "b_000") }).ToList(); return(Json(result)); } }