public ActionResult SearchGroupAssign(GroupAssignSearchFilter searchFilter) { Logger.Info(_logMsg.Clear().SetPrefixMsg("User Monitoring :: Search GroupAssign").ToInputLogString()); try { if (ModelState.IsValid) { _userMonitoringFacade = new UserMonitoringFacade(); var viewModel = new SearchGroupAssignViewModel(); viewModel.SearchFilter = searchFilter; viewModel.ResultList = _userMonitoringFacade.SearchGroupAssign(searchFilter); ViewBag.PageSize = viewModel.SearchFilter.PageSize; Logger.Info(_logMsg.Clear().SetPrefixMsg("User Monitoring :: Search GroupAssign").ToSuccessLogString()); return(PartialView("~/Views/UserMonitoring/_SearchGroupAssign.cshtml", viewModel)); } return(Json(new { Valid = false, Error = string.Empty, Errors = GetModelValidationErrors() })); } catch (Exception ex) { Logger.Error("Exception occur:\n", ex); Logger.Info(_logMsg.Clear().SetPrefixMsg("User Monitoring :: Search GroupAssign").Add("Error Message", ex.Message).ToFailLogString()); return(Error(new HandleErrorInfo(ex, this.ControllerContext.RouteData.Values["controller"].ToString(), this.ControllerContext.RouteData.Values["action"].ToString()))); } }
public List <GroupAssignEntity> SearchGroupAssign(GroupAssignSearchFilter searchFilter) { //var branchIds = searchFilter.BranchIds.Split(',').Select(Int32.Parse).ToList(); var ignoreStatusList = new int?[] { Constants.SRStatusId.Cancelled, Constants.SRStatusId.Closed }; var branchIds = StringHelpers.ConvertStringToList(searchFilter.BranchIds, ',').Select(x => Int32.Parse((string)x)).ToList(); var fromDate = searchFilter.AssignDateFromValue.HasValue ? searchFilter.AssignDateFromValue.Value.Date : new Nullable <DateTime>(); var toDate = searchFilter.AssignDateToValue.HasValue ? searchFilter.AssignDateToValue.Value.Date : new Nullable <DateTime>(); var query = from branch in _context.TB_R_BRANCH from dummyUser in _context.TB_R_USER.Where(x => x.BRANCH_ID.HasValue && x.BRANCH_ID.Value == branch.BRANCH_ID && (x.IS_GROUP ?? false)).OrderByDescending(x => x.EMAIL).Take(1).DefaultIfEmpty() where branchIds.Contains(branch.BRANCH_ID) && branch.STATUS == 1 select new GroupAssignEntity { BranchId = branch.BRANCH_ID, BranchCode = branch.BRANCH_CODE, BranchName = branch.BRANCH_NAME, Email = dummyUser != null ? dummyUser.EMAIL : string.Empty, OwnerSrList = (from sr in _context.TB_T_SR where sr.OWNER_USER_ID.HasValue && _context.TB_R_USER.Where(x => (x.IS_GROUP ?? false) && x.BRANCH_ID == branch.BRANCH_ID).Select(x => x.USER_ID).Contains(sr.OWNER_USER_ID.Value) && (!searchFilter.ProductId.HasValue || sr.PRODUCT_ID == searchFilter.ProductId.Value) && (!searchFilter.CampaignServiceId.HasValue || sr.CAMPAIGNSERVICE_ID == searchFilter.CampaignServiceId.Value) && (!searchFilter.AreaId.HasValue || sr.AREA_ID == searchFilter.AreaId.Value) && (!searchFilter.SubAreaId.HasValue || sr.SUBAREA_ID == searchFilter.SubAreaId.Value) && (!fromDate.HasValue || EntityFunctions.TruncateTime(sr.CREATE_DATE.Value) >= fromDate.Value) && (!toDate.HasValue || EntityFunctions.TruncateTime(sr.CREATE_DATE.Value) <= toDate.Value) //&& sr.SR_STATUS_ID != Constants.SRStatusId.Cancelled //&& sr.SR_STATUS_ID != Constants.SRStatusId.Closed && !ignoreStatusList.Contains(sr.SR_STATUS_ID) select new ServiceRequestWithStatusEntity { SrId = sr.SR_ID, SrStatusCode = sr.TB_C_SR_STATUS.SR_STATUS_CODE }).ToList(), DelegateSrList = (from sr in _context.TB_T_SR where sr.DELEGATE_USER_ID.HasValue && _context.TB_R_USER.Where(x => (x.IS_GROUP ?? false) && x.BRANCH_ID == branch.BRANCH_ID).Select(x => x.USER_ID).Contains(sr.DELEGATE_USER_ID.Value) && (!searchFilter.ProductId.HasValue || sr.PRODUCT_ID == searchFilter.ProductId.Value) && (!searchFilter.CampaignServiceId.HasValue || sr.CAMPAIGNSERVICE_ID == searchFilter.CampaignServiceId.Value) && (!searchFilter.AreaId.HasValue || sr.AREA_ID == searchFilter.AreaId.Value) && (!searchFilter.SubAreaId.HasValue || sr.SUBAREA_ID == searchFilter.SubAreaId.Value) && (!fromDate.HasValue || EntityFunctions.TruncateTime(sr.CREATE_DATE.Value) >= fromDate.Value) && (!toDate.HasValue || EntityFunctions.TruncateTime(sr.CREATE_DATE.Value) <= toDate.Value) //&& sr.SR_STATUS_ID != Constants.SRStatusId.Cancelled //&& sr.SR_STATUS_ID != Constants.SRStatusId.Closed && !ignoreStatusList.Contains(sr.SR_STATUS_ID) select new ServiceRequestWithStatusEntity { SrId = sr.SR_ID, SrStatusCode = sr.TB_C_SR_STATUS.SR_STATUS_CODE }).ToList(), CreateSrList = (from sr in _context.TB_T_SR where sr.CREATE_USER.HasValue && _context.TB_R_USER.Where(x => (x.IS_GROUP ?? false) && x.BRANCH_ID == branch.BRANCH_ID).Select(x => x.USER_ID).Contains(sr.CREATE_USER.Value) && (!searchFilter.ProductId.HasValue || sr.PRODUCT_ID == searchFilter.ProductId.Value) && (!searchFilter.CampaignServiceId.HasValue || sr.CAMPAIGNSERVICE_ID == searchFilter.CampaignServiceId.Value) && (!searchFilter.AreaId.HasValue || sr.AREA_ID == searchFilter.AreaId.Value) && (!searchFilter.SubAreaId.HasValue || sr.SUBAREA_ID == searchFilter.SubAreaId.Value) && (!fromDate.HasValue || EntityFunctions.TruncateTime(sr.CREATE_DATE.Value) >= fromDate.Value) && (!toDate.HasValue || EntityFunctions.TruncateTime(sr.CREATE_DATE.Value) <= toDate.Value) //&& sr.SR_STATUS_ID != Constants.SRStatusId.Cancelled //&& sr.SR_STATUS_ID != Constants.SRStatusId.Closed && !ignoreStatusList.Contains(sr.SR_STATUS_ID) select new ServiceRequestWithStatusEntity { SrId = sr.SR_ID, SrStatusCode = sr.TB_C_SR_STATUS.SR_STATUS_CODE }).ToList(), }; int startPageIndex = (searchFilter.PageNo - 1) * searchFilter.PageSize; searchFilter.TotalRecords = query.Count(); if (startPageIndex >= searchFilter.TotalRecords) { startPageIndex = 0; searchFilter.PageNo = 1; } query = SetGroupAssignSort(query, searchFilter); return(query.Skip(startPageIndex).Take(searchFilter.PageSize).ToList <GroupAssignEntity>()); }
private static IQueryable <GroupAssignEntity> SetGroupAssignSort(IQueryable <GroupAssignEntity> resultList, GroupAssignSearchFilter searchFilter) { if (string.IsNullOrEmpty(searchFilter.SortOrder)) { searchFilter.SortOrder = "ASC"; } if (string.IsNullOrEmpty(searchFilter.SortField)) { searchFilter.SortField = "BranchCode"; } if (searchFilter.SortOrder.ToUpper(CultureInfo.InvariantCulture).Equals("ASC")) { switch (searchFilter.SortField.ToUpper(CultureInfo.InvariantCulture)) { default: return(resultList.OrderBy(a => a.BranchCode)); } } else { switch (searchFilter.SortField.ToUpper(CultureInfo.InvariantCulture)) { default: return(resultList.OrderByDescending(a => a.BranchCode)); } } }
public List <GroupAssignEntity> SearchGroupAssign(GroupAssignSearchFilter searchFilter) { var dataAccess = new UserMonitoringDataAccess(_context); return(dataAccess.SearchGroupAssign(searchFilter)); }