public IHttpActionResult PrepareRequest(int requestPK, string userID, [FromBody] Client_InputPrepareRequestAPI input) { if (new ValidationBeforeCommandDAO().IsValidUser(userID, "Staff")) { IssuingDAO issuingDAO = new IssuingDAO(); StoringDAO storingDAO = new StoringDAO(); BoxDAO boxDAO = new BoxDAO(); IssuingSession issuingSession = null; try { issuingDAO.UpdateRequest(requestPK, true); boxDAO.ChangeIsActiveBoxes(input.boxIDs, false); issuingSession = issuingDAO.CreateIssuingSession(userID, requestPK, input.boxIDs); storingDAO.CreateIssueEntry(input, issuingSession); } catch (Exception e) { if (issuingSession != null) { issuingDAO.UpdateRequest(requestPK, false); boxDAO.ChangeIsActiveBoxes(input.boxIDs, true); issuingDAO.DeleteIssuingSession(issuingSession.IssuingSessionPK); } return(Content(HttpStatusCode.Conflict, new Content_InnerException(e).InnerMessage())); } return(Content(HttpStatusCode.OK, "TẠO YÊU CẦU XUẤT THÀNH CÔNG!")); } else { return(Content(HttpStatusCode.Conflict, "BẠN KHÔNG CÓ QUYỀN ĐỂ THỰC HIỆN VIỆC NÀY!")); } }