public IActionResult ReplyRequest(ProjectUserReplyRequest req) { var userId = HttpContext.User.Claims.Single(x => x.Type == "Id").Value; var res = _projectUserReqService.ReplyWith(Guid.Parse(userId), req); if (!res.Success) { return(BadRequest(res)); } return(Ok(res)); }
public ResponseBase ReplyWith(Guid userId, ProjectUserReplyRequest req) { var res = new ResponseBase(); var pur = _projectUserReqRepository.FindById(req.RequestId); if (pur == null) { return(res.ReturnErrorResponseWith("Specified request for project not found.")); } if (!pur.UserAssigned.Id.Equals(userId)) { return(res.ReturnErrorResponseWith("Request is not yours.")); } if (req.IsAccepted) { //update pur.Accepted = req.IsAccepted; _projectUserReqRepository.Update(pur); } else { _projectUserReqRepository.Delete(pur); } pur.Validate(); if (pur.GetBrokenRules().Count > 0) { return(res.ReturnErrorResponseWithMultiple(pur.GetBrokenRules())); } try { _uow.Commit(); } catch (Exception ex) { return(res.ReturnErrorResponseWith(ex.Message)); } res.Success = true; return(res); }