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)); }
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(); } }
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()); }
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); }
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)); }