示例#1
0
 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!"));
     }
 }