public void SaveHistory(Enums.HistoryType ht, PurchaseOrderItem original, string uid) { History h = new History(); h.ObjectTypeName = this.GetType().ToString(); h.Identifier = PurchaseOrderItemID; h.ChangeType = ht; switch (ht) { case org.secc.Purchasing.Enums.HistoryType.ADD: h.OriginalXML = null; h.UpdatedXML = Serialize(this); break; case org.secc.Purchasing.Enums.HistoryType.UPDATE: h.OriginalXML = Serialize(original); h.UpdatedXML = Serialize(this); break; case org.secc.Purchasing.Enums.HistoryType.DELETE: h.OriginalXML = Serialize(this); h.UpdatedXML = null; break; } h.Active = true; h.OrganizationID = PurchaseOrder.OrganizationID; h.Save(uid); }
public bool RemoveItem(int poItemID, string uid) { bool HasBeenRemoved = false; PurchaseOrderItem POItem = Items.FirstOrDefault(x => x.PurchaseOrderItemID == poItemID); if (!Status.GetAttributeValue("IsClosed").AsBoolean() && POItem != null && POItem.ItemID > 0) { POItem.Active = false; POItem.Save(uid); POItem.RequisitionItem.Requisition.SyncStatus(uid); RefreshItems(); HasBeenRemoved = true; } return(HasBeenRemoved); }
public void UpdatePOItems(List <ItemToAddToPO> ItemList, string uid) { foreach (var item in ItemList) { PurchaseOrderItem i = Items.FirstOrDefault(x => x.ItemID == item.RequisitionItemID && x.Price == item.ItemPrice && x.Active); if (i == null) { i = new PurchaseOrderItem(); } i.PurchaseOrderID = PurchaseOrderID; i.Quantity += item.QuantityToAdd; i.ItemID = item.RequisitionItemID; i.Price = item.ItemPrice; i.HasBeenReceived = false; i.Save(uid); } RefreshItems(); }
public void Save(string uid) { try { if (String.IsNullOrEmpty(uid)) { throw new ArgumentNullException("uid", "User Name is required"); } Dictionary <string, string> ValErrors = Validate(); if (ValErrors.Count > 0) { throw new RequisitionNotValidException("Purchase Order Item not valid", ValErrors); } using (PurchasingContext Context = ContextHelper.GetDBContext()) { Enums.HistoryType ChangeType; PurchaseOrderItem Original = null; PurchaseOrderItemData Data = null; if (PurchaseOrderItemID > 0) { Data = Context.PurchaseOrderItemDatas.FirstOrDefault(x => x.purchase_order_item_id == PurchaseOrderItemID); Original = new PurchaseOrderItem(Data); ChangeType = Enums.HistoryType.UPDATE; } else { Data = new PurchaseOrderItemData(); ChangeType = Enums.HistoryType.ADD; Data.date_created = DateTime.Now; Data.created_by = uid; } Data.requisition_item_id = ItemID; Data.purchase_order_id = PurchaseOrderID; Data.quantity = Quantity; Data.has_been_received = HasBeenReceived; Data.active = Active; Data.modified_by = uid; Data.date_modified = DateTime.Now; if (Price != 0) { Data.price = Price; } else { Data.price = null; } if (PurchaseOrderItemID <= 0) { Context.PurchaseOrderItemDatas.InsertOnSubmit(Data); } Context.SubmitChanges(); Load(Data); SaveHistory(ChangeType, Original, uid); } } catch (Exception ex) { throw new RequisitionException("An error has occurred while saving Purchase Order Item.", ex); } }