public ActionResult SearchSlaList(SlaSearchFilter searchFilter) { Logger.Info(_logMsg.Clear().SetPrefixMsg("Search SLA").ToInputLogString()); try { if (ModelState.IsValid) { _slaFacade = new SlaFacade(); SlaViewModel slaVM = new SlaViewModel(); slaVM.SearchFilter = searchFilter; slaVM.SlaList = _slaFacade.GetSlaList(slaVM.SearchFilter); ViewBag.PageSize = slaVM.SearchFilter.PageSize; return(PartialView("~/Views/Sla/_SlaList.cshtml", slaVM)); } return(Json(new { Valid = false, Error = string.Empty })); } catch (Exception ex) { Logger.Info(_logMsg.Clear().SetPrefixMsg("Search SLA").ToFailLogString()); return(Error(new HandleErrorInfo(ex, this.ControllerContext.RouteData.Values["controller"].ToString(), this.ControllerContext.RouteData.Values["action"].ToString()))); } }
public IEnumerable <SlaItemEntity> GetSlaList(SlaSearchFilter searchFilter) { var resultQuery = (from sla in _context.TB_M_SLA from createUser in _context.TB_R_USER.Where(x => x.USER_ID == sla.CREATE_USER).DefaultIfEmpty() from updateUser in _context.TB_R_USER.Where(x => x.USER_ID == sla.UPDATE_USER).DefaultIfEmpty() from st in _context.TB_C_SR_STATUS.Where(x => x.SR_STATUS_ID == sla.SR_STATUS_ID).DefaultIfEmpty() from ste in _context.TB_C_SR_STATE.Where(x => x.SR_STATE_ID == st.SR_STATE_ID).DefaultIfEmpty() where ((!searchFilter.ProductGroupId.HasValue || sla.TB_R_PRODUCT.PRODUCTGROUP_ID == searchFilter.ProductGroupId) && (!searchFilter.ProductId.HasValue || sla.PRODUCT_ID == searchFilter.ProductId) && (!searchFilter.CampaignServiceId.HasValue || sla.CAMPAIGNSERVICE_ID == searchFilter.CampaignServiceId) && (!searchFilter.AreaId.HasValue || sla.AREA_ID == searchFilter.AreaId) && (!searchFilter.SubAreaId.HasValue || sla.SUBAREA_ID == searchFilter.SubAreaId) && (!searchFilter.TypeId.HasValue || sla.TYPE_ID == searchFilter.TypeId) && (!searchFilter.ChannelId.HasValue || searchFilter.ChannelId == Constants.ApplicationStatus.All || searchFilter.ChannelId == sla.CHANNEL_ID) && (!searchFilter.SrStatusId.HasValue || searchFilter.SrStatusId == Constants.ApplicationStatus.All || searchFilter.SrStatusId == sla.SR_STATUS_ID) && (!searchFilter.SrStateId.HasValue || searchFilter.SrStateId == Constants.ApplicationStatus.All || ste.SR_STATE_ID == searchFilter.SrStateId)) select new SlaItemEntity { SlaId = sla.SLA_ID, ProductGroupName = sla.TB_R_PRODUCT.TB_R_PRODUCTGROUP.PRODUCTGROUP_NAME, ProductName = sla.TB_R_PRODUCT.PRODUCT_NAME, CampaignName = sla.TB_R_CAMPAIGNSERVICE.CAMPAIGNSERVICE_NAME, TypeName = sla.TB_M_TYPE.TYPE_NAME, AreaName = sla.TB_M_AREA.AREA_NAME, SubAreaName = sla.TB_M_SUBAREA.SUBAREA_NAME, ChannelName = sla.TB_R_CHANNEL.CHANNEL_NAME, IsActive = sla.SLA_IS_ACTIVE, StateName = ste.SR_STATE_NAME, StatusName = sla.TB_C_SR_STATUS.SR_STATUS_NAME, SlaMinute = sla.SLA_MINUTE, SlaTimes = sla.SLA_TIMES, AlertChiefTimes = sla.ALERT_CHIEF_TIMES, AlertChief1Times = sla.ALERT_CHIEF1_TIMES, AlertChief2Times = sla.ALERT_CHIEF2_TIMES, AlertChief3Times = sla.ALERT_CHIEF3_TIMES, SlaDay = sla.SLA_DAY, UpdateUser = (updateUser != null ? new UserEntity { PositionCode = updateUser.POSITION_CODE, Firstname = updateUser.FIRST_NAME, Lastname = updateUser.LAST_NAME } : null), UpdateDate = sla.UPDATE_DATE }); int startPageIndex = (searchFilter.PageNo - 1) * searchFilter.PageSize; searchFilter.TotalRecords = resultQuery.Count(); if (startPageIndex >= searchFilter.TotalRecords) { startPageIndex = 0; searchFilter.PageNo = 1; } resultQuery = SetSlaListSort(resultQuery, searchFilter); return(resultQuery.Skip(startPageIndex).Take(searchFilter.PageSize).ToList()); }
public IEnumerable <SlaItemEntity> GetSlaList(SlaSearchFilter searchFilter) { _slaDataAccess = new SlaDataAccess(_context); return(_slaDataAccess.GetSlaList(searchFilter)); }
private static IQueryable <SlaItemEntity> SetSlaListSort(IQueryable <SlaItemEntity> slaList, SlaSearchFilter searchFilter) { if (searchFilter.SortField == null) { searchFilter.SortField = ""; } if (searchFilter.SortOrder.ToUpper(CultureInfo.InvariantCulture).Equals("ASC")) { switch (searchFilter.SortField.ToUpper(CultureInfo.InvariantCulture)) { case "ProductGroup": return(slaList.OrderBy(q => q.ProductName)); case "Product": return(slaList.OrderBy(q => q.ProductName)); case "Campaign": return(slaList.OrderBy(q => q.CampaignName)); case "Type": return(slaList.OrderBy(q => q.TypeName)); case "Area": return(slaList.OrderBy(q => q.AreaName)); case "SubArea": return(slaList.OrderBy(q => q.SubAreaName)); default: return (slaList.OrderBy(a => a.ProductGroupName) .ThenBy(a => a.ProductName) .ThenBy(a => a.CampaignName) .ThenBy(a => a.TypeName) .ThenBy(a => a.AreaName) .ThenBy(a => a.SubAreaName)); } } else { switch (searchFilter.SortField.ToUpper(CultureInfo.InvariantCulture)) { case "ProductGroup": return(slaList.OrderByDescending(q => q.ProductName)); case "Product": return(slaList.OrderByDescending(q => q.ProductName)); case "Campaign": return(slaList.OrderByDescending(q => q.CampaignName)); case "Type": return(slaList.OrderByDescending(q => q.TypeName)); case "Area": return(slaList.OrderByDescending(q => q.AreaName)); case "SubArea": return(slaList.OrderByDescending(q => q.SubAreaName)); default: return (slaList.OrderByDescending(a => a.ProductGroupName) .ThenByDescending(a => a.ProductName) .ThenByDescending(a => a.CampaignName) .ThenByDescending(a => a.TypeName) .ThenByDescending(a => a.AreaName) .ThenByDescending(a => a.SubAreaName)); } } }