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 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 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 Client_DemandDetail(DemandedItem demandedItem, Accessory accessory, double totalRequestedQuantity, double availableQuantity) { DemandedItemPK = demandedItem.DemandedItemPK; DemandedQuantity = demandedItem.DemandedQuantity; AccessoryID = accessory.AccessoryID; AccessoryDescription = accessory.AccessoryDescription; Art = accessory.Art; Color = accessory.Color; Item = accessory.Item; TotalRequestedQuantity = totalRequestedQuantity; AvailableQuantity = availableQuantity; }
public void CreateDemandedItems(Demand demand, List <Client_Accessory_DemandedQuantity_Comment> list, int conceptionPK) { try { foreach (var item in list) { Accessory accessory = (from a in db.Accessories where a.AccessoryID == item.AccessoryID select a).FirstOrDefault(); Conception conception = db.Conceptions.Find(conceptionPK); ConceptionAccessory conceptionAccessory = (from ca in db.ConceptionAccessories where ca.AccessoryPK == accessory.AccessoryPK && ca.ConceptionPK == conception.ConceptionPK select ca).FirstOrDefault(); if (accessory == null) { throw new Exception("PHỤ LIỆU " + accessory.AccessoryID + " KHÔNG TỒN TẠI!"); } if (conception == null) { throw new Exception("MÃ HÀNG " + conception.ConceptionCode + " KHÔNG TỒN TẠI!"); } if (conceptionAccessory == null) { throw new Exception("PHỤ LIỆU " + accessory.AccessoryID + " CHƯA ĐƯỢC GẮN CC!"); } DemandedItem demandedItem = new DemandedItem(item.DemandedQuantity, item.Comment, demand.DemandPK, accessory.AccessoryPK); db.DemandedItems.Add(demandedItem); } db.SaveChanges(); } catch (Exception e) { throw e; } }
public void UpdateDemandedItem(int demandedItemPK, double demandedQuantity, string comment) { try { DemandedItem demandedItem = db.DemandedItems.Find(demandedItemPK); if (demandedQuantity > 0) { demandedItem.DemandedQuantity = demandedQuantity; demandedItem.Comment = comment; db.Entry(demandedItem).State = EntityState.Modified; } else { db.DemandedItems.Remove(demandedItem); } db.SaveChanges(); } catch (Exception e) { throw e; } }
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!")); } }