public IActionResult Post([FromBody] PetitionTrace PetitionTrace) { int idPetitionTrace = 0; if (!ModelState.IsValid) { return(BadRequest()); } using (var transaction = new TransactionScope()) { try { string idUser = User.Claims.Where(c => c.Type.Equals(ClaimTypes.PrimarySid)).FirstOrDefault().Value; PetitionTrace.IdUser = int.Parse(idUser); idPetitionTrace = _unitOfWork.PetitionTrace.Insert(PetitionTrace); Petition petition = _unitOfWork.Petition.GetById(PetitionTrace.IdPetition); if (petition.State.Equals("A")) { petition.State = "P"; } _unitOfWork.Petition.Update(petition); transaction.Complete(); } catch (Exception ex) { transaction.Dispose(); return(StatusCode(500, "Internal server error: " + ex.Message)); } } return(Ok(idPetitionTrace)); }
public IActionResult Put([FromBody] PetitionTrace PetitionTrace) { try { if (ModelState.IsValid && _unitOfWork.PetitionTrace.Update(PetitionTrace)) { return(Ok(new { Message = "La petición se ha actualizado" })); } else { return(BadRequest()); } } catch (Exception ex) { return(StatusCode(500, "Internal server error: " + ex.Message)); } }