internal List <ClientAnalysisRequest> ClientAnalysisRequests(ClientAnalysisParameter clientAnalysisParameter) { List <ClientAnalysisRequest> response = new List <ClientAnalysisRequest>(); try { response = checkUpContext.Tests.Where(w => w.userId == clientAnalysisParameter.userId && clientAnalysisParameter.status.Contains(w.status)) .OrderByDescending(o => o.dateRequestFormat) .Skip(clientAnalysisParameter.skip) .Take(clientAnalysisParameter.take) .Select(s => new ClientAnalysisRequest() { id = s.Id, status = s.status, dateRequest = s.dateRequest, labName = s.Laboratory != null ? s.Laboratory.name : string.Empty, labPhoto = s.Laboratory != null ? s.Laboratory.image : string.Empty, isNotified = s.isNotified }).ToList(); } catch (Exception ex) { response = null; } return(response); }
internal List <ClientAnalysisRequest> ClientAnalysisFilterRequests(ClientAnalysisParameter clientAnalysisParameter) { List <ClientAnalysisRequest> lst = new List <ClientAnalysisRequest>(); try { List <long> labDbIds; if (clientAnalysisParameter.dateFrom != null) { clientAnalysisParameter.dateFromFormat = DateTime.ParseExact(clientAnalysisParameter.dateFrom, "MMM d, yyyy", null); clientAnalysisParameter.dateToFormat = DateTime.ParseExact(clientAnalysisParameter.dateTo, "MMM d, yyyy", null); } //if (clientAnalysisParameter.labIds.Count > 0) //{ labDbIds = checkUpContext.Laboratories.Where(w => clientAnalysisParameter.labIds.Contains(w.FireBaseId)) .Select(s => s.Id).ToList(); //} lst = checkUpContext.Tests.ToList().Where(w => w.userId == clientAnalysisParameter.userId && clientAnalysisParameter.status.Contains(w.status) && (!labDbIds.Any() || labDbIds.Contains(w.labIdDB ?? 0)) && (!clientAnalysisParameter.dateFromFormat.HasValue || ( !clientAnalysisParameter.dateToFormat.HasValue && w.dateRequestFormat.Value.Date == clientAnalysisParameter.dateFromFormat.Value.Date ) || (w.dateRequestFormat.Value.Date >= clientAnalysisParameter.dateFromFormat.Value.Date && w.dateRequestFormat.Value.Date <= clientAnalysisParameter.dateToFormat.Value.Date) )) .OrderByDescending(o => o.dateRequestFormat) .Skip(clientAnalysisParameter.skip) .Take(clientAnalysisParameter.take) .Select(s => new ClientAnalysisRequest() { id = s.Id, status = s.status, dateRequest = s.dateRequest, labName = s.Laboratory != null ? s.Laboratory.name : string.Empty, labPhoto = s.Laboratory != null ? s.Laboratory.image : string.Empty, isNotified = s.isNotified }).ToList(); } catch (Exception ex) { lst = null; } return(lst); }
public List <ClientAnalysisRequest> ClientAnalysisFilterRequests([FromBody] ClientAnalysisParameter clientAnalysisParameter) { return(analysisManager.ClientAnalysisFilterRequests(clientAnalysisParameter)); }