public IEnumerable <CompanyComplianceVM> GetAllCompliancesByParam(CompanyComplianceVM param, DateTime fromDate, DateTime toDate) { try { IQueryable <CompanyComplianceVM> query = (from record in DbContext.CompanyCompliances.AsNoTracking() join comp in DbContext.Companies.AsNoTracking() on record.CompanyID equals comp.CompanyID orderby record.Date descending where (DbFunctions.TruncateTime(record.Date) >= DbFunctions.TruncateTime(fromDate) && DbFunctions.TruncateTime(record.Date) <= DbFunctions.TruncateTime(toDate)) select new CompanyComplianceVM { CompanyComplianceID = record.CompanyComplianceID, LegalAuthorityName = record.LegalAuthorityName, Description = record.Description, Remarks1 = record.Remarks1, Remarks2 = record.Remarks2, GeneralRemarks = record.GeneralRemarks, Date = record.Date, CompanyName = comp.Name, Amount = record.Amount, Status = record.Status }); query = GetComplianceFiltersOrderQuery(query, param, true); int totalRecord = query.Count(); var complianceList = query.Skip(param.DTObject.start).Take(param.DTObject.length).ToList().Select(index => new CompanyComplianceVM { CompanyComplianceID = index.CompanyComplianceID, Description = index.Description, Remarks1 = index.Remarks1, Remarks2 = index.Remarks2, GeneralRemarks = index.GeneralRemarks, LegalAuthorityName = index.LegalAuthorityName, Date = index.Date, CompanyName = index.CompanyName, Amount = index.Amount, Status = index.Status, DTObject = new DataTablesViewModel() { TotalRecordsCount = totalRecord } }).ToList(); return(complianceList); } catch (Exception ex) { logger.ErrorFormat("Exception Raised : Message[{0}] Stack Trace [{1}] ", ex.Message, ex.StackTrace); return(null); } }
public ActionResult ComplianceList(DataTablesViewModel param, string fromDate, string toDate) { try { if (!PermissionControl.CheckPermission(UserAppPermissions.Compliance_View)) { return(RedirectToAction("Restricted", "Home")); } DateTime frdate = DateTime.Now; if (!string.IsNullOrWhiteSpace(fromDate)) { frdate = DateTime.Parse(fromDate); } DateTime tdate = DateTime.Now; if (!string.IsNullOrWhiteSpace(toDate)) { tdate = DateTime.Parse(toDate); } logger.DebugFormat("Getting Company Compliance List with From Date [{0}] and To Date [{1}]", frdate.ToShortDateString(), tdate.ToShortDateString()); CompanyComplianceVM compliance = new CompanyComplianceVM(); compliance.DTObject = param; var list = complianceManagement.GetAllCompliancesByParam(compliance, frdate, tdate); logger.DebugFormat("Successfully Retrieve Company Compliance List Records [{2}] with From Date [{0}] and To Ddate [1]", frdate.ToShortDateString(), tdate.ToShortDateString(), list.Count()); return(Json(new { sEcho = param.draw, iTotalRecords = list.Select(i => i.DTObject.TotalRecordsCount).FirstOrDefault(), iTotalDisplayRecords = list.Select(i => i.DTObject.TotalRecordsCount).FirstOrDefault(), // Filtered Count aaData = list })); } catch (Exception ex) { logger.ErrorFormat("Exception Raised : Message[{0}] Stack Trace [{1}] ", ex.Message, ex.StackTrace); return(null); } }
private IQueryable <CompanyComplianceVM> GetComplianceFiltersOrderQuery(IQueryable <CompanyComplianceVM> query, CompanyComplianceVM param, bool forAll = false) { try { // var expression = PredicateBuilder.True<AssetsEntity>(); if (param == null) { return(query); } int index = -1; foreach (var columnData in param.DTObject.columns) { index += 1; if (columnData.orderable) { foreach (var row in param.DTObject.order.Where(i => i.column == index)) { if (row.dir == "asc") { query = query.OrderBy(columnData.data); } else { query = query.OrderByDescending(columnData.data); } } } if (columnData.search.value == null || string.IsNullOrEmpty(columnData.search.value.Trim())) { continue; } switch (columnData.data) { case "Description": if (!forAll) { query = query.Where(col => col.Description.ToUpper().Contains(columnData.search.value.ToUpper())); } break; } } string id = Utility.CovertID(param.DTObject.search.value, "CC-"); if (param.DTObject.search.value != null && !string.IsNullOrEmpty(param.DTObject.search.value)) { query = query.Where(col => ( col.Description.ToUpper().Contains(param.DTObject.search.value.ToUpper()) || col.LegalAuthorityName.ToUpper().Contains(param.DTObject.search.value.ToUpper()) || col.Status.ToUpper().Contains(param.DTObject.search.value.ToUpper()) || col.Remarks1.ToUpper().Contains(param.DTObject.search.value.ToUpper()) || col.Remarks2.ToUpper().Contains(param.DTObject.search.value.ToUpper()) || col.GeneralRemarks.ToUpper().Contains(param.DTObject.search.value.ToUpper()) || col.CompanyComplianceID.ToString().Equals(id))); } return(query); return(query); } catch (Exception ex) { logger.ErrorFormat("Exception Raised : Message[{0}] Stack Trace [{1}] ", ex.Message, ex.StackTrace); return(null); } }
public IEnumerable <CompanyComplianceVM> GetAllCompliancesByParam(CompanyComplianceVM param, DateTime fromDate, DateTime toDate) { return(complianceRepository.GetAllCompliancesByParam(param, fromDate, toDate)); }