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()); }
public async Task <ActionResult <Proveedor> > GetByIdAsync([FromQuery] int id) { try { var result = await _repository.GetProveedorPorId(id); if (result == null) { return(NotFound("Proveedor no encontrado")); } return(Ok(result)); } catch (Exception err) { return(this.StatusCode(StatusCodes.Status500InternalServerError, "DataBase Failure " + err.Message)); } }