Ejemplo n.º 1
0
        public async Task <OperacionDto <ResponseSimpleDto> > InsertInvoice(InsertFacturaRequestDto requestDto)
        {
            var operationValidate = UtilityValidation.ModelValidate <ResponseSimpleDto>(requestDto);

            if (!operationValidate.Completado)
            {
                return(operationValidate);
            }

            var product = await _productoRepository.Get(requestDto.ProductId);

            if (product == null)
            {
                return(new OperacionDto <ResponseSimpleDto>(CodigosOperacionDto.NotExist, "No existe el producto"));
            }

            var seller = await _vendedorRepository.Get(requestDto.VendedorId);

            if (seller == null)
            {
                return(new OperacionDto <ResponseSimpleDto>(CodigosOperacionDto.NotExist, "No existe el vendedor"));
            }

            var client = await _clienteRepository.Get(requestDto.ClienteId);

            if (client == null)
            {
                return(new OperacionDto <ResponseSimpleDto>(CodigosOperacionDto.NotExist, "No existe el cliente"));
            }

            if (requestDto.Cantidad < 1)
            {
                return(new OperacionDto <ResponseSimpleDto>(CodigosOperacionDto.Invalid, "La cantidad de los productos debe ser mayor a 0"));
            }

            await _facturaRepository.InsertInvoice(requestDto.Serie, requestDto.Codigo, requestDto.VendedorId, requestDto.ClienteId, requestDto.Fecha, requestDto.Moneda, requestDto.ProductId, requestDto.Cantidad, requestDto.Precio);

            return(new OperacionDto <ResponseSimpleDto>(new ResponseSimpleDto()
            {
                Suceso = true,
                Mensaje = "Factura creada satisfactoriamente"
            }));
        }
Ejemplo n.º 2
0
        public async Task <ResponseSimpleDto> Insert(InsertFacturaRequestDto requestDto)
        {
            var operation = await _facturaService.InsertInvoice(requestDto);

            return(ReturnResultShowErrors(operation));
        }