public IActionResult CreateCliente([FromBody] AddClienteRequest cliente) { if (cliente == null) { return(BadRequest()); } if (!ModelState.IsValid) { return(new UnprocessableEntityObjectResult(ModelState)); } _clientesRepository.ClienteExists(Guid.NewGuid()); var clienteEntity = Mapper.Map <Cliente>(cliente); _clientesRepository.AddCliente(clienteEntity); if (!_clientesRepository.Save()) { throw new Exception("Fallo al guardar cliente"); } var clienteToReturn = Mapper.Map <ClienteResponse>(clienteEntity); return(CreatedAtRoute("GetCliente", new { id = clienteToReturn.Id }, clienteToReturn)); }
public IActionResult BlockClienteCreation(Guid id) { if (_clientesRepository.ClienteExists(id)) { return(new StatusCodeResult(StatusCodes.Status409Conflict)); } return(NotFound()); }
public void OnActionExecuting(ActionExecutingContext context) { if (context.ActionArguments.ContainsKey("id")) { var id = (System.Guid)context.ActionArguments["id"]; if (!_clientesRepository.ClienteExists(id)) { context.Result = new NotFoundObjectResult(id); return; } } }
public IActionResult GetPresupuestosForCliente(Guid clienteId) { if (!_clientesRepository.ClienteExists(clienteId)) { return(NotFound()); } var presupuestoFromRepo = _clientesRepository.GetPresupuestosForCliente(clienteId); var presupuestos = Mapper.Map <IEnumerable <PresupuestoResponse> >(presupuestoFromRepo); return(Ok(presupuestos)); }