Example #1
0
        public async Task <SaleResult> AddVenta(Ventas venta)
        {
            string     webApiUrl   = WebApiMethods.AddVenta;
            SaleResult ventaResult = await App.HttpTools.HttpPostObjectWithResponseDataAsync <Ventas, SaleResult>(webApiUrl, venta, "Hubo un error en el guardado de la venta").ConfigureAwait(false);

            return(ventaResult);
        }
Example #2
0
        public async Task CalculationTest2()
        {
            // TODO: Test the entire system from start to finish. Give a URL and check the total price returned...

            using (var client = new HttpClient())
            {
                string countyName = "Alamance County";
                double price      = 10.00;

                SaleResult saleResult = new SaleResult()
                {
                    County    = "alamance county",
                    SalePrice = 10.00m,
                    TaxRate   = 6.75m,
                    SaleTotal = 10.675m
                };

                string url = $"http://localhost:8080/salestax/?county={countyName}&price={price}";

                var response = await client.GetAsync(url);

                Assert.AreEqual(System.Net.HttpStatusCode.OK, response.StatusCode);

                string result = response.Content.ReadAsStringAsync().Result;
                Console.WriteLine(result);

                SaleResult queryResult = JsonConvert.DeserializeObject <SaleResult>(result);

                Assert.AreEqual(saleResult.County, queryResult.County);
                Assert.AreEqual(saleResult.SalePrice, queryResult.SalePrice);
                Assert.AreEqual(saleResult.TaxRate, queryResult.TaxRate);
                Assert.AreEqual(Math.Round(saleResult.SaleTotal, 3), Math.Round(queryResult.SaleTotal, 3));
            }
        }
Example #3
0
        public async Task CalculationTest6()
        {
            using (var client = new HttpClient())
            {
                string countyName = "SCOTLAND_COUNTY";
                double price      = 10.00;

                SaleResult saleResult = new SaleResult()
                {
                    County    = "scotland county",
                    SalePrice = 10.00m,
                    TaxRate   = 6.75m,
                    SaleTotal = 10.675m
                };

                string url = $"http://localhost:8080/salestax/?county={countyName}&price={price}";

                var response = await client.GetAsync(url);

                Assert.AreEqual(System.Net.HttpStatusCode.OK, response.StatusCode);

                string result = response.Content.ReadAsStringAsync().Result;
                Console.WriteLine(result);

                SaleResult queryResult = JsonConvert.DeserializeObject <SaleResult>(result);

                Assert.AreEqual(saleResult.County, queryResult.County);
                Assert.AreEqual(saleResult.SalePrice, queryResult.SalePrice);
                Assert.AreEqual(saleResult.TaxRate, queryResult.TaxRate);
                Assert.AreEqual(Math.Round(saleResult.SaleTotal, 3), Math.Round(queryResult.SaleTotal, 3));
            }
        }
Example #4
0
        public async Task CalculationTest3()
        {
            string url = "http://localhost:8080/salestax/";

            using (var client = new HttpClient())
            {
                InputData inputData = new InputData()
                {
                    County = "lincoln_county",
                    Price  = 10.00m
                };

                SaleResult saleResult = new SaleResult()
                {
                    County    = "lincoln county",
                    SalePrice = 10.00m,
                    TaxRate   = 7.00m,
                    SaleTotal = 10.700m
                };

                var json     = JsonConvert.SerializeObject(inputData);
                var content  = new StringContent(json, Encoding.UTF8, "application/json");
                var response = await client.PostAsync(url, content);

                Assert.AreEqual(System.Net.HttpStatusCode.OK, response.StatusCode);

                string result = response.Content.ReadAsStringAsync().Result;
                Console.WriteLine(result);

                SaleResult queryResult = JsonConvert.DeserializeObject <SaleResult>(result);

                Assert.AreEqual(saleResult.County, queryResult.County);
                Assert.AreEqual(saleResult.SalePrice, queryResult.SalePrice);
                Assert.AreEqual(saleResult.TaxRate, queryResult.TaxRate);
                Assert.AreEqual(Math.Round(saleResult.SaleTotal, 3), Math.Round(queryResult.SaleTotal, 3));
            }
        }
Example #5
0
        private void UserControl_KeyDown(object sender, KeyEventArgs e)
        {
            switch (e.Key)
            {
            case Key.Escape:
                SalesTabControl.SelectedIndex = 0;
                cortePagoList = new BindingList <CortePagos>();
                impuestoList  = new BindingList <VentaImpuestos>();
                tasaList      = new BindingList <TasaImpuesto>();
                returnList    = new BindingList <TasaImpuesto>();
                break;

            case Key.F3:
                globalEfectivo = _salesPresenter.GetTotalEfectivo(App._userApplication.idUsuario);
                Withdraw retiroStart = new Withdraw(globalEfectivo, true);
                retiroStart.ShowDialog();
                break;

            case Key.F9:
                endCashClose();
                SalesTabControl.SelectedIndex = 1;
                break;

            case Key.F2:
                CheckPrices checkPrice = new CheckPrices();
                checkPrice.ShowDialog();
                if ((bool)checkPrice.DialogResult)
                {
                    ProductSale productExtractToDB = _salesPresenter.GetProductByPLU(checkPrice.productoPLU);
                    addProductToSale(productExtractToDB, 1);
                }
                break;

            case Key.F12:
                if (products.Count > 0)
                {
                    Ventas venta = new Ventas
                    {
                        cambio     = 0,
                        estatus    = 'A',
                        fecha      = DateTime.Now,
                        folioVenta = 0,
                        idUsuario  = App._userApplication.idUsuario,
                        impuestos  = 0,
                        pagado     = products.Sum(x => x.Price * x.Quantity),
                        productos  = (from productos in products select new AddProductSale {
                            cantidad = productos.Quantity, idProducto = productos.idProducto, monto = productos.Total
                        }).ToList(),
                        total      = products.Sum(x => x.Price * x.Quantity),
                        pagos      = new List <VentaPagos> {
                            new VentaPagos {
                                cantidad = products.Sum(x => x.Price * x.Quantity), idTipoPago = 1
                            }
                        },
                        subtotal = products.Sum(x => x.Price * x.Quantity),
                        utilidad = 0,
                        impuesto = impuestosResumen
                    };
                    EndSale endsale = new EndSale(venta, products);
                    endsale.ShowDialog();
                    if ((bool)endsale.DialogResult)
                    {
                        venta.cambio    = endsale.cambio;
                        venta.pagado    = endsale.pagado;
                        venta           = endsale.ventaFin;
                        venta.impuestos = (float)Math.Round(venta.impuesto.Sum(x => x.cantidad), 2);
                        SaleResult addVenta = _salesPresenter.AddVenta(venta).Result;
                        auxVenta = addVenta.venta;
                        //TO DO
                        if (addVenta.totalEfectivo >= 1000)
                        {
                            WithdrawAlert retiros = new WithdrawAlert(addVenta.totalEfectivo, false);
                            retiros.ShowDialog();
                        }
                        products.Clear();
                        PrintMethod();
                    }
                }
                break;

            case Key.F11:
                PrintCashClose();
                break;
            }
        }