public void UpdateSaleStock(AdminSale sale, int quantity)
 {
     sale.IsActive       = false;
     sale.Product.Stock += quantity;
     this._adminSaleRepository.Update(sale);
     this._unitOfWork.SaveChanges();
 }
        public JsonResult DeleteSale([FromBody] DeleteSaleRequest request)
        {
            BaseResponse baseResponse = new BaseResponse();
            AdminSale    sale         = this._adminSaleService.GetSale(request.SaleId);

            this._adminSaleService.UpdateSaleStock(sale, sale.Quantity);
            this._dealerProductService.UpdateDealerStock(this._dealerProductService.IsExists(sale.DealerId, sale.ProductId), sale.Quantity);
            baseResponse.Number  = 1;
            baseResponse.Message = "Satış işlemi başarıyla silinmiştir..";
            return(this.Json((object)baseResponse));
        }
        public JsonResult CreateSale([FromBody] CreateSaleRequest request)
        {
            string unitPrice = string.Empty;

            if (request.SalePrice.Substring(request.SalePrice.Length - 3).Contains(','))
            {
                unitPrice = request.SalePrice;
            }
            else
            {
                unitPrice = request.SalePrice.Replace(',', ';').Replace('.', ',').Replace(';', '.');
            }
            BaseResponse baseResponse = new BaseResponse();
            AdminSale    sale         = new AdminSale();

            sale.AdminId    = 2;
            sale.ProductId  = request.ProductId;
            sale.DateOfSale = request.SaleTime.Replace('/', '-');
            sale.DealerId   = request.DealerId;
            sale.Quantity   = Convert.ToInt32(request.Quantity);
            sale.UnitPrice  = Convert.ToDecimal(unitPrice);
            sale.TotalPrice = sale.UnitPrice * sale.Quantity;
            sale.IsActive   = true;
            _adminSaleService.Add(sale);

            Product product = _productService.GetById(request.ProductId);
            int     int32   = Convert.ToInt32(request.Quantity);

            product.Stock -= int32;
            this._productService.Update(product);
            DealerProduct dealerProduct = this._dealerProductService.IsExists(request.DealerId, request.ProductId);

            if (dealerProduct == null)
            {
                this._dealerProductService.Add(new DealerProduct()
                {
                    DealerId       = request.DealerId,
                    Stock          = int32,
                    DealerBuyPrice = product.AdminSalePrice,
                    IsActive       = true,
                    ProductId      = request.ProductId
                });
            }
            else
            {
                dealerProduct.Stock += int32;
                this._dealerProductService.Update(dealerProduct);
            }
            baseResponse.Number  = 1;
            baseResponse.Message = "Satış başarılı bir şekilde yapılmıştır..";
            return(this.Json((object)baseResponse));
        }
 public void Update(AdminSale adminSale)
 {
     this._adminSaleRepository.Update(adminSale);
     this._unitOfWork.SaveChanges();
 }
 public void Add(AdminSale adminSale)
 {
     this._adminSaleRepository.Add(adminSale);
     this._unitOfWork.SaveChanges();
 }