Ejemplo n.º 1
0
        public Sale Create(Sale sale)
        {
            var id = _saleRepository.Create(sale);

            sale.Id = id;
            var lstItens = new List <SaleItem> ();

            foreach (var item in sale.Items)
            {
                var itemSale = new SaleItem()
                {
                    IdTrack     = item.Id,
                    IdSale      = id,
                    Cashback    = item.Price * (item.PercentCashback / 100),
                    IdDayOfWeek = item.IdDayOfWeek
                };

                var retorno = _saleItemRepository.Create(itemSale);
                itemSale.Id = retorno;
                lstItens.Add(itemSale);
            }
            sale.Total         = sale.Items.Sum(r => r.Price);
            sale.TotalCashback = lstItens.Sum(r => r.Cashback);
            _ = UpdateAsync(sale);
            return(sale);
        }
Ejemplo n.º 2
0
 public void Create(Sale entity)
 {
     if (entity.IsValid())
     {
         _repository.Create(entity);
         _repository.Save();
     }
     else
     {
         throw new InvalidOperationException(Errors.InvalidSale);
     }
 }
Ejemplo n.º 3
0
        public void Run(Product product, int count, DateTime dateTime, float price, Seller seller)
        {
            Sale newSale = new Sale()
            {
                Product  = product,
                Count    = count,
                Price    = price,
                Datetime = dateTime,
                Seller   = seller
            };

            saleRepository.Create(newSale);
            return;
        }
Ejemplo n.º 4
0
 public string _ProcessSale(string saleItems)
 {
     try
     {
         var salestemsModel = JsonConvert.DeserializeObject <List <SaleItem> >(saleItems);
         var sale           = new Sale();
         sale.SaleItems = salestemsModel;
         _repository.Create(sale);
         return("The sale was processed with a total amount of $" + salestemsModel.Sum(s => s.Total) + ". You can review the sale at the report dashboard");
     }
     catch (JsonReaderException e)
     {
         return("The quantity must be a whole number");
     }
     catch (Exception e)
     {
         return("There has been a problem saving the data, please try again");
     }
 }
Ejemplo n.º 5
0
        public void SaveSale(SaleToken token)
        {
            var sale    = token.AsSale();
            var product = _productRepository.GetById(token.product_id);

            sale.name    = product.name;
            sale.summary = product.short_description;

            if (token.id == null)
            {
                sale.active       = false;
                sale.drops        = new Drop[0];
                sale.retail_price = product.retail_price;
                sale.price        = product.retail_price;
                _saleRepository.Create(sale);
                token.id = sale.id;
            }
            else
            {
                _saleRepository.Save(sale);
            }
        }
Ejemplo n.º 6
0
        public async Task <object> Create([FromBody] SaleViewModel saleViewModel)
        {
            CreateSaleViewModel createSaleViewModel = new CreateSaleViewModel();

            try
            {
                createSaleViewModel = _saleRepository.Create(saleViewModel);
            }
            catch (Exception ex)
            {
                result = false;
                error  = ex.Message;
            }

            return(new SingleResponse <CreateSaleViewModel>
            {
                Message = "Sale created successfully",
                DidError = false,
                ErrorMessage = string.Empty,
                Token = string.Empty,
                Model = createSaleViewModel
            });
        }
Ejemplo n.º 7
0
        public async Task <bool> Create(SaleDto saleDto)
        {
            var sale = new Sale
            {
                CustomerId = saleDto.CustomerId,
                Total      = saleDto.Total
            };

            _saleRepository.Create(sale);

            foreach (var saleDtoSaleDetailDto in saleDto.SaleDetailDtos)
            {
                _saleDetailRepository.Create(new SaleDetail
                {
                    SaleId    = sale.Id,
                    ProductId = saleDtoSaleDetailDto.ProductId,
                    Quantity  = saleDtoSaleDetailDto.Quantity
                });
            }

            await _unitOfWork.CommitAsync();

            return(true);
        }
Ejemplo n.º 8
0
 public async Task <string> Create(Sale sale)
 {
     return(await saleRepository.Create(sale));
 }
Ejemplo n.º 9
0
 public async Task <bool> CreateSale(Sale sale)
 {
     return(await _repo.Create(sale));
 }
Ejemplo n.º 10
0
        public async Task <int> CreateSale(Sale entity, CancellationToken cancellationToken = default(CancellationToken))
        {
            cancellationToken.ThrowIfCancellationRequested();

            return(await _saleRepository.Create(entity, cancellationToken));
        }
 private void CreateSale(Sale sale)
 {
     saleRepository.Create(sale);
 }