public void SaleSQLIntegration_Add_ShouldBeOk() { //Cenario Sale modelo = ObjectMother.GetSale(); modelo.Product = new Product { Id = 1, Name = "Rice", SalePrice = 6, CostPrice = 2, Disponibility = true, FabricationDate = DateTime.Now, ExpirationDate = DateTime.Now.AddMonths(4) }; //Executa Sale sale = _service.Add(modelo); //Saída sale.Id.Should().BeGreaterThan(0); var last = _service.Get(sale.Id); last.Should().NotBeNull(); var sales = _service.GetAll(); sales.Count().Should().Be(2); }
internal static void WorkWithFile(Byte[] file) { //1-2.IEnumerable<Sales> IEnumerable <Sales> sales = ParseCsv.ParseResource <Sales>(file, sale => { sale.CreatedByUserId = adminGuid; sale.CreatedDateTime = DateTime.UtcNow; }); // Check data whether there is a database (manager) ValidateData(sales); // write to the Sales database //3.AutoMapper BLL SalesService salesService = new SalesService(mapper); var saleBLL = MappingService.MappingForBLLEntities <BLL.Sale, BLL.Sales>(salesService, sales); //4.AutoMapper DAL SaleService saleService = new SaleService(mapper); var saleDAL = MappingService.MappingForDALEntities <DAL.Sale, BLL.Sale>(saleService, saleBLL); // find customers and products by their ID and, if not, create new IDs saleDAL = clientService.CheckNameId(saleDAL).Result; saleDAL = productService.CheckNameId(saleDAL).Result; // write to the sales database from the file saleService.Add(saleDAL); //SaveChangesWithException(saleService, "заказа"); }
public void SaleService_Add_Product_Unavailable_ShouldBeFail() { // Inicio Cenário //Modelo Sale modelo = ObjectMother.GetSale(); modelo.Product = new Product { Id = 1, Name = "Rice", SalePrice = 6, CostPrice = 2, Disponibility = false, FabricationDate = DateTime.Now, ExpirationDate = DateTime.Now.AddMonths(4) }; //Serviço SaleService service = new SaleService(_mockRepository.Object); // Fim Cenário //Executa Action comparison = () => service.Add(modelo); //Saída comparison.Should().Throw <SaleProductUnavailableException>(); _mockRepository.VerifyNoOtherCalls(); }
public void ProductService_Add_ShouldBeOK() { // Inicio Cenário //Modelo Sale modelo = ObjectMother.GetSale(); modelo.Product = new Product { Id = 1, Name = "Rice", SalePrice = 6, CostPrice = 2, Disponibility = true, FabricationDate = DateTime.Now, ExpirationDate = DateTime.Now.AddMonths(4) }; //Mock _mockRepository.Setup(m => m.Save(modelo)).Returns(new Sale() { Id = 1 }); //Serviço SaleService service = new SaleService(_mockRepository.Object); // Fim Cenário //Executa Sale resultado = service.Add(modelo); //Saída resultado.Should().NotBeNull(); resultado.Id.Should().BeGreaterThan(0); _mockRepository.Verify(repository => repository.Save(modelo)); }
private Sale RecordSale(string InvoiceNo, string AmountPaid, string subTotalAmt, DateTime?SaleDate, decimal totalAmount, decimal balance) { Sale sales = new Sale(); sales.CustomerID = txtCustomer.Tag.ToString(); sales.Amount = totalAmount; sales.SubTotal = decimal.Parse(subTotalAmt); sales.InvoiceDate = SaleDate.Value; sales.InvoiceNumber = InvoiceNo; sales.StoreID = DEFAULT_LOCALSTOREID; //arbituary value, to bo replaced sales.Tax = Math.Round(_saletax, 2); sales.PaymentModeID = int.Parse(cmbPaymentMode.SelectedValue.ToString()); //sales.Discount = txtSaleDiscount.Text == "" ? 0 : txtSaleDiscount.Text.ToDecimal(); sales.AmountPaid = decimal.Parse(AmountPaid); sales.Balance = balance; sales.DateClosed = decimal.Parse(AmountPaid) >= decimal.Parse(subTotalAmt) ? SaleDate : null; //sales.SaleTypeID = (int)SaleStatus.Invoice; //sales.SaleTypeID = int.Parse(TypeOfSale.Order.ToString()); sales.SaleStatusID = _sale.GetSaleStatus(totalAmount, AmountPaid.ToDecimal()); sales.EmployeeID = txtSalesPerson.Tag == null ? DEFAULT_SALESPERSONID : txtSalesPerson.Tag.ToString(); sales.Discount = txtSaleDiscount.Text == "" ? 0 : decimal.Parse(txtSaleDiscount.Text); sales.VoidSale = false; sales.LocationID = cmbLocation.SelectedValue.ToInt(); try { sales = _sale.FindAll(" SaleID= " + _sale.Add(sales)).FirstOrDefault(); } catch (Exception ex) { _logger.LogError(ex, "An error occurred", "ucSale", "btnRecord"); } return(sales); }
private void btnRecord_Click(object sender, EventArgs e) { if (btnRecord.Text == "OK") { ((frmControlHost)this.Parent).Close(); return; } if (gridViewItemLayout.Rows.Count == 0) { Helper.ShowMessage("Sale must contain at least one product", "Sale Invalid", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } //if (!UtilityClass.ValidateTexBox(txtAmountPaid)) // return; try { Product product; SaleDetail salesDetails; Sale sales = new Sale(); string InvoiceNo = txtInvoiceNo.Text; string AmountPaid = txtAmountPaid.Text; string subTotalAmt = txtSubTotal.Text; DateTime?SaleDate = dtpSaleDate.Value; decimal tax = txtSalTax.Text.ToDecimal(); int locationID = cmbLocation.SelectedValue.ToInt(); decimal saletax = _sale.CalculateTax(subTotalAmt.ToDecimal(), tax); decimal totalAmount = txtTotalAmt.Text.ToDecimal(); sales.CustomerID = txtCustomer.Tag.ToString(); sales.Amount = totalAmount; sales.SubTotal = decimal.Parse(subTotalAmt); sales.InvoiceDate = SaleDate.Value; sales.InvoiceNumber = InvoiceNo; sales.StoreID = DEFAULT_LOCALSTOREID; //arbituary value, to bo replaced sales.Tax = Math.Round(saletax, 2); sales.PaymentModeID = int.Parse(cmbPaymentMode.SelectedValue.ToString()); //sales.Discount = txtSaleDiscount.Text == "" ? 0 : txtSaleDiscount.Text.ToDecimal(); sales.AmountPaid = 0; sales.Balance = 0; sales.DateClosed = null; //sales.SaleTypeID = (int)SaleStatus.Order; sales.SaleStatusID = (int)SaleStatuses.Order;//_sale.GetSaleStatus(totalAmount, AmountPaid.ToDecimal()); sales.EmployeeID = txtSalesPerson.Tag == null ? DEFAULT_SALESPERSONID : txtSalesPerson.Tag.ToString(); sales.Discount = txtSaleDiscount.Text == "" ? 0 : decimal.Parse(txtSaleDiscount.Text); sales.VoidSale = false; sales.LocationID = cmbLocation.SelectedValue.ToInt(); try { sales = _sale.GetSingle(new Sale { SaleID = _sale.Add(sales) }); } catch (Exception ex) { _logger.LogError(ex, "An error occurred", "ucOrder", "btnRecord"); Helper.ShowMessage("An error occured " + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } foreach (DataGridViewRow dr in gridViewItemLayout.Rows) { if (dr.Cells[0].Value == null) { return; } salesDetails = new SaleDetail(); product = new Product(); salesDetails.SaleID = sales.SaleID; salesDetails.Quantity = int.Parse(dr.Cells["ColQty"].Value.ToString()); salesDetails.ProductID = dr.Cells["ColItmNumber"].Value.ToString(); salesDetails.UnitPrice = decimal.Parse(dr.Cells["ColPrice"].Value.ToString()); salesDetails.Discount = decimal.Parse(dr.Cells["ColDiscount"].Value.ToString()); salesDetails.Tax = decimal.Parse(dr.Cells["ColTax"].Value.ToString()); salesDetails.InvoiceNumber = InvoiceNo; salesDetails.LineTotal = decimal.Parse(dr.Cells["ColTotal"].Value.ToString()); salesDetails.LocationID = cmbLocation.SelectedValue.ToInt(); try { _saleDetail.Add(salesDetails); } catch { _sale.RollBackSaleTransaction(InvoiceNo); Helper.ShowMessage("Transaction was not completed, An error occured", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } int qty = int.Parse(dr.Cells["ColQty"].Value.ToString()); int productID = dr.Cells["ColItmNumber"].Value.ToInt(); try { _product.ReduceInventory(qty, productID, locationID); } catch (Exception ex) { _sale.RollBackSaleTransaction(InvoiceNo); _logger.LogError(ex, "An error occurred", "ucOrder", "btnRecord"); } } txtInvoiceNo.Tag = false; txtSubTotal.Tag = null; txtTotalAmt.Tag = null; Helper.ClearForm(this); gridViewItemLayout.Rows.Clear(); lblStatus.Text = "Order recorded successfully"; GetInvoiceNo(); } catch (Exception ex) { Helper.ShowMessage("An error occured sale has been cancelled \n" + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }