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));
 }