public void Post([FromBody] SaleModel sale)
        {
            var saleData = new SaleDataAccess();
            var id       = RequestContext.Principal.Identity.GetUserId();

            saleData.SaveSale(sale, id);
        }
Пример #2
0
        /// <summary>
        /// Insere uma nova venda.
        /// </summary>
        /// <param name="sale">Venda realizada</param>
        /// <param name="lstProducts">Lista de produtos vendidos</param>
        public void InsertSale(Sale sale, List <Product> lstProducts)
        {
            try
            {
                using (this.saleDataAccess = new SaleDataAccess())
                {
                    this.saleDataAccess.InsertSale(sale.OperatorId, sale.DateTime, sale.Subtotal, sale.Discount, sale.Total);

                    sale.Id = this.saleDataAccess.GetId(sale.OperatorId, sale.DateTime);

                    if (sale.Id > 0)
                    {
                        foreach (Product product in lstProducts)
                        {
                            try
                            {
                                this.saleDataAccess.InsertSaleProducts(sale.Id, product.Id, product.Quantity, product.CostPrice, product.SalePrice);

                                using (this.productDataAccess = new ProductDataAccess())
                                {
                                    this.productDataAccess.UpdateProductStockQuantity(product.BarCode, product.StockQuantity - product.Quantity);
                                }
                            }
                            catch (Exception ex)
                            {
                                Logging.Error(BusinessConstants.ProjectName,
                                              MethodBase.GetCurrentMethod().DeclaringType.Name,
                                              MethodBase.GetCurrentMethod().Name,
                                              ex.Message);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Logging.Error(BusinessConstants.ProjectName,
                              MethodBase.GetCurrentMethod().DeclaringType.Name,
                              MethodBase.GetCurrentMethod().Name,
                              ex.Message);

                throw ex;
            }
        }
Пример #3
0
        /// <summary>
        /// Busca todas as vendas realizadas entre duas datas.
        /// </summary>
        /// <param name="dateTimeInitial">Data inicial</param>
        /// <param name="dateTimeFinal">Data final</param>
        /// <returns>Retorna um DataTable contendo a busca realizada</returns>
        public DataTable GetSaleByDate(DateTime dateTimeInitial, DateTime dateTimeFinal)
        {
            try
            {
                using (this.saleDataAccess = new SaleDataAccess())
                {
                    return(this.saleDataAccess.GetSaleByDate(dateTimeInitial, dateTimeFinal));
                }
            }
            catch (Exception ex)
            {
                Logging.Error(BusinessConstants.ProjectName,
                              MethodBase.GetCurrentMethod().DeclaringType.Name,
                              MethodBase.GetCurrentMethod().Name,
                              ex.Message);

                throw ex;
            }
        }
Пример #4
0
 public SaleTransactionScript(IConfiguration configuration)
 {
     inventoryDataAccess = new InventoryDataAccess(configuration);
     saleDataAccess      = new SaleDataAccess(configuration);
     movieDataAccess     = new MovieDataAccess(configuration);
 }
 public SaleService()
 {
     this.saleDataAccess = new SaleDataAccess();
 }
        public List <SaleReportModel> GetSalesReport()
        {
            var saleData = new SaleDataAccess();

            return(saleData.GetSaleReport());
        }