Пример #1
0
        public List <ReportDetailViewModel> GetDetail(int Id, ReportBindingModel model)
        {
            var engines = _inspection.GetFilteredList(
                new InspectionsBindingModel {
                UserId = Id, Selected = model.Selected
            });
            var list = new List <ReportDetailViewModel>();

            foreach (var engine in engines)
            {
                var record = new ReportDetailViewModel
                {
                    Name    = engine.Name,
                    Details = new List <Tuple <string, decimal> >(),
                };

                foreach (var detail in engine.costInspections)
                {
                    record.Details.Add(new Tuple <string, decimal>(_cost.GetElement(new CostBindingModel {
                        Id = detail.Key
                    }).Name, detail.Value));
                }

                list.Add(record);
            }
            return(list);
        }
Пример #2
0
 public List <GuideViewModel> GetAllGuidesStatistics(ReportBindingModel model, int _OperatorID)
 {
     using (var context = new TourFirmDatabase())
     {
         var guides = from tour in context.Tours
                      where tour.OperatorID != _OperatorID
                      join travelTours in context.TravelTours
                      on tour.ID equals travelTours.TourID
                      join travel in context.Travels
                      on travelTours.TravelID equals travel.ID
                      where travel.DateStart >= model.DateFrom
                      where travel.DateEnd <= model.DateTo
                      join tourguide in context.TourGuides
                      on tour.ID equals tourguide.TourID
                      join guide in context.Guides
                      on tourguide.GuideID equals guide.ID
                      join guideExcursion in context.GuideExcursions
                      on guide.ID equals guideExcursion.GuideID
                      join excursion in context.Excursions
                      on guideExcursion.ExcursionID equals excursion.ID
                      select new GuideViewModel
         {
             Surname     = guide.Surname,
             Name        = guide.Name,
             PhoneNumber = guide.PhoneNumber
         };
         return(guides.ToList());
     }
 }
Пример #3
0
        public List <Tuple <string, int> > GetExcursionDurationStatistic(ReportBindingModel model)
        {
            var listExcursions = implementer.GetAllExcursionStatistics(model);

            var excursions = new List <string>();
            int s          = 0;
            int m          = 0;
            int h          = 0;

            foreach (var elem in listExcursions)
            {
                if (elem.Duration <= 2)
                {
                    excursions.Add("малая длительность - 0-2 часа");
                    s++;
                }
                if (elem.Duration >= 3 && elem.Duration <= 5)
                {
                    excursions.Add("средняя длительность - 3-5 часов");
                    m++;
                }
                if (elem.Duration > 6)
                {
                    excursions.Add("большая стоимость - 6+ часов");
                    h++;
                }
            }
            var result = new List <Tuple <string, int> >();

            result.Add(new Tuple <string, int>("малая длительность - 0-2 часа", s));
            result.Add(new Tuple <string, int>("средняя длительность - 3-5 часов", m));
            result.Add(new Tuple <string, int>("большая стоимость - 6+ часов", h));

            return(result);
        }
Пример #4
0
 public List <RequestViewModel> GetRequestsList(ReportBindingModel model)
 {
     return(context.Requests
            .Where(rec => rec.Date >= model.DateFrom && rec.Date <= model.DateTo)
            .Select(rec => new RequestViewModel
     {
         Id = rec.Id,
         Price = rec.Price,
         Date = rec.Date.ToString(),
         RequestProducts = context.RequestProducts
                           .Where(recPR => recPR.RequestId == rec.Id)
                           .Select(
             recPC => new RequestProductViewModel
         {
             Id = recPC.Id,
             RequestId = recPC.RequestId,
             ProductId = recPC.ProductId,
             ProductName = recPC.Product.Name,
             ProductPrice = recPC.Product.Price,
             Count = recPC.Count
         }
             )
                           .ToList()
     })
            .ToList());
 }
Пример #5
0
        public List <ReportViewModel> GetPlayers(ReportBindingModel model)
        {
            var Players = Player.Read(new PlayerBindingModel
            {
                DateFrom = model.DateFrom,
                DateTo   = model.DateTo
            });
            var list = new List <ReportViewModel>();

            foreach (var rec in Players)
            {
                var record = new ReportViewModel
                {
                    PlayerName = rec.PlayerName,
                    Name       = Game.Read(new GameBindingModel
                    {
                        Id = rec.GameId
                    })[0].Name,
                    DateDeath  = rec.DateDeath,
                    Score      = rec.Score,
                    DateCreate = Game.Read(new GameBindingModel
                    {
                        Id = rec.GameId
                    })[0].DateCreate
                };
                list.Add(record);
            }
            return(list);
        }
Пример #6
0
        public List <Tuple <string, int> > GetExcursionCostStatistic(ReportBindingModel model)
        {
            var listExcursions = implementer.GetAllExcursionStatistics(model);

            var excursions = new List <string>();
            int s          = 0;
            int m          = 0;
            int h          = 0;

            foreach (var elem in listExcursions)
            {
                if (elem.Price < 1500)
                {
                    excursions.Add("низкая стоимость - 0-1499");
                    s++;
                }
                if (elem.Price >= 1500 && elem.Price <= 5000)
                {
                    excursions.Add("средняя стоимость - 1500-5000");
                    m++;
                }
                if (elem.Price > 5000)
                {
                    excursions.Add("высокая стоимость - 5001+");
                    h++;
                }
            }
            var result = new List <Tuple <string, int> >();

            result.Add(new Tuple <string, int>("низкая стоимость - 0-1499", s));
            result.Add(new Tuple <string, int>("средняя стоимость - 1500-5000", m));
            result.Add(new Tuple <string, int>("высокая стоимость - 5001+", h));

            return(result);
        }
 public List <ServiceViewModel> GetServicesList(ReportBindingModel model)
 {
     return(context.Services
            .Select(
                rec => new ServiceViewModel
     {
         ServiceName = rec.ServiceName,
         Price = rec.Price,
         ServiceDrugs = context.ServiceDrugs
                        .Where(recPR => recPR.Id == rec.Id)
                        .Select(
             recPC => new ServiceDrugViewModel
         {
             Id = recPC.Id,
             ServiceId = recPC.ServiceId,
             DrugId = recPC.DrugId,
             DrugName = recPC.Drug.DrugName,
             DrugPrice = recPC.Drug.Price,
             Count = recPC.Count
         }
             )
                        .ToList()
     }
                )
            .ToList());
 }
Пример #8
0
        public List <ReportViewModel> GetPayments(ReportBindingModel model)
        {
            var cl = paymentLogic.Read(new PaymentBindingModel
            {
                DateFrom = model.DateFrom,
                DateTo   = model.DateTo,
            });
            List <ReportViewModel> rm = new List <ReportViewModel>();

            foreach (var payment in cl)
            {
                string clientFIO = clientLogic.Read(new ClientBindingModel {
                    Id = payment.ClientId
                })
                                   .FirstOrDefault(rec => rec.Id == payment.ClientId).ClientFIO;
                rm.Add(new ReportViewModel
                {
                    ClientFIO   = clientFIO,
                    DatePayment = payment.DatePayment,
                    OrderId     = payment.OrderId,
                    Sum         = payment.Sum
                });
            }
            return(rm);
        }
Пример #9
0
 public List <ExcursionViewModel> GetAllExcursionStatistics(ReportBindingModel model)
 {
     using (var context = new TourFirmDatabase())
     {
         var excursions = from tour in context.Tours
                          join travelTours in context.TravelTours
                          on tour.ID equals travelTours.TourID
                          join travel in context.Travels
                          on travelTours.TravelID equals travel.ID
                          where travel.DateStart >= model.DateFrom
                          where travel.DateEnd <= model.DateTo
                          join tourguide in context.TourGuides
                          on tour.ID equals tourguide.TourID
                          join guide in context.Guides
                          on tourguide.GuideID equals guide.ID
                          join guideExcursion in context.GuideExcursions
                          on guide.ID equals guideExcursion.GuideID
                          join excursion in context.Excursions
                          on guideExcursion.ExcursionID equals excursion.ID
                          select new ExcursionViewModel
         {
             Price    = excursion.Price,
             Duration = excursion.Duration
         };
         return(excursions.ToList());
     }
 }
Пример #10
0
 public List <ReportClientViewModel> GetClientInfo(ReportBindingModel model)
 {
     using (var context = new TravelAgencyContext())
     {
         var client = context.Client.Include(x => x.Contract).ThenInclude(x => x.Hotel)
                      .Include(x => x.Contract).ThenInclude(x => x.Route)
                      .FirstOrDefault(x => x.Clientid == model.ClientId);
         if (client == null)
         {
             throw new Exception("Клиент не найден");
         }
         return(client.Contract.Select(x => new ReportClientViewModel
         {
             ClientFIO = client.Nameclient,
             ClientId = client.Clientid,
             Datebirthday = client.Datebithday,
             Phonenumber = client.Phonenumber,
             RouteNameFrom = x.Route.Сityfrom,
             RouteNameTo = x.Route.Cityto,
             HotelName = x.Hotel.Hotelname,
             StartDate = x.Datetotravel,
             EndDate = x.Datefromtravel
         }).ToList());
     }
 }
Пример #11
0
 public List <ClientOrdersViewModel> GetClientOrders(ReportBindingModel model, int clientId)
 {
     return(context.Orders
            .Where(rec => rec.DateCreate >= model.DateFrom &&
                   rec.DateCreate <= model.DateTo &&
                   rec.ClientId == clientId)
            .Select(rec => new ClientOrdersViewModel
     {
         ClientName = rec.Client.ClientFIO,
         DateCreateOrder =
             SqlFunctions.DateName("dd", rec.DateCreate) + " " +
             SqlFunctions.DateName("mm", rec.DateCreate) + " " +
             SqlFunctions.DateName("yyyy", rec.DateCreate),
         TotalSum = rec.TotalSum,
         StatusOrder = rec.OrderStatus.ToString(),
         OrderCars = context.OrderCars.Where(recPC => recPC.OrderId == rec.Id)
                     .Select(recPC => new OrderCarViewModel
         {
             Id = recPC.Id,
             CarId = recPC.CarId,
             OrderId = recPC.OrderId,
             CarName = recPC.Car.CarName,
             Amount = recPC.Amount
         })
                     .ToList()
     })
            .ToList());
 }
Пример #12
0
        public void SaveClientOrders(ReportBindingModel model, int clientId)
        {
            if (!File.Exists("TIMCYR.TTF"))
            {
                File.WriteAllBytes("TIMCYR.TTF", Properties.Resources.TIMCYR);
            }

            FileStream fs = new FileStream(model.FileName, FileMode.OpenOrCreate, FileAccess.Write);

            var document = new Document();

            PdfWriter writer = PdfWriter.GetInstance(document, fs);

            baseFont = BaseFont.CreateFont("TIMCYR.TTF", BaseFont.IDENTITY_H,
                                           BaseFont.NOT_EMBEDDED);

            document.Open();

            PrintHeader($"Заказы клиента за период с {string.Format("{0:dd.MM.yyyy}", model.DateFrom)} по {string.Format("{0:dd.MM.yyyy}", model.DateTo)}", document);

            var cb = writer.DirectContent;

            var clientOrders = GetClientOrders(model, clientId);

            foreach (var order in clientOrders)
            {
                PrintHeader("Информация по заказу", document);
                PrintOrderInfo(order, document);
                DrawLine(cb, document, writer);
            }

            document.Close();
            fs.Close();
        }
Пример #13
0
        public List <LoadOrderReportViewModel> GetDetailsOrder(ReportBindingModel model)
        {
            List <LoadOrderReportViewModel> cars = context.Cars
                                                   .Select(rec => new LoadOrderReportViewModel
            {
                CarName = rec.CarName,
                CarId   = rec.Id,
                Details = context.CarDetails.Where(r => r.CarId == rec.Id).ToList().Select(rs => new CarDetailViewModel
                {
                    CarId      = rs.CarId,
                    Amount     = rs.Amount,
                    DetailId   = rs.DetailId,
                    DetailName = context.Details.FirstOrDefault(d => d.Id == rs.DetailId).DetailName
                }).ToList()
            })
                                                   .ToList();

            List <LoadOrderReportViewModel> orders = context.Orders
                                                     .Where(rec => rec.DateImplement >= model.DateFrom && rec.DateImplement <= model.DateTo)
                                                     .Select(rec => new LoadOrderReportViewModel
            {
                DateCreate = rec.DateImplement.ToString(),
                OrderId    = rec.Id
            })
                                                     .ToList();

            List <OrderCar> orderCars = context.OrderCars.ToList();

            List <LoadOrderReportViewModel> Details = new List <LoadOrderReportViewModel>();

            foreach (var element in orderCars)
            {
                LoadOrderReportViewModel save = new LoadOrderReportViewModel();

                foreach (var order in orders)
                {
                    if (element.OrderId == order.OrderId)
                    {
                        save.DateCreate = order.DateCreate;
                        save.OrderId    = order.OrderId;
                        break;
                    }
                }

                foreach (var car in cars)
                {
                    if (element.CarId == car.CarId && save.OrderId == element.OrderId)
                    {
                        save.CarName   = car.CarName;
                        save.CarAmount = element.Amount;
                        save.Details   = car.Details;
                        break;
                    }
                }
                Details.Add(save);
            }

            return(Details);
        }
Пример #14
0
 public List <ReportClientViewModel> GetClientInfo(ReportBindingModel model)
 {
     if (model == null || !model.ClientId.HasValue)
     {
         return(null);
     }
     return(storage.GetClientInfo(model));
 }
Пример #15
0
 public IActionResult ReportOnView([Bind("DateTo,DateFrom")] ReportBindingModel model)
 {
     model.UserId   = Program.User.Id;
     model.FileName = @"..\UrskiyPeriodUserAPP\wwwroot\report\Report.pdf";
     APIUser.PostRequest("api/report/MakePdf", model);
     ViewBag.Report = model.FileName;
     return(View("Email"));
 }
 public List <ReportClientRoute> GetClientRoutes(ReportBindingModel model)
 {
     if (model == null || !model.ClientId.HasValue)
     {
         return(null);
     }
     return(storage.GetClientRoute(model));
 }
Пример #17
0
 public List <ReportAccountingViewModel> GetAccountingInfo(ReportBindingModel model)
 {
     if (model == null || !model.DateFrom.HasValue || !model.DateTo.HasValue)
     {
         return(null);
     }
     return(storage.GetAccountingInfo(model));
 }
Пример #18
0
 public IActionResult SendMail([Bind("DateTo,DateFrom")] ReportBindingModel model)
 {
     model.UserId    = Program.User.Id;
     model.UserEmail = Program.User.Email;
     model.FileName  = @"..\UrskiyPeriodUserAPP\wwwroot\report\Report.pdf";
     APIUser.PostRequest("api/report/SendMail", model);
     return(Redirect("~/Home/Index"));
 }
 public IActionResult MakeReport([Bind("DateTo,DateFrom")] ReportBindingModel model)
 {
     model.FileName = @".\wwwroot\list\SocietiesList.pdf";
     model.ClientId = Program.Client.Id;
     _reportLogic.SaveSocietiesToPdfFile(model);
     ViewBag.CheckingReport = model.FileName;
     return(View("Index"));
 }
Пример #20
0
 public void SaveToExcelFile(ReportBindingModel model)
 {
     SaveToExcel.CreateDoc(new ExcelInfo
     {
         FileName    = model.FileName,
         Title       = "Список дисциплин",
         Disciplines = GetDisciplines(model)
     });
 }
Пример #21
0
 public List <StudyingStatusViewModel> GetStatus(ReportBindingModel model)
 {
     return(studyingStatusStorage.GetFilteredList(new StudyingStatusBindingModel
     {
         DateFrom = model.DateFrom,
         DateTo = model.DateTo,
         ProviderId = model.ProviderId
     }));
 }
Пример #22
0
        // Сохранение компонент с указаеним продуктов в файл-Excel

        public void SaveDetailToExcelFile(ReportBindingModel model)
        {
            SaveToExel.CreateDoc(new Info
            {
                FileName        = model.FileName,
                Title           = model.Title,
                InspectionsCost = GetDetail((int)model.User.Id, model)
            });
        }
Пример #23
0
 /// <summary>
 /// Сохранение компонент с указаеним продуктов в файл-Pdf
 /// </summary>
 /// <param name="model"></param>
 public void SaveKomlectComponentToPdfFile(ReportBindingModel model)
 {
     SaveToPdf.CreateDoc(new PdfInfo
     {
         FileName          = model.FileName,
         Title             = "Список изделий с компонентами",
         KomlectComponents = GetKomlectComponent()
     });
 }
Пример #24
0
 /// <summary>
 /// Сохранение кондитерских изделий с ценой в файл-Word
 /// </summary>
 /// <param name="model"></param>
 public void SaveProductsToWord(ReportBindingModel model)
 {
     SaveToWord.CreateDoc(new WordInfo
     {
         FileName = model.FileName,
         Title    = "Список кондитерских изделий",
         Products = productLogic.Read(null)
     });
 }
Пример #25
0
 /// <summary>
 /// Сохранение кондитерских изделий c расшифровкой по ингредиентам в файл-Pdf
 /// </summary>
 /// <param name="model"></param>
 public void SaveProductIngredientToPdfFile(ReportBindingModel model)
 {
     SaveToPdf.CreateDoc(new PdfInfo
     {
         FileName          = model.FileName,
         Title             = "Список кондитерских изделий с расшифровкой по ингредиентам",
         ProductIngredient = GetProductIngredient()
     });
 }
 public void SaveReceiptListToExcelFile(ReportBindingModel model)
 {
     SaveToExcel.CreateDoc(new ExcelInfoDoctor
     {
         FileName = model.FileName,
         Title    = "Сведения по рецептам",
         Receipts = GetReceiptList(model)
     });
 }
Пример #27
0
 public void SaveRequestToWordFile(ReportBindingModel model)
 {
     SaveToWord.CreateDoc(new WordInfo
     {
         FileName = model.FileName,
         Title = "Список заявок",
         RequestFlowers = GetRequestPlaces()
     });
 }
Пример #28
0
 /// <summary>
 /// Сохранение компонент в файл-Word
 /// </summary>
 /// <param name="model"></param>
 public void SaveKomlectsToWordFile(ReportBindingModel model)
 {
     SaveToWord.CreateDoc(new WordInfo
     {
         FileName = model.FileName,
         Title    = "Список изделий",
         Komlects = KomlectLogic.Read(null)
     });
 }
Пример #29
0
 public List <RouteViewModel> GetRoutes(ReportBindingModel model)
 {
     return(_routeStorage.GetFilteredByDateList(new RouteBindingModel
     {
         UserId = model.UserId,
         DateFrom = model.DateFrom,
         DateTo = model.DateTo
     }).ToList());
 }
Пример #30
0
 /// <summary>
 /// Сохранение заказов в файл-Excel
 /// </summary>
 /// <param name="model"></param>
 public void SaveOrdersToExcelFile(ReportBindingModel model)
 {
     SaveToExcel.CreateDoc(new ExcelInfo
     {
         FileName = model.FileName,
         Title    = "Список заказов",
         Orders   = GetOrders(model)
     });
 }