private void OnDelete(object sender, RoutedEventArgs e) { Button btn = sender as Button; if (btn != null) { InventoryTransactionObject tran = btn.CommandParameter as InventoryTransactionObject; if (tran != null) { if (UsePreCloseDay) { Cache.Current.InventoryActivity.Remove(tran); } else { Cache.Current.ReadyForOpenCartUpdate.Remove(tran); } Transactions.Remove(tran); } } }
/// <summary> /// Tìm đối tượng CMS object của InventoryJournal /// </summary> /// <typeparam name="T">is NAS.DAL.Inventory.Command.InventoryCommandFinancialTransaction /// or NAS.DAL.Inventory.Command.InventoryCommandItemTransaction /// </typeparam> /// <param name="transactionId"></param> /// <param name="type"></param> /// <returns></returns> public NAS.DAL.CMS.ObjectDocument.Object GetCMSTransaction <T>( Guid transactionId, ObjectTypeEnum type) { if (type != ObjectTypeEnum.INVENTORY_IN && type != ObjectTypeEnum.INVENTORY_MOVE && type != ObjectTypeEnum.INVENTORY_OUT) { throw new Exception("The Type is invalid"); } if (!typeof(T).Equals(typeof(NAS.DAL.Inventory.Command.InventoryCommandFinancialTransaction)) && !typeof(T).Equals(typeof(NAS.DAL.Inventory.Command.InventoryCommandItemTransaction))) { throw new Exception("The Generic Type is invalid"); } if (transactionId != null && !transactionId.Equals(Guid.Empty)) { NAS.DAL.CMS.ObjectDocument.Object cmsObject = null; using (UnitOfWork uow = XpoHelper.GetNewUnitOfWork()) { if (typeof(T).Equals(typeof(NAS.DAL.Inventory.Command.InventoryCommandItemTransaction))) { InventoryCommandItemTransaction transaction = uow.GetObjectByKey <InventoryCommandItemTransaction>(transactionId); InventoryTransactionObject transactionObject = transaction.InventoryTransactionObjects.FirstOrDefault(); if (transactionObject == null) { ObjectBO objectBO = new ObjectBO(); cmsObject = objectBO.CreateCMSObject(uow, type); InventoryTransactionObject newTransactionObject = new InventoryTransactionObject(uow) { ObjectId = cmsObject, InventoryTransactionId = transaction }; NAS.DAL.CMS.ObjectDocument.ObjectType objectType = uow.FindObject <ObjectType>(new BinaryOperator("Name", Enum.GetName(typeof(ObjectTypeEnum), type))); if (objectType == null) { throw new Exception("The OjectType is not exist in system"); } InventoryTransactionCustomType newTransactionCustomType = new InventoryTransactionCustomType(uow) { ObjectTypeId = objectType, InventoryTransactionId = transaction }; newTransactionCustomType.Save(); uow.CommitChanges(); } else { cmsObject = transactionObject.ObjectId; } return(cmsObject); } else { InventoryCommandFinancialTransaction transaction = uow.GetObjectByKey <InventoryCommandFinancialTransaction>(transactionId); TransactionObject transactionObject = transaction.TransactionObjects.FirstOrDefault(); if (transactionObject == null) { ObjectBO objectBO = new ObjectBO(); cmsObject = objectBO.CreateCMSObject(uow, type); TransactionObject newTransactionObject = new TransactionObject(uow) { ObjectId = cmsObject, TransactionId = transaction }; uow.CommitChanges(); } else { cmsObject = transactionObject.ObjectId; } return(cmsObject); } } } else { return(null); } }
/// <summary> /// Tạo dữ liệu cho CMS Object Inventory /// </summary> /// <typeparam name="T"></typeparam> /// <param name="uow"></param> /// <param name="InventoryObjectId"></param> /// <param name="CMSObjectType"></param> public void PopulateCMSObjecForInventoryObject <T>( UnitOfWork uow, Guid InventoryObjectId, DAL.CMS.ObjectDocument.ObjectTypeEnum CMSObjectType) { ObjectBO bo = new ObjectBO(); if (typeof(T).Equals(typeof(NAS.DAL.Inventory.Command.InventoryCommand))) { NAS.DAL.Inventory.Command.InventoryCommand inventoryObject = uow.GetObjectByKey <NAS.DAL.Inventory.Command.InventoryCommand>(InventoryObjectId); NAS.DAL.CMS.ObjectDocument.Object o = bo.CreateCMSObject(uow, CMSObjectType); InventoryCommandObject ICO = new InventoryCommandObject(uow); ICO.ObjectId = o; ICO.InventoryCommandId = (inventoryObject as NAS.DAL.Inventory.Command.InventoryCommand); ICO.Save(); NAS.DAL.CMS.ObjectDocument.ObjectType type = NAS.DAL.CMS.ObjectDocument.ObjectType.GetDefault(uow, CMSObjectType); if (type == null) { throw new Exception("The ObjectType is not exist in system"); } InventoryCommandCustomType ICCT = new InventoryCommandCustomType(uow); ICCT.ObjectTypeId = type; ICCT.InventoryCommandId = (inventoryObject as NAS.DAL.Inventory.Command.InventoryCommand); ICCT.Save(); } else if (typeof(T).Equals(typeof(NAS.DAL.Inventory.Command.InventoryCommandItemTransaction))) { InventoryCommandItemTransaction transactionObject = uow.GetObjectByKey <InventoryCommandItemTransaction>(InventoryObjectId); NAS.DAL.CMS.ObjectDocument.Object o = bo.CreateCMSObject(uow, CMSObjectType); InventoryTransactionObject ITO = new InventoryTransactionObject(uow); ITO.ObjectId = o; ITO.InventoryTransactionId = (transactionObject as NAS.DAL.Inventory.Journal.InventoryTransaction); ITO.Save(); NAS.DAL.CMS.ObjectDocument.ObjectType type = NAS.DAL.CMS.ObjectDocument.ObjectType.GetDefault(uow, CMSObjectType); InventoryTransactionCustomType ITCT = new InventoryTransactionCustomType(uow); ITCT.ObjectTypeId = type; ITCT.InventoryTransactionId = (transactionObject as NAS.DAL.Inventory.Journal.InventoryTransaction); ITCT.Save(); } else if (typeof(T).Equals(typeof(NAS.DAL.Inventory.Command.InventoryCommandFinancialTransaction))) { InventoryCommandFinancialTransaction transactionObject = uow.GetObjectByKey <InventoryCommandFinancialTransaction>(InventoryObjectId); NAS.DAL.CMS.ObjectDocument.Object o = bo.CreateCMSObject(uow, CMSObjectType); TransactionObject TO = new TransactionObject(uow); TO.ObjectId = o; TO.TransactionId = (transactionObject as Transaction); TO.Save(); } else if (typeof(T).Equals(typeof(NAS.DAL.Accounting.Journal.GeneralJournal))) { GeneralJournal journalObject = uow.GetObjectByKey <GeneralJournal>(InventoryObjectId); NAS.DAL.CMS.ObjectDocument.Object o = bo.CreateCMSObject(uow, CMSObjectType); GeneralJournalObject GJO = new GeneralJournalObject(uow); GJO.ObjectId = o; GJO.GeneralJournalId = (journalObject as GeneralJournal); GJO.Save(); NAS.DAL.CMS.ObjectDocument.ObjectType type = NAS.DAL.CMS.ObjectDocument.ObjectType.GetDefault(uow, CMSObjectType); GeneralJournalCustomType GJCT = new GeneralJournalCustomType(uow); GJCT.ObjectTypeId = type; GJCT.GeneralJournalId = (journalObject as GeneralJournal); GJCT.Save(); } else if (typeof(T).Equals(typeof(NAS.DAL.Inventory.Journal.InventoryJournal))) { InventoryJournal journalObject = uow.GetObjectByKey <InventoryJournal>(InventoryObjectId); NAS.DAL.CMS.ObjectDocument.Object o = bo.CreateCMSObject(uow, CMSObjectType); InventoryJournalObject ITO = new InventoryJournalObject(uow); ITO.ObjectId = o; ITO.InventoryJournalId = (journalObject as InventoryJournal); ITO.Save(); NAS.DAL.CMS.ObjectDocument.ObjectType type = NAS.DAL.CMS.ObjectDocument.ObjectType.GetDefault(uow, CMSObjectType); InventoryJournalCustomType ITCT = new InventoryJournalCustomType(uow); ITCT.ObjectTypeId = type; ITCT.InventoryJournalId = (journalObject as InventoryJournal); ITCT.Save(); } uow.FlushChanges(); }