Beispiel #1
0
        public async Task <ActionResult <RemisionDto> > Post([FromBody] RemisionAltaDto itemDto)
        {
            try
            {
                if (itemDto.fecha_remision > DateTime.Now)
                {
                    var dto = new RemisionDto();
                    dto.error = $"La fecha de remisión no puede ser mayor a la fecha actual";
                    return(BadRequest(dto));
                }

                var itemEntity = _mapper.Map <Remision>(itemDto);
                var proveedor  = await _proveedorRepository.GetProveedorPorId(itemDto.proveedor_id);

                itemEntity.estado_remision_id = 1;
                itemEntity.fecha_pago         = itemDto.fecha_remision.AddDays(proveedor.dias_credito);
                itemEntity.comentarios        = itemDto.comentarios == null ? "" : itemDto.comentarios;
                _baseRepository.Add(itemEntity);

                if (await _baseRepository.SaveChangesAsync())
                {
                    return(Ok(_mapper.Map <RemisionDto>(itemEntity)));
                }
            }
            catch (Exception ex)
            {
                return(this.StatusCode(StatusCodes.Status500InternalServerError, ex.Message));
            }

            return(BadRequest());
        }
Beispiel #2
0
        public async Task <ActionResult <Remision> > UpdateRemision([FromBody] RemisionAltaDto itemDto)
        {
            try
            {
                var itemOld = await _repository.GetRemisionNoDtoPorId(itemDto.Id);

                if (itemOld == null)
                {
                    itemOld       = new Remision();
                    itemOld.error = $"La remision {itemDto.Id}, no existe en la base de datos.";
                    return(BadRequest(itemOld));
                }

                if (itemDto.fecha_remision > DateTime.Now)
                {
                    itemOld.error = $"La fecha de remisión no puede ser mayor a la fecha actual";
                    return(BadRequest(itemOld));
                }

                var proveedor = await _proveedorRepository.GetProveedorPorId(itemDto.proveedor_id);

                itemOld.fecha_pago = itemDto.fecha_remision.AddDays(proveedor.dias_credito);
                _mapper.Map(itemDto, itemOld);

                var updated = await _baseRepository.SaveChangesAsync();

                return(Ok(_mapper.Map <RemisionDto>(itemOld)));
            }
            catch (Exception ex)
            {
                return(this.StatusCode(StatusCodes.Status500InternalServerError, ex.Message));
            }
        }