public static void SaveReport(ReportOrderModel report) { DbContext.db.ReportOrders.Add(report); DbContext.db.Orders.Where(or => or.IdOrder == SecurityContext.IdOrder).FirstOrDefault().StageOrder = 3; DbContext.db.Orders.Create(); DbContext.db.SaveChanges(); }
public ReportOrderModel GetOrders(DateTimeOffset start, DateTimeOffset end, int?organisationId, IEnumerable <int> localAdminCustomerUnits = null) { var requestOrders = _dbContext.Requests.GetRequestsOrdersForReport(start.Date, end.Date, organisationId, localAdminCustomerUnits); var requisitions = _dbContext.Requisitions.GetRequisitionsForOrdersForReport(start.Date, end.Date, organisationId, localAdminCustomerUnits); var complaints = _dbContext.Complaints.GetComplaintsForOrdersForReport(start.Date, end.Date, organisationId, localAdminCustomerUnits); var interpreterLocations = _dbContext.OrderInterpreterLocation.GetInterpreterLocationsForOrdersForReport(start.Date, end.Date, organisationId, localAdminCustomerUnits); var orderRequirements = _dbContext.OrderRequirements.GetOrderRequirementsForOrdersForReport(start.Date, end.Date, organisationId, localAdminCustomerUnits); var orderRequirementAnswers = _dbContext.OrderRequirementRequestAnswer.GetRequirementAnswersForOrdersForReport(start.Date, end.Date, organisationId, localAdminCustomerUnits); var competenceRequirements = _dbContext.OrderCompetenceRequirements.GetOrderCompetencesForOrdersForReport(start.Date, end.Date, organisationId, localAdminCustomerUnits); return(ReportOrderModel.GetModelFromOrders(requestOrders, requisitions, complaints, interpreterLocations, orderRequirements, orderRequirementAnswers, competenceRequirements, null, false, false)); }
public ReportOrderModel GetDeliveredOrders(DateTimeOffset start, DateTimeOffset end, int?organisationId, IEnumerable <int> localAdminCustomerUnits = null) { var requestOrders = _dbContext.Requests.GetDeliveredRequestsWithOrders(start.Date, end.Date, _clock.SwedenNow.DateTime, organisationId, localAdminCustomerUnits); var requisitions = _dbContext.Requisitions.GetRequisitionsForDeliveredOrders(start.Date, end.Date, _clock.SwedenNow.DateTime, organisationId, localAdminCustomerUnits); var complaints = _dbContext.Complaints.GetComplaintsForDeliveredOrders(start.Date, end.Date, _clock.SwedenNow.DateTime, organisationId, localAdminCustomerUnits); var interpreterLocations = _dbContext.OrderInterpreterLocation.GetInterpreterLocationsForDeliveredOrders(start.Date, end.Date, _clock.SwedenNow.DateTime, organisationId, localAdminCustomerUnits); var orderRequirements = _dbContext.OrderRequirements.GetOrderRequirementsForDeliveredOrders(start.Date, end.Date, _clock.SwedenNow.DateTime, organisationId, localAdminCustomerUnits); var orderRequirementAnswers = _dbContext.OrderRequirementRequestAnswer.GetRequirementAnswersForDeliveredOrders(start.Date, end.Date, _clock.SwedenNow.DateTime, organisationId, localAdminCustomerUnits); var competenceRequirements = _dbContext.OrderCompetenceRequirements.GetOrderCompetencesForDeliveredOrders(start.Date, end.Date, _clock.SwedenNow.DateTime, organisationId, localAdminCustomerUnits); var requestPricerows = _dbContext.RequestPriceRows.GetRequestPriceRowsForDeliveredOrders(start.Date, end.Date, _clock.SwedenNow.DateTime, organisationId, localAdminCustomerUnits); return(ReportOrderModel.GetModelFromOrders(requestOrders, requisitions, complaints, interpreterLocations, orderRequirements, orderRequirementAnswers, competenceRequirements, requestPricerows, false, true)); }
public ReportOrderModel GetRequestsForBroker(DateTimeOffset start, DateTimeOffset end, int brokerId) { var requestOrders = _dbContext.Requests.GetRequestOrdersForBrokerReport(start.Date, end.Date, brokerId); var orderIds = requestOrders.Select(r => r.OrderId).Distinct().ToList(); var requisitions = _dbContext.Requisitions.GetRequisitionsForBrokerReport(start.Date, end.Date, brokerId); var complaints = _dbContext.Complaints.GetComplaintsForBrokerReport(start.Date, end.Date, brokerId); var interpreterLocations = _dbContext.OrderInterpreterLocation.GetInterpreterLocationsByOrderIds(orderIds); var orderRequirements = _dbContext.OrderRequirements.GetOrderRequirementsByOrderIds(orderIds); var orderRequirementAnswers = _dbContext.OrderRequirementRequestAnswer.GetRequirementAnswersForBrokerReport(start.Date, end.Date, brokerId); var competenceRequirements = _dbContext.OrderCompetenceRequirements.GetOrderCompetencesByOrderIds(orderIds); return(ReportOrderModel.GetModelFromOrders(requestOrders, requisitions, complaints, interpreterLocations, orderRequirements, orderRequirementAnswers, competenceRequirements, null, true, false)); }
public static IEnumerable <ReportRow> GetOrderExcelFileRows(ReportOrderModel reportOrder, ReportType reportType) { var isBroker = (reportType == ReportType.DeliveredOrdersBrokers || reportType == ReportType.RequestsForBrokers); var selectedData = reportOrder?.OrderRequests; if (reportType == ReportType.OrdersForCustomer || reportType == ReportType.OrdersForSystemAdministrator) { var activeRequestIds = reportOrder.OrderRequests.GroupBy(r => r.OrderId).Select(r => r.Max(c => c.RequestId)); selectedData = reportOrder.OrderRequests.Where(r => activeRequestIds.Contains(r.RequestId)); } return(selectedData .Select(o => new ReportOrderRow { OrderNumber = o.OrderNumber, ReportDate = o.ReportDate, BrokerName = o.BrokerName, Language = o.Language, Region = o.Region, AssignmentType = o.AssignmentType.GetDescription(), InterpreterCompetenceLevel = (CompetenceAndSpecialistLevel?)o.CompetenceLevel ?? CompetenceAndSpecialistLevel.NoInterpreter, InterpreterId = o.InterpreterId, ReportPersonToDisplay = o.ReportPerson, AssignmentDate = o.AssignmentDate, Status = isBroker ? o.RequestStatus.GetDescription() : o.OrderStatus.GetDescription(), ReferenceNumber = o.ReferenceNumber, Department = o.Department, CustomerUnitName = o.CustomerUnitName, HasRequisition = reportOrder.HasRequisitions.Contains(o.RequestId), HasComplaint = reportOrder.HasComplaints.Contains(o.RequestId), CustomerName = o.CustomerName, Price = reportOrder.Prices?.SingleOrDefault(r => r.RequestId == o.RequestId).Price ?? 0, Dialect = reportOrder.Requirements.Where(r => r.OrderId == o.OrderId && r.RequirementType == RequirementType.Dialect).FirstOrDefault()?.Description ?? string.Empty, DialectIsRequirement = reportOrder.Requirements.Where(r => r.OrderId == o.OrderId && r.RequirementType == RequirementType.Dialect).FirstOrDefault()?.IsRequired ?? false, FulfilledDialectRequirement = reportOrder.Requirements.Where(r => r.OrderId == o.OrderId && r.RequirementType == RequirementType.Dialect && reportOrder.RequirementAnswers.Any(ra => ra.OrderRequirementId == r.OrderRequirementId && ra.CanSatisfyRequirement && o.RequestId == ra.RequestId)).FirstOrDefault() != null, OrderedInterpreterLocation1 = reportOrder.InterpreterLocations.Where(i => i.OrderId == o.OrderId && i.Rank == 1).FirstOrDefault()?.InterpreterLocation.GetDescription() ?? string.Empty, OrderedInterpreterLocation2 = reportOrder.InterpreterLocations.Where(i => i.OrderId == o.OrderId && i.Rank == 2).FirstOrDefault()?.InterpreterLocation.GetDescription() ?? string.Empty, OrderedInterpreterLocation3 = reportOrder.InterpreterLocations.Where(i => i.OrderId == o.OrderId && i.Rank == 3).FirstOrDefault()?.InterpreterLocation.GetDescription() ?? string.Empty, InterpreterLocation = o.InterpreterLocation.HasValue ? ((InterpreterLocation)o.InterpreterLocation.Value).GetDescription() : string.Empty, AllowExceedingTravelCost = o.AllowExceedingTravelCost.HasValue ? isBroker ? EnumHelper.Parent <AllowExceedingTravelCost, TrueFalse>(o.AllowExceedingTravelCost.Value).GetDescription() : o.AllowExceedingTravelCost.Value.GetDescription() : string.Empty, CompetenceLevelDesired1 = (o.LanguageHasAuthorizedInterpreter && !o.SpecificCompetenceLevelRequired && reportOrder.Competences.Any(ro => ro.OrderId == o.OrderId)) ? reportOrder.Competences.Where(c => c.OrderId == o.OrderId && c.Rank == 1).FirstOrDefault()?.CompetenceLevel.GetDescription() ?? string.Empty : string.Empty, CompetenceLevelDesired2 = (o.LanguageHasAuthorizedInterpreter && !o.SpecificCompetenceLevelRequired && reportOrder.Competences.Any(ro => ro.OrderId == o.OrderId)) ? reportOrder.Competences.Where(c => c.OrderId == o.OrderId && c.Rank == 2).FirstOrDefault()?.CompetenceLevel.GetDescription() ?? string.Empty : string.Empty, CompetenceLevelRequired1 = (o.LanguageHasAuthorizedInterpreter && o.SpecificCompetenceLevelRequired && reportOrder.Competences.Any(ro => ro.OrderId == o.OrderId)) ? reportOrder.Competences.Where(ro => ro.OrderId == o.OrderId).First().CompetenceLevel.GetDescription() : string.Empty, CompetenceLevelRequired2 = (o.LanguageHasAuthorizedInterpreter && o.SpecificCompetenceLevelRequired && reportOrder.Competences.Any(ro => ro.OrderId == o.OrderId) && reportOrder.Competences.Where(ro => ro.OrderId == o.OrderId).Count() > 1) ? reportOrder.Competences.Where(ro => ro.OrderId == o.OrderId).Last().CompetenceLevel.GetDescription() : string.Empty, OrderRequirements = reportOrder.Requirements.Where(r => r.OrderId == o.OrderId && r.RequirementType != RequirementType.Dialect && r.IsRequired).Count(), OrderDesiredRequirements = reportOrder.Requirements.Where(r => r.OrderId == o.OrderId && r.RequirementType != RequirementType.Dialect && !r.IsRequired).Count(), FulfilledOrderDesiredRequirements = reportOrder.Requirements.Where(r => r.RequirementType != RequirementType.Dialect && !r.IsRequired && reportOrder.RequirementAnswers.Any(ra => ra.OrderRequirementId == r.OrderRequirementId && ra.CanSatisfyRequirement && ra.RequestId == o.RequestId)).Count(), FulfilledOrderRequirements = reportOrder.Requirements.Where(r => r.RequirementType != RequirementType.Dialect && r.IsRequired && reportOrder.RequirementAnswers.Any(ra => ra.OrderRequirementId == r.OrderRequirementId && ra.CanSatisfyRequirement && ra.RequestId == o.RequestId)).Count() }).ToList().OrderBy(row => row.OrderNumber)); }
public ReportOrderModel GetDeliveredRequestsForBroker(DateTimeOffset start, DateTimeOffset end, int brokerId) { var requestOrders = _dbContext.Requests.GetDeliveredRequestsWithOrders(start.Date, end.Date, _clock.SwedenNow.DateTime, null, null, brokerId); var orderIds = requestOrders.Select(r => r.OrderId).Distinct().ToList(); var requisitions = _dbContext.Requisitions.GetRequisitionsForDeliveredOrders(start.Date, end.Date, _clock.SwedenNow.DateTime, null, null, brokerId); var complaints = _dbContext.Complaints.GetComplaintsForDeliveredOrders(start.Date, end.Date, _clock.SwedenNow.DateTime, null, null, brokerId); var interpreterLocations = _dbContext.OrderInterpreterLocation.GetInterpreterLocationsByOrderIds(orderIds); var orderRequirements = _dbContext.OrderRequirements.GetOrderRequirementsByOrderIds(orderIds); var orderRequirementAnswers = _dbContext.OrderRequirementRequestAnswer.GetRequirementAnswersForDeliveredOrders(start.Date, end.Date, _clock.SwedenNow.DateTime, null, null, brokerId); var competenceRequirements = _dbContext.OrderCompetenceRequirements.GetOrderCompetencesByOrderIds(orderIds); var requestPricerows = _dbContext.RequestPriceRows.GetRequestPriceRowsForDeliveredOrders(start.Date, end.Date, _clock.SwedenNow.DateTime, null, null, brokerId); return(ReportOrderModel.GetModelFromOrders(requestOrders, requisitions, complaints, interpreterLocations, orderRequirements, orderRequirementAnswers, competenceRequirements, requestPricerows, true, true)); }
private void CreateReport_Click(object sender, RoutedEventArgs e) { try { ReportOrderModel NewReport = new ReportOrderModel(); NewReport.IdOrder = SecurityContext.IdOrder; NewReport.Description = Description.Text; NewReport.Sale = int.Parse(Sale.Text); ReportOrderLogic.SaveReport(NewReport); MessageBox.Show("Отчет о заказе успешно сохранен. Заказ успешно выполнен!"); OrdersListWindow order = new OrdersListWindow(); order.Show(); this.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }