Пример #1
0
        private void OnPrint()
        {
            XtraReport report;

            if (IsByCustomer)
            {
                report = new SalesReport();
                if (SelectedCustomer != null)
                {
                    report.DataSource = Transactions.Where(c => c.Customer.Id == SelectedCustomer.Id).ToList();
                }
            }
            else
            {
                report            = new AllTransactionReport();
                report.DataSource = Transactions;
            }

            var window = new DocumentPreviewWindow();

            window.PreviewControl.DocumentSource = report;
            report.CreateDocument(true);
            report.PrintingSystem.Document.AutoFitToPagesWidth = 1;
            window.WindowStartupLocation = WindowStartupLocation.CenterScreen;
            window.WindowState           = WindowState.Maximized;
            window.ShowDialog();
        }
Пример #2
0
        public ActionResult SaleInvoice(int saleId, int style)
        {
            if (storeSettingRepository.All().Count() == 0)
            {
                TempData["Msg"] = "Configurez d'abord le paramètre du magasin, puis imprimez la facture de vente";
                return(RedirectToAction("Index"));
            }
            var store = storeSettingRepository.All().FirstOrDefault();

            var sale = saleRepository.All().Include(x => x.CustomerModel).SingleOrDefault(x => x.Id == saleId);

            sale.Items = saleItemRepository.All().Where(x => x.SalesId == saleId).ToList();
            if (sale != null)
            {
                var sales = new SaleReportViewModel
                {
                    company = store,
                    Sales   = sale
                };
                if (style == 1)
                {
                    SalesReport paymentReport = new SalesReport(configuration);
                    byte[]      bytes         = paymentReport.CreateReport(sales);
                    return(File(bytes, "application/pdf"));
                }
                if (style == 2)
                {
                    SalesReportSmall paymentReport = new SalesReportSmall();
                    byte[]           bytes         = paymentReport.CreateReport(sales);
                    return(File(bytes, "application/pdf"));
                }
            }
            return(RedirectToAction("index"));
        }
        private void GetSalesRep()
        {
            try
            {
                DataSet ds = new DataSet();


                List <SalesReport> sal = new SalesReport(date, date2).salesRptChart();

                foreach (var items in sal)
                {
                    ds.Tables[2].Rows.Add
                        (new object[] {
                        items.Date.ToString(),
                        items.Price
                    });
                }
                ReportDocument orep = new ReportDocument();
                orep.Load(System.AppDomain.CurrentDomain.BaseDirectory + @"GUI\Reporting\SalesChart_RPT.rpt");
                orep.SetDataSource(ds);

                //SalesReport rpt = new SalesReport(date).rptSum();

                //decimal tot = 0;
                //if (rpt.Price != 0)
                //    tot = rpt.Price;
                //orep.SetParameterValue("Total", tot);
                //orep.SetParameterValue("Date", date);
                crystalReportsViewer1.ViewerCore.ReportSource = orep;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Пример #4
0
        public List <SalesReport> GetSalesByDate(DateTime startDate, DateTime endDate, string user)
        {
            List <SalesReport> _Sales = new List <SalesReport>();

            using (SqlConnection conn = new SqlConnection())
            {
                conn.ConnectionString = ConfigurationManager.ConnectionStrings["CarDealership"].ConnectionString;
                SqlCommand cmd = new SqlCommand();
                cmd.Connection  = conn;
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "GetSalesByDate";
                cmd.Parameters.AddWithValue("@StartDate", startDate);
                cmd.Parameters.AddWithValue("@EndDate", endDate);
                cmd.Parameters.AddWithValue("@User", user);

                conn.Open();
                using (SqlDataReader dr = cmd.ExecuteReader())
                {
                    while (dr.Read())
                    {
                        SalesReport currentRow = new SalesReport();

                        currentRow.UserId        = dr["UserId"].ToString();
                        currentRow.ValueOfSales  = (int)dr["ValueOfSales"];
                        currentRow.TotalVehicles = (int)dr["TotalSold"];


                        _Sales.Add(currentRow);
                    }
                }
            }
            return(_Sales);
        }
Пример #5
0
        public void deleteGuest(int guestId, string review)
        {
            var obj = (from x in db.Guest join y in db.PaymentDetail
                       on x.GuestId equals y.GuestId
                       where x.GuestId == guestId select y).FirstOrDefault();

            obj.Deleted = 1;
            db.SaveChanges();

            SalesReport sr = new SalesReport();

            sr.TotalPayment = obj.PaymentTotal;
            sr.Deleted      = 0;
            db.SalesReport.Add(sr);
            db.SaveChanges();

            GuestReviewReport grr = new GuestReviewReport();

            grr.GuestId     = guestId;
            grr.GuestReview = review;
            grr.Deleted     = 0;
            db.GuestReviewReport.Add(grr);
            db.SaveChanges();
            var room = (from x in db.Guest
                        join y in db.Room
                        on x.RoomId equals y.RoomId
                        where x.GuestId == guestId
                        select y).FirstOrDefault();

            room.Available = 0;
            deletePayment(obj.PaymentId);
            db.SaveChanges();
        }
Пример #6
0
        private SalesReport ReadReport(OleDbDataReader reader)
        {
            if (reader == null)
            {
                throw new ArgumentNullException(nameof(reader));
            }

            var sales = new List <Sale>();

            while (reader.Read())
            {
                var computerId = (string)reader["ComputerId"];
                var amount     = (string)reader["Amount"];

                var nextSale = new Sale();
                nextSale.ComputerId = int.Parse(computerId);
                nextSale.Amount     = decimal.Parse(amount);

                sales.Add(nextSale);
            }

            var salesReport = new SalesReport();

            salesReport.Sales = sales;

            return(salesReport);
        }
Пример #7
0
        public ActionResult Report(Sales sales)
        {
            SalesReport salesReport = new SalesReport();

            byte[] abytes = salesReport.PrepareReport(GetDbSales());
            return(File(abytes, "application/pdf"));
        }
Пример #8
0
        private static void TraverseDirectory(DirectoryInfo directory, ISqlServerDb db)
        {
            DirectoryInfo[] childDirectories = directory.GetDirectories();
            foreach (DirectoryInfo dir in childDirectories)
            {
                TraverseDirectory(dir, db);
            }

            FileInfo[] files = directory.GetFiles();
            foreach (var file in files)
            {
                DataTable   data   = ReadFile(file.FullName);
                SalesReport report = new SalesReport();

                foreach (DataRow row in data.Rows)
                {
                    Sale sale = CreateSale(row, db);
                    db.Sales.Add(sale);
                    sale.SalesReport   = report;
                    sale.SalesReportId = report.Id;
                    report.Sales.Add(sale);
                }

                db.SalesReports.Add(report);
                db.SaveChanges();
            }
        }
Пример #9
0
        public ActionResult SaleInvoice(int saleId, int style)
        {
            if (storeSettingRepository.All().Count() == 0)
            {
                TempData["Msg"] = "Setup store setting first then print sale invoice";
                return(RedirectToAction("Index"));
            }
            var store = storeSettingRepository.All().FirstOrDefault();

            var sale = saleRepository.All().Include(x => x.CustomerModel).SingleOrDefault(x => x.Id == saleId);

            sale.Items = saleItemRepository.All().Where(x => x.SalesId == saleId).ToList();
            if (sale != null)
            {
                var sales = new SaleReportViewModel
                {
                    company = store,
                    Sales   = sale
                };
                if (style == 1)
                {
                    SalesReport paymentReport = new SalesReport(configuration);
                    byte[]      bytes         = paymentReport.CreateReport(sales);
                    return(File(bytes, "application/pdf", fileDownloadName: DateTime.Now.ToShortDateString() + "_Invoice_" + sales.Sales.SaleCode + "_" + sales.Sales.CustomerModel.Name + ".pdf"));
                }

                if (style == 2)
                {
                    SalesReportSmall paymentReport = new SalesReportSmall();
                    byte[]           bytes         = paymentReport.CreateReport(sales);
                    return(File(bytes, "application/pdf"));
                }
            }
            return(RedirectToAction("index"));
        }
Пример #10
0
        public ActionResult Index(HomeIndexFormModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }
            try
            {
                //Получаем класс отчета SalesReport
                var salesRep = new SalesReport(_northwindDbContext);

                //Строим отчет SalesReport в поток resultStream
                using (var resultStream = salesRep.BuildToStream(model.StartDate, model.EndDate))
                {
                    resultStream.Position = 0;

                    //отправляем отчет по почте
                    MailMessage mail = new MailMessage()
                    {
                        To          = { model.Email },
                        Subject     = salesRep.Title,
                        Attachments = { new Attachment(resultStream, salesRep.FileName, "text/csv") }
                    };
                    _mailSender.Send(mail);
                }
                return(RedirectToAction("Success"));
            }
            catch (Exception ex) { return(View("Error", ex)); }
        }
Пример #11
0
        public void InsertSales(SaleRecord sales)
        {
            SalesReport salesReport = sales.ConvertToSalesReport();

            _context.Sales.Add(sales);
            _context.SalesReports.Add(salesReport);
            _context.SaveChanges();
        }
Пример #12
0
        private void reportSalesPrint_Load(object sender, EventArgs e)
        {
            SalesReport ob = new SalesReport();

            ob.SetParameterValue("total", Text);
            salesPrint.ReportSource = ob;
            salesPrint.Refresh();
        }
Пример #13
0
        public void PrintSalesReport(SalesReport salesReport)
        {
            using (ExcelEngine excelEngine = new ExcelEngine())
            {
                IApplication application = excelEngine.Excel;
                IWorkbook    workbook    = application.Workbooks.Create(1);
                IWorksheet   worksheet   = workbook.Worksheets[0];


                StyleExcel_Sales(workbook, worksheet);


                worksheet["B2"].Text = salesReport.IdReport.ToString();
                worksheet["B3"].Text = salesReport.ReportDate.ToString();
                worksheet["B4"].Text = salesReport.UserName;


                int i = 6;
                foreach (var item in salesReport.ListSales)
                {
                    Object[] list = new object[] { item.STT.ToString(), item.CarBrand_Name, item.AmountOfTurn, item.TotalMoney
                                                   , item.Rate };
                    worksheet.InsertRow(i, 1, ExcelInsertOptions.FormatDefault);
                    worksheet.ImportArray(list, i, 1, false);
                    i++;
                }
                worksheet["D" + (i + 1)].Text = "Tổng doanh thu: " + salesReport.TotalMoney;
                worksheet["D" + (i + 1) + ":" + "E" + (i + 1)].Merge();

                worksheet.Columns[1].ColumnWidth = 30;
                worksheet.Columns[2].ColumnWidth = 20;
                worksheet.Columns[3].ColumnWidth = 20;
                worksheet.Columns[4].ColumnWidth = 20;



                SaveFileDialog saveFileDialog1 = new SaveFileDialog();
                saveFileDialog1.Filter           = "excel files (*.xlsx)|*.xlsx|All files (*.*)|*.*";
                saveFileDialog1.FilterIndex      = 2;
                saveFileDialog1.RestoreDirectory = true;
                saveFileDialog1.ShowDialog();
                if (!string.IsNullOrEmpty(saveFileDialog1.FileName))
                {
                    Stream excelStream;
                    application.Application.IgnoreSheetNameException = false;
                    if (File.Exists(Path.GetFullPath(saveFileDialog1.FileName)))
                    {
                        excelStream = File.Create(Path.GetFullPath(saveFileDialog1.FileName));
                    }
                    else
                    {
                        excelStream = File.Create(Path.GetFullPath(saveFileDialog1.FileName + ".xlsx"));
                    }
                    workbook.SaveAs(excelStream);
                    excelStream.Dispose();
                }
            }
        }
Пример #14
0
        private void btnSales_Click(object sender, EventArgs e)
        {
            hideSubMenu();
            sidePanel.Height = btnSales.Height;
            sidePanel.Top    = btnSales.Top;
            SalesReport sr = new SalesReport();

            MainControlClass.showControl(sr, panelMainContainer);
        }
Пример #15
0
        public IEnumerable <SalesReport> Search(SalesReportParameters parameters)
        {
            List <SalesReport> salesReport = new List <SalesReport>();

            using (var cn = new SqlConnection(Settings.GetConnectionString()))
            {
                string query = "SELECT FullName, SUM(PurchasePrice) As TotalSales, COUNT(PurchaseID) AS TotalVehicles " +
                               "FROM AspNetUsers u INNER JOIN Purchases p ON u.Id = p.UserID WHERE 1=1 ";

                SqlCommand cmd = new SqlCommand();

                if (!string.IsNullOrEmpty(parameters.User))
                {
                    query += "AND FullName = @FullName ";
                    cmd.Parameters.AddWithValue("@FullName", parameters.User);
                }

                if (!string.IsNullOrEmpty(parameters.FromDate))
                {
                    query += "AND CreateDate >= @FromDate ";
                    var date = DateTime.Parse(parameters.FromDate).ToShortDateString();
                    cmd.Parameters.AddWithValue("@FromDate", date);
                }


                if (!string.IsNullOrEmpty(parameters.ToDate))
                {
                    query += "AND CreateDate <= @ToDate ";
                    var date = DateTime.Parse(parameters.ToDate).ToShortDateString();
                    cmd.Parameters.AddWithValue("@ToDate", date);
                }

                query += "GROUP BY FullName";

                cmd.Connection = cn;

                cmd.CommandText = query;
                cn.Open();

                using (SqlDataReader dr = cmd.ExecuteReader())
                {
                    while (dr.Read())
                    {
                        SalesReport row = new SalesReport();

                        row.User          = dr["FullName"].ToString();
                        row.TotalSales    = (decimal)dr["TotalSales"];
                        row.TotalVehicles = (int)dr["TotalVehicles"];

                        salesReport.Add(row);
                    }
                }
            }

            return(salesReport);
        }
        public IEnumerable <SalesReport> GetSalesForReport(SalesReportSearchParameters parameters)
        {
            List <SalesReport> salesReport = new List <SalesReport>();

            using (var cn = new SqlConnection(Settings.GetConnectionString()))
            {
                string query = "SELECT s.UserId, u.FirstName + ' ' + u.LastName AS UserName, COUNT(VehicleId) AS [TotalVehicles], SUM(SaleAmount) AS [TotalSales] ";
                query += "FROM Sales s INNER JOIN AspNetUsers u ON u.Id = s.UserId  WHERE 1=1";

                SqlCommand cmd = new SqlCommand();
                cmd.Connection = cn;

                if (!string.IsNullOrEmpty(parameters.UserId))
                {
                    query += $"AND s.UserId = @UserId ";
                    cmd.Parameters.AddWithValue("@UserId", parameters.UserId);
                }

                DateTime ParsedFromDate;
                if (!string.IsNullOrEmpty(parameters.FromDate) && DateTime.TryParse(parameters.FromDate, out ParsedFromDate))
                {
                    query += $"AND s.SaleDate >= @FromDate ";
                    cmd.Parameters.AddWithValue("@FromDate", ParsedFromDate);
                }

                DateTime ParsedToDate;
                if (!string.IsNullOrEmpty(parameters.ToDate) && DateTime.TryParse(parameters.ToDate, out ParsedToDate))
                {
                    query += $"AND s.SaleDate <= @ToDate ";
                    cmd.Parameters.AddWithValue("@ToDate", ParsedToDate);
                }

                query          += "GROUP BY s.UserId, u.FirstName, u.LastName ";
                query          += "ORDER BY TotalSales DESC";
                cmd.CommandText = query;

                cn.Open();

                using (SqlDataReader dr = cmd.ExecuteReader())
                {
                    while (dr.Read())
                    {
                        SalesReport currentRow = new SalesReport();
                        currentRow.UserName      = dr["UserName"].ToString();
                        currentRow.TotalSales    = (decimal)dr["TotalSales"];
                        currentRow.TotalVehicles = (int)dr["TotalVehicles"];

                        currentRow.TotalSalesFormatted = currentRow.TotalSales.ToString("c0");

                        salesReport.Add(currentRow);
                    }
                }
            }
            return(salesReport);
        }
Пример #17
0
        internal SalesReport Report()
        {
            var saleReport = new SalesReport(
                vendorRepository.Count(),
                customerRepository.Count(),
                saleRepository.GetExpensiveSaleId(),
                saleRepository.GetWorstVendor()
                );

            return(saleReport);
        }
Пример #18
0
 public void InsertSalesReport(SalesReport salesReport)
 {
     try
     {
         _context.SalesReports.Add(salesReport);
         _context.SaveChanges();
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Пример #19
0
        public override void Execute()
        {
            // Step 1: Parse file
            var layout = new SalesLayout();

            layout.Parse(this.fileInfo);

            // Step 2: Generate reports
            var report = new SalesReport();

            report.Run(layout);
        }
Пример #20
0
        private void getSalesReport(DateTime startDate, DateTime endDate)
        {
            SalesReport reportModel = new SalesReport();

            reportModel.createSalesOrderReport(startDate, endDate);

            SalesReportBindingSource.DataSource      = reportModel;
            SalesListingBindingSource.DataSource     = reportModel.salesListing;
            NetSalesByPeriodBindingSource.DataSource = reportModel.netSalesByPeriod;

            this.reportViewer1.RefreshReport();
        }
Пример #21
0
        void GeneratePlotModels(SalesReport report)
        {
            PlotDataReady = false;
            var splotModel  = GetSalesSplotModel(report);
            var noplotModel = GetNewOrdersSplotModel(report);
            var ncplotModel = GetNewCustomersSplotModel(report);

            NewCustomersPlotModel = ncplotModel;
            SalesPlotModel        = splotModel;
            NewOrdersPlotModel    = noplotModel;
            PlotDataReady         = true;
        }
Пример #22
0
        public void OpenSalesRepTest()
        {
            var reportMetaData = new SalesReport
            {
                PrintReportName = "report header",
                Uid             = 728989149
            };

            var printManager = MockRepository.GenerateMock <IPrintManager>();

            printManager.OpenReportInBrowser(reportMetaData);
        }
Пример #23
0
        public ActionResult <List <Orders> > viewSalesReport(SalesReport sales)
        {
            var ordersList = _services.getSalesReport(sales);

            if (ordersList != null)
            {
                return(Ok(ordersList));
            }
            else
            {
                return(BadRequest());
            }
        }
Пример #24
0
        public void FilterTransactionsByDateTest()
        {
            var factory = new TransactionFactory().WithDate(() => DateTime.Now);
            var transactionsFromToday       = factory.Build(3);
            var transactionsFromFiveDaysAgo = factory.WithDate(() => Faker.Date.Recent(5)).Build(3);
            var allTransactions             = new List <Transaction>();

            allTransactions.AddRange(transactionsFromToday);
            allTransactions.AddRange(transactionsFromFiveDaysAgo);

            var twoDaysAgo = DateTime.Now.Subtract(new TimeSpan(2, 0, 0, 0));
            var result     = new SalesReport(allTransactions).FilterTransactionsByDate(twoDaysAgo)
                             .Select(t => t.Date).Should().OnlyContain(d => d >= twoDaysAgo);
        }
 public static DealershipFile ConvertToDealershipFile(this SalesReport salesReport)
 {
     try
     {
         DealershipFile dealershipFile = new DealershipFile();
         dealershipFile.Dealership = salesReport.DealershipName;
         dealershipFile.FileName   = salesReport.FileName;
         return(dealershipFile);
     }
     catch (Exception ex)
     {
         throw new ApplicationException("Could not create Dealer shipFile ", ex);
     }
 }
Пример #26
0
        static void Main(string[] args)
        {
            Report employeePerformanceReport = new EmployeePerformanceReport(new DesktopFormat());

            employeePerformanceReport.Display();

            Console.WriteLine();

            Report salesReport = new SalesReport(new WebFormat());

            salesReport.Display();

            Console.ReadKey();
        }
Пример #27
0
        private async Task <SalesReport> GetSalesReport(Guid storeId)
        {
            var salesReport = await db
                              .SalesReports
                              .AsNoTracking()
                              .FirstOrDefaultAsync();

            if (salesReport == null)
            {
                salesReport = new SalesReport(storeId);
            }

            return(salesReport);
        }
Пример #28
0
        async Task UpdateSalesReport()
        {
            currentSalesReport = await App.Client.GetSalesReport(PeriodFilter);

            if (currentSalesReport == null)
            {
                return;
            }

            UpdateNumbersCount();
            AverageSales = currentSalesReport.AverageSales;
            TotalSales   = currentSalesReport.TotalSales;
            //periodFilter = Extensions.ParseEnum<WooCommerceFilterPeriod> (currentSalesReport.TotalsGroupedBy);
            GeneratePlotModels(currentSalesReport);
        }
        private void salesReportBtn_Click(object sender, EventArgs e)
        {
            if (PnlContainer.Controls.ContainsKey("SalesReport"))
            {
                int index = PnlContainer.Controls.IndexOfKey("SalesReport");
                PnlContainer.Controls[index].BringToFront();
            }
            else
            {
                SalesReport salesReport = new SalesReport();

                salesReport.Dock = DockStyle.Fill;
                PnlContainer.Controls.Add(salesReport);
                salesReport.BringToFront();
            }
        }
Пример #30
0
        public static void ParseExcelFile(SupermarketDBContext sqlDb, string folderDate, string file)
        {
            string connectStr = @"Provider=Microsoft.ACE.OLEDB.12.0; " +
                                @"Data Source=" + file + "; " +
                                @"Extended Properties='Excel 12.0 Xml; HDR=YES'";

            OleDbConnection  dbCon         = new OleDbConnection(connectStr);
            string           sqlQuery      = "select * from [Sales$]";
            OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(sqlQuery, dbCon);
            DataSet          currentData   = new DataSet();

            myDataAdapter.Fill(currentData, "Sales");

            DataRowCollection excelRows = currentData.Tables["Sales"].Rows;
            string            location  = string.Empty;
            DateTime          saleDate  = DateTime.Parse(folderDate);

            location = excelRows[0][0].ToString();
            for (int row = 2; row < excelRows.Count - 1; row++)
            {
                int     productId = 0;
                int     quantity  = 0;
                decimal unitPrice = 0;
                decimal sum       = 0;

                int.TryParse(excelRows[row][0].ToString(), out productId);
                int.TryParse(excelRows[row][1].ToString(), out quantity);
                decimal.TryParse(excelRows[row][2].ToString(), out unitPrice);
                decimal.TryParse(excelRows[row][3].ToString(), out sum);

                if (productId != 0)
                {
                    SalesReport currentReport = new SalesReport
                    {
                        Location   = location,
                        ProductId  = productId,
                        Quantity   = quantity,
                        Sum        = sum,
                        UnitPrice  = unitPrice,
                        ReportDate = saleDate
                    };

                    sqlDb.SalesReports.Add(currentReport);
                    sqlDb.SaveChanges();
                }
            }
        }