Ejemplo n.º 1
0
        public bool DueUpdate(string invoiceNo, decimal due)
        {
            Sale record = _repository.GetAllActive().Where(x => x.InvoiceNo == invoiceNo).FirstOrDefault();

            if (due > -1 && due < record.Due)
            {
                record.Due = due;
                _repository.Commit();
                return(true);
            }
            return(false);
        }
Ejemplo n.º 2
0
        public IActionResult Create([FromBody] SaleViewModel sale)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Sale _newSale = Mapper.Map <SaleViewModel, Sale>(sale);

            _newSale.CreateDate = DateTime.Now;

            _saleRepository.Add(_newSale);
            _saleRepository.Commit();

            IEnumerable <Operation> operations = _operationRepository.FindBy(x => x.SellerId == sale.SellerId).ToList();

            var cardInit = operations.FirstOrDefault(x => x.OperationType == OperationType.CardInitiate);
            var cardSale = operations.FirstOrDefault(x => x.OperationType == OperationType.Sale);

            Report newReport = new Report()
            {
                Discount      = sale.SaleType == SaleType.CardInitiate ? (cardInit != null ? cardInit.Discount : 5) : (sale.Price * (cardSale != null ? cardSale.Discount : 10) / 100),
                CreateDate    = DateTime.Now,
                UpdateDate    = DateTime.Now,
                IsActive      = true,
                IsDeleted     = false,
                OperationType = sale.SaleType == SaleType.CardInitiate ? OperationType.CardInitiate.ToString() : OperationType.Sale.ToString(),
                SellerId      = sale.SellerId
            };

            _reportRepository.Add(newReport);
            _reportRepository.Commit();

            sale = Mapper.Map <Sale, SaleViewModel>(_newSale);

            CreatedAtRouteResult result = CreatedAtRoute("GetSale", new { controller = "Sale", id = sale.Id }, sale);

            return(result);
        }