public void TestSellOfShare() { var shares = new List <EmployeeShare>(); shares.Add(new EmployeeShare() { GrantPrice = .45M, NumberOfUnits = 1000, VestDate = DateTime.Now.AddDays(-10) }); var bonus = new EmployeeBonus(); bonus.BonusDate = DateTime.Now.AddDays(10); bonus.Multiplier = 1.5M; var shareSell = new EmployeeSale(); shareSell.Quantity = 500; shareSell.SaleDate = DateTime.Now; shareSell.MarketSellPrice = 1.00M; var bonuslist = new List <EmployeeBonus>(); bonuslist.Add(bonus); var result = shareSell.CalculateSale(shares, bonuslist); Assert.IsTrue(result == 275); }
public BaseRecord GetRecord(string type, CsvReader csvReader) { switch (type) { case "VEST": var newShareRecord = new EmployeeShare { Action = csvReader.GetField <string>(0), EmployeeId = csvReader.GetField <string>(1), VestDate = ParseExactDate(csvReader.GetField <string>(2)), NumberOfUnits = csvReader.GetField <int>(3), GrantPrice = csvReader.GetField <decimal>(4) }; return(newShareRecord); case "PERF": var employeeBonus = new EmployeeBonus { Action = csvReader.GetField <string>(0), EmployeeId = csvReader.GetField <string>(1), BonusDate = ParseExactDate(csvReader.GetField <string>(2)), Multiplier = csvReader.GetField <decimal>(3) }; return(employeeBonus); case "SALE": var employeeSale = new EmployeeSale { Action = csvReader.GetField <string>(0), EmployeeId = csvReader.GetField <string>(1), SaleDate = ParseExactDate(csvReader.GetField <string>(2)), Quantity = csvReader.GetField <int>(3), MarketSellPrice = csvReader.GetField <decimal>(4) }; return(employeeSale); default: throw new InvalidInputException("Row type not supported."); } }
public void AddControlEmployeeBillFlowLayoutPanel() { flowLayoutPanelEmployee.Controls.Clear(); for (int i = 0; i < salesOperation.SelectEmployeeProducts().Rows.Count; i++) { Button b = new Button { Name = salesOperation.SelectEmployeeProducts().Rows[i][0].ToString(), BackgroundImage = Image.FromFile(salesOperation.SelectEmployeeProducts().Rows[i][3].ToString()), BackgroundImageLayout = ImageLayout.Stretch, Height = 100, Width = 100, Font = new Font(FontFamily.GenericMonospace, 18, FontStyle.Bold), }; flowLayoutPanelEmployee.Controls.Add(b); b.Click += (s, e) => { if (s is Button button) { if (!string.IsNullOrWhiteSpace(txtEmployeeBillID.Text)) { var selectedProduct = salesOperation.SelectEmployeeProducts(Convert.ToInt32(button.Name)); if (selectedProduct.Rows.Count > 0) { Receipt obj = new Receipt { Id = employeeBillOrder++, ProductName = selectedProduct.Rows[0][1].ToString(), Price = Convert.ToInt32(selectedProduct.Rows[0][4].ToString()), Quantity = 1 }; employeeBillTotal += obj.Price * obj.Quantity; receiptBindingSource.Add(obj); receiptBindingSource.MoveLast(); txtTotalEmployeeBill.Text = string.Format("RS {0}", employeeBillTotal); EmployeeSale employeeSale = new EmployeeSale { E_ID = Convert.ToInt32(txtEmployeeBillID.Text), ProductName = obj.ProductName, Quantity = obj.Quantity.ToString(), SaleDate = DateTime.Now.ToShortDateString(), Total = obj.Total.ToString() }; employeeSalesToSendInDB.Add(employeeSale); } } } }; Label l = new Label { Height = 100, Width = 150, Padding = new Padding(12), Text = "Name: " + salesOperation.SelectEmployeeProducts().Rows[i][1].ToString() + "\n price:" + salesOperation.SelectEmployeeProducts().Rows[i][4].ToString(), Name = "lbl" + salesOperation.SelectEmployeeProducts().Rows[i][0].ToString(), }; flowLayoutPanelEmployee.Controls.Add(l); } flowLayoutPanelEmployee.AutoScroll = true; }