Exemplo n.º 1
0
        public static IQueryable <HourRate> Filter(this IQueryable <HourRate> query, HourRateQuerySearch criterias)
        {
            if (criterias.FromDate != null)
            {
                query = query.Where(hourRate => hourRate.FromDate == criterias.FromDate);
            }
            if (criterias.Rate != null)
            {
                query = query.Where(hourRate => hourRate.Rate == criterias.Rate);
            }
            if (criterias.TaskId != null)
            {
                query = query.Where(hourRate => hourRate.TaskId == criterias.TaskId);
            }

            return(query);
        }
Exemplo n.º 2
0
 public IEnumerable <HourRateResponseDto> GetHourRates(HourRateQuerySearch criterias)
 {
     return(_context.HourRate
            .Include(h => h.Task).ThenInclude(t => t.CompensationRate)
            .AsQueryable()
            .Filter(criterias)
            .Select(x => new HourRateResponseDto
     {
         FromDate = x.FromDate.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture),
         Id = x.Id,
         Rate = x.Rate,
         Task = new TaskResponseDto
         {
             Description = x.Task.Description,
             Id = x.Task.Id,
             Favorite = false,
             Locked = x.Task.Locked,
             Name = x.Task.Name,
             CompensationRate = EnsureCompensationRate(x.Task.CompensationRate),
             Project = new ProjectResponseDto
             {
                 Id = x.Task.ProjectNavigation.Id,
                 Name = x.Task.ProjectNavigation.Name,
                 Customer = new CustomerDto
                 {
                     Id = x.Task.ProjectNavigation.CustomerNavigation.Id,
                     Name = x.Task.ProjectNavigation.CustomerNavigation.Name,
                     InvoiceAddress = x.Task.ProjectNavigation.CustomerNavigation.InvoiceAddress,
                     ContactPhone = x.Task.ProjectNavigation.CustomerNavigation.ContactPhone,
                     ContactEmail = x.Task.ProjectNavigation.CustomerNavigation.ContactEmail,
                     ContactPerson = x.Task.ProjectNavigation.CustomerNavigation.ContactPerson
                 }
             },
         }
     })
            .ToList());
 }