Beispiel #1
0
        public ActionResult ViewSales(string beginDate, string endDate)
        {
            ViewBag.Message = "View Sales page.";

            if ((beginDate == "" || beginDate == null) || (endDate == "" || endDate == null))
            {
                beginDate = "4/1/2021 12:00:00 AM";
                endDate   = "6/30/2021 12:00:00 AM";
            }

            var data = SalesProcessor.LoadSales(DateTime.Parse(beginDate), DateTime.Parse(endDate));
            List <SalesListModel> salesList = new List <SalesListModel>();

            foreach (var row in data)
            {
                salesList.Add(new SalesListModel
                {
                    ProductName      = row.ProductName,
                    Manufacturer     = row.Manufacturer,
                    Style            = row.Style,
                    CustomerFName    = row.CustomerFName,
                    CustomerLName    = row.CustomerLName,
                    SaleDate         = row.SaleDate,
                    SalePrice        = row.SalePrice,
                    SalesPersonFName = row.SalesPersonFName,
                    SalesPersonLName = row.SalesPersonLName,
                    Commission       = row.Commission
                });
            }

            return(View(salesList));
        }
Beispiel #2
0
        static void PorcessYearlySales()
        {
            IEnumerable <Sales> sales;
            //string fileName = @"C:\Users\Zhirong.Xie\Desktop\Testing Data\Q2 Testing\7、已确认流向(201701-201806).csv";
            string fileName = @"C:\Users\Zhirong.Xie\Desktop\Testing Data\Q2\Updated_Sales_Data.csv";

            using (var reader = new CsvReader(new StreamReader(fileName)))
            {
                reader.Configuration.HeaderValidated = null;
                //               reader.Configuration.HasHeaderRecord = true;
                reader.Configuration.RegisterClassMap <UpdatedSalesClassMap>();
                sales = reader.GetRecords <Sales>().ToList();
                //foreach(Sales s in sales)
                //{
                //    Console.WriteLine(string.Format("Sequence {3},HCO Id: {0}, Month {1}, Sales {2}", s.HCOId, s.Month, s.Credit,s.Sequence));
                //}
            }

            //List<YearlySales> yearlySales = SalesProcessor.Process(sales, "2018Q2");
            List <YearlySales> yearlySales    = SalesProcessor.Process(sales, "2018Q1");
            string             resultFileName = @"C:\Users\Zhirong.Xie\Desktop\Testing Data\Q1\Last_Year_Sales_Data.csv";

            //string resultFileName = @"C:\Users\Zhirong.Xie\Desktop\Testing Data\Q2\Last_Year_Sales_Data.csv";
            //string resultFileName = @"C:\Users\Zhirong.Xie\Desktop\Testing Data\New_Sales_Data.csv";

            using (var writer = new CsvWriter(new StreamWriter(resultFileName)))
            {
                writer.Configuration.RegisterClassMap <YearlySalesClassMap>();
                writer.WriteRecords <YearlySales>(yearlySales);
                writer.Flush();
            }
        }
Beispiel #3
0
 public ActionResult CreateSale(SalesModel model)
 {
     if (ModelState.IsValid)
     {
         //left as int for testing purposes
         int recordsCreated = SalesProcessor.CreateSale(model.ProductID, model.SalesPersonID,
                                                        model.CustomerID, model.SaleDate);
         return(RedirectToAction("Index"));
     }
     return(View());
 }
Beispiel #4
0
        public void ProcessSale_ItemExists_ReturnsCorrectDiscount()
        {
            //arrange
            _stockMock = new Mock <IStockEngine>();
            _stockMock.Setup(x => x.LookupItem(1)).Returns(new StockData {
                Cost = 0.99M
            });

            //act
            var subject = new SalesProcessor(_stockMock.Object);
            var result  = subject.ProcessSale(1);

            //assert
            Assert.AreEqual((0.99M * 0.75M), result);
            Assert.AreEqual(1, _stockMock.Invocations.Count);
        }
Beispiel #5
0
        public ActionResult ViewCommissionReport()
        {
            ViewBag.Message = "View Commission Report";

            var data = SalesProcessor.LoadCommissionReport();
            List <CommissionReportModel> commissionReports = new List <CommissionReportModel>();

            foreach (var row in data)
            {
                commissionReports.Add(new CommissionReportModel
                {
                    ProductName          = row.ProductName,
                    SalePrice            = row.SalePrice,
                    CommissionPercentage = row.CommissionPercentage,
                    Commission           = row.Commission,
                    SalesPersonFName     = row.SalesPersonFName,
                    SalesPersonLName     = row.SalesPersonLName,
                    SaleDate             = row.SaleDate
                });
            }

            return(View(commissionReports));
        }