public async Task Delete(VoucherDto dto)
        {
            var voucher = await _voucherRepository.GetById(dto.Id);

            if (voucher != null)
            {
                var delete = await _voucherRepository.GetById(voucher.Id);

                if (delete.ErasedState)
                {
                    delete.ErasedState = false;

                    await _voucherRepository.Update(delete);
                }
                else
                {
                    delete.ErasedState = true;

                    await _voucherRepository.Update(delete);
                }
            }
            else
            {
                throw new Exception("This Voucher not exist");
            }
        }
        public async Task Update(VoucherDto dto)
        {
            using (var context = new DataContext())
            {
                var updateVoucher = context.Vouchers.FirstOrDefault(x => x.Id == dto.Id);

                if (updateVoucher == null)
                {
                    throw new Exception("The Voucher to modify was not found");
                }
                else
                {
                    if (updateVoucher.ErasedState)
                    {
                        throw new Exception("The Voucher is eliminated");
                    }

                    updateVoucher.Number   = dto.Number;
                    updateVoucher.Date     = dto.Date;
                    updateVoucher.SubTotal = dto.SubTotal;
                    updateVoucher.Discount = dto.Discount;
                    updateVoucher.Total    = dto.Total;
                    updateVoucher.WayToPay = dto.WayToPay;
                    updateVoucher.UserId   = dto.UserId;

                    await _voucherRepository.Update(updateVoucher);
                }
            }
        }
        public void Should_Create_A_Voucher()
        {
            VoucherFields fields = null;

            VoucherDto voucher = _usecases.CreateVoucher(fields);

            Assert.NotNull(voucher);
        }
示例#4
0
        public SingleObjectModel GetVoucher([FromUri] int voucherId)
        {
            using (var usecases = VouchersUseCases.UseCaseInteractor()) {
                VoucherDto voucher = usecases.GetVoucher(voucherId);

                return(new SingleObjectModel(base.Request, voucher));
            }
        }
        public void Should_Update_A_Voucher()
        {
            int           voucherId = 0;
            VoucherFields fields    = null;

            VoucherDto voucher = _usecases.UpdateVoucher(voucherId, fields);

            Assert.NotNull(voucher);
        }
示例#6
0
        public SingleObjectModel CreateVoucher([FromBody] VoucherFields fields)
        {
            base.RequireBody(fields);

            using (var usecases = VoucherEditionUseCases.UseCaseInteractor()) {
                VoucherDto voucher = usecases.CreateVoucher(fields);

                return(new SingleObjectModel(base.Request, voucher));
            }
        }
示例#7
0
 public static VoucherSearchIndex CreateSearchIndex(this VoucherDto voucher, Func <long, string> getLineDescriptions)
 {
     return(new VoucherSearchIndex
     {
         Description = voucher.Description,
         FiscalSetupId = voucher.FiscalSetupId,
         Id = voucher.Id.Value,
         VoucherNumber = voucher.VoucherNumber,
         VoucherNumberRaw = $"{voucher.VoucherNumber}",
         LineDescriptions = getLineDescriptions(voucher.Id.Value)
     });
 }
示例#8
0
        public async Task <ResponseResult> AplicarVoucherCarrinho(VoucherDto voucher)
        {
            var itemContent = ObterConteudo(voucher);

            var response = await httpClient.PostAsync("/carrinho/aplicar-voucher/", itemContent);

            if (!TratarErrosResponse(response))
            {
                return(await DeserializarObjetoResponse <ResponseResult>(response));
            }

            return(RetornoOk());
        }
        public async Task Create(VoucherDto dto)
        {
            var voucher = new Domain.Entities.Voucher
            {
                Number      = dto.Number,
                Date        = dto.Date,
                SubTotal    = dto.SubTotal,
                Discount    = dto.Discount,
                Total       = dto.Total,
                WayToPay    = dto.WayToPay,
                UserId      = dto.UserId,
                ErasedState = false
            };

            await _voucherRepository.Create(voucher);
        }
示例#10
0
 public LedgerTagSpecificationPostDto(VoucherDto voucher, LedgerPostDto ledgerPost)
 {
     Voucher    = voucher;
     LedgerPost = ledgerPost;
 }