Example #1
0
        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("[]"));
        }
Example #2
0
        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));
        }
Example #3
0
        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));
            }
        }