public ReportRequistionModel GetRequisitions(DateTimeOffset start, DateTimeOffset end, int?organisationId, IEnumerable <int> localAdminCustomerUnits = null, int?brokerId = null) { var requisitions = _dbContext.Requisitions.GetRequisitionsForReports(start.Date, end.Date, organisationId, localAdminCustomerUnits, brokerId); var requisitionPricerows = _dbContext.RequisitionPriceRows.GetRequisitionPriceRowsForRequisitionReport(start.Date, end.Date, organisationId, localAdminCustomerUnits, brokerId); var mealbreaks = _dbContext.MealBreaks.GetMealBreaksForReport(start.Date, end.Date, organisationId, localAdminCustomerUnits, brokerId); var requestIds = requisitions.Select(r => r.RequestId).ToList(); var requestPricerows = _dbContext.RequestPriceRows.GetRequestPriceRowsForRequisitionReport(requestIds); return(ReportRequistionModel.GetModelFromRequisitions(requisitions, mealbreaks, requisitionPricerows, requestPricerows, brokerId.HasValue)); }
public static IEnumerable <ReportRequisitionRow> GetRequisitionsExcelFileRows(ReportRequistionModel requistionModel, ReportType reportType) { var isBroker = EnumHelper.Parent <ReportType, ReportGroup>(reportType) == ReportGroup.BrokerReport; NullCheckHelper.ArgumentCheckNull(requistionModel, nameof(GetRequisitionsExcelFileRows), nameof(StatisticsService)); return(requistionModel.Requisitions .Select(r => new ReportRequisitionRow { OrderNumber = r.OrderNumber, ReportDate = r.ReportDate, BrokerName = r.BrokerName, Language = r.Language, Region = r.Region, InterpreterId = r.InterpreterId, ReportPersonToDisplay = r.ReportPerson, AssignmentDate = r.AssignmentDate, Status = r.RequisitionStatus.GetDescription(), CustomerName = r.CustomerName, AssignmentType = r.AssignmentType.GetDescription(), InterpreterCompetenceLevel = (CompetenceAndSpecialistLevel?)r.CompetenceLevel ?? CompetenceAndSpecialistLevel.NoInterpreter, HasMealbreaks = requistionModel.HasMealbreaks.Contains(r.RequisitionId), WaisteTime = r.WaisteTime, WaisteTimeIWH = r.WaisteTimeIWH, Price = requistionModel.RequisitionPrices?.SingleOrDefault(pr => pr.RequisitionId == r.RequisitionId).Price ?? 0, Outlay = requistionModel.RequisitionPrices?.SingleOrDefault(pr => pr.RequisitionId == r.RequisitionId).Outlay ?? 0, PreliminaryCost = requistionModel.RequestPrices?.SingleOrDefault(pr => pr.RequestId == r.RequestId).Price ?? 0, CarCompensation = r.CarCompensation, PerDiem = r.PerDiem, Department = r.Department, CustomerUnitName = r.CustomerUnitName, TaxCard = r.TaxCard.HasValue ? r.TaxCard.Value.GetDescription() : string.Empty, ReferenceNumber = r.ReferenceNumber, InterpreterLocation = r.InterpreterLocation.HasValue ? ((InterpreterLocation)r.InterpreterLocation.Value).GetDescription() : string.Empty, AllowExceedingTravelCost = r.AllowExceedingTravelCost.HasValue ? isBroker ? EnumHelper.Parent <AllowExceedingTravelCost, TrueFalse>(r.AllowExceedingTravelCost.Value).GetDescription() : r.AllowExceedingTravelCost.Value.GetDescription() : string.Empty }).ToList().OrderBy(row => row.OrderNumber)); }