public IHttpActionResult GetRequestedItemsByRequestPK(int requestPK) { List <Client_RequestedItemDetail> client_RequestedItemDetails = new List <Client_RequestedItemDetail>(); IssuingDAO issuingDAO = new IssuingDAO(); try { Request request = db.Requests.Find(requestPK); List <RequestedItem> requestedItems = (from rI in db.RequestedItems where rI.RequestPK == request.RequestPK select rI).ToList(); foreach (var requestedItem in requestedItems) { DemandedItem demandedItem = db.DemandedItems.Find(requestedItem.DemandedItemPK); Accessory accessory = db.Accessories.Find(demandedItem.AccessoryPK); double sumOfOtherRequestedItem = issuingDAO.OtherRequestedItem(demandedItem.DemandedItemPK, requestedItem.RequestedItemPK); client_RequestedItemDetails.Add(new Client_RequestedItemDetail(requestedItem, accessory, demandedItem.DemandedQuantity, sumOfOtherRequestedItem, issuingDAO.InStoredQuantity(accessory.AccessoryPK) - issuingDAO.InRequestedQuantity(accessory.AccessoryPK))); } } catch (Exception e) { return(Content(HttpStatusCode.Conflict, new Content_InnerException(e).InnerMessage())); } return(Content(HttpStatusCode.OK, client_RequestedItemDetails)); }
public IHttpActionResult GetDemandAndDemandedItemsByDemandPK(int demandPK) { List <Client_DemandDetail> client_Demands = new List <Client_DemandDetail>(); IssuingDAO issuingDAO = new IssuingDAO(); try { Demand demand = db.Demands.Find(demandPK); List <DemandedItem> demandedItems = (from dI in db.DemandedItems where dI.DemandPK == demandPK select dI).ToList(); foreach (var demandedItem in demandedItems) { Accessory accessory = db.Accessories.Find(demandedItem.AccessoryPK); List <RequestedItem> requestedItems = (from rI in db.RequestedItems where rI.DemandedItemPK == demandedItem.DemandedItemPK select rI).ToList(); client_Demands.Add(new Client_DemandDetail(demandedItem, accessory, issuingDAO.TotalRequestedQuantity(requestedItems), //issuingDAO.TotalRequestedQuantityConfirmed(requestedItems), issuingDAO.InStoredQuantity(accessory.AccessoryPK) - issuingDAO.InRequestedQuantity(accessory.AccessoryPK))); } } catch (Exception e) { return(Content(HttpStatusCode.Conflict, new Content_InnerException(e).InnerMessage())); } return(Content(HttpStatusCode.OK, client_Demands)); }
public IHttpActionResult EditRequest(int requestPK, DateTime expectedDate, string comment, string userID, [FromBody] List <Client_RequestedItemPK_RequestedQuantity> list) { if (new ValidationBeforeCommandDAO().IsValidUser(userID, "Receiver")) { IssuingDAO issuingDAO = new IssuingDAO(); try { foreach (var item in list) { RequestedItem requestedItem = db.RequestedItems.Find(item.RequestedItemPK); DemandedItem demandedItem = db.DemandedItems.Find(requestedItem.DemandedItemPK); Accessory accessory = db.Accessories.Find(demandedItem.AccessoryPK); List <RequestedItem> requestedItems = (from rI in db.RequestedItems where rI.DemandedItemPK == demandedItem.DemandedItemPK select rI).ToList(); double temp = issuingDAO.InStoredQuantity(accessory.AccessoryPK) - issuingDAO.InOtherRequestedQuantity(accessory.AccessoryPK, item.RequestedItemPK); if (item.RequestedQuantity > temp) { return(Content(HttpStatusCode.Conflict, "SỐ LƯỢNG YÊU CẦU XUẤT KHÔNG HỢP LỆ!")); } temp = item.RequestedQuantity + issuingDAO.TotalOtherRequestedQuantity(requestedItem.RequestedItemPK, requestedItems); if (demandedItem.DemandedQuantity < temp) { return(Content(HttpStatusCode.Conflict, "SỐ LƯỢNG YÊU CẦU XUẤT KHÔNG HỢP LỆ!")); } } if (expectedDate.Date < DateTime.Now) { return(Content(HttpStatusCode.Conflict, "NGÀY DỰ KIẾN KHÔNG HỢP LỆ!")); } Request request = db.Requests.Find(requestPK); if (request.UserID != userID) { return(Content(HttpStatusCode.Conflict, "BẠN KHÔNG CÓ QUYỀN ĐỂ THỰC HIỆN VIỆC NÀY!")); } if (request.IsIssued) { return(Content(HttpStatusCode.Conflict, "YÊU CẦU XUẤT ĐÃ ĐƯỢC CHUẨN BỊ XONG!")); } // update request issuingDAO.UpdateRequest(requestPK, comment, expectedDate); // update requestedItems issuingDAO.UpdateRequestedItems(list, requestPK); } catch (Exception e) { return(Content(HttpStatusCode.Conflict, new Content_InnerException(e).InnerMessage())); } return(Content(HttpStatusCode.OK, "SỬA 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!")); } }
public IHttpActionResult GetRequestedItemsByRequestPKPrepared(int requestPK) { List <Client_RequestedItem> client_RequestedItemDetails = new List <Client_RequestedItem>(); IssuingDAO issuingDAO = new IssuingDAO(); try { Request request = db.Requests.Find(requestPK); if (request == null) { return(Content(HttpStatusCode.Conflict, "YÊU CẦU XUẤT KHÔNG TỒN TẠI!")); } List <RequestedItem> requestedItems = (from rI in db.RequestedItems where rI.RequestPK == request.RequestPK select rI).ToList(); foreach (var requestedItem in requestedItems) { DemandedItem demandedItem = db.DemandedItems.Find(requestedItem.DemandedItemPK); Accessory accessory = db.Accessories.Find(demandedItem.AccessoryPK); List <Client_Box_Shelf_Row> client_Boxes = issuingDAO.StoredBox_ItemPK_IsRestoredOfEntries(accessory); client_RequestedItemDetails.Add(new Client_RequestedItem(requestedItem, accessory, issuingDAO.InStoredQuantity(accessory.AccessoryPK), client_Boxes)); } } catch (Exception e) { return(Content(HttpStatusCode.Conflict, new Content_InnerException(e).InnerMessage())); } return(Content(HttpStatusCode.OK, client_RequestedItemDetails)); }
public IHttpActionResult CreateRequest(int demandPK, DateTime expectedDate, string comment, string userID, [FromBody] List <Client_DemandedItemPK_RequestedQuantity> list) { if (new ValidationBeforeCommandDAO().IsValidUser(userID, "Receiver")) { IssuingDAO issuingDAO = new IssuingDAO(); try { foreach (var item in list) { DemandedItem demandedItem = db.DemandedItems.Find(item.DemandedItemPK); Accessory accessory = db.Accessories.Find(demandedItem.AccessoryPK); List <RequestedItem> requestedItems = (from rI in db.RequestedItems where rI.DemandedItemPK == demandedItem.DemandedItemPK select rI).ToList(); if (item.RequestedQuantity > (issuingDAO.InStoredQuantity(accessory.AccessoryPK) - issuingDAO.InRequestedQuantity(accessory.AccessoryPK))) { return(Content(HttpStatusCode.Conflict, "SỐ LƯỢNG YÊU CẦU XUẤT KHÔNG HỢP LỆ!")); } if (demandedItem.DemandedQuantity < item.RequestedQuantity + issuingDAO.TotalRequestedQuantity(requestedItems)) { return(Content(HttpStatusCode.Conflict, "SỐ LƯỢNG YÊU CẦU XUẤT KHÔNG HỢP LỆ!")); } } if (expectedDate.Date < DateTime.Now) { return(Content(HttpStatusCode.Conflict, "NGÀY DỰ KIẾN KHÔNG HỢP LỆ!")); } // init requestid int noRequestID; Demand demand = db.Demands.Find(demandPK); if (!demand.IsOpened) { return(Content(HttpStatusCode.Conflict, "DEMAND ĐÃ ĐÓNG, KHÔNG THỂ TẠO YÊU CẦU XUẤT!")); } Request lastRequest = (from p in db.Requests.OrderByDescending(unit => unit.RequestPK) where p.RequestID.Contains(demand.DemandID) select p).FirstOrDefault(); if (lastRequest == null) { noRequestID = 1; } else { noRequestID = Int32.Parse(lastRequest.RequestID.Substring(lastRequest.RequestID.Length - 2)) + 1; } string requestID = (noRequestID >= 10) ? (demand.DemandID + "#" + noRequestID) : (demand.DemandID + "#" + "0" + noRequestID); // create request Request request = issuingDAO.CreateRequest(requestID, expectedDate, false, false, comment, demandPK, userID); // create requestedItems issuingDAO.CreateRequestedItems(list, request.RequestPK); } catch (Exception e) { 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!")); } }