public InventoryLedger GetNewestInventoryLedgerByDate(Session session, Guid _ItemUnitId, Guid _InventoryId, DateTime _IssueDate) { try { ItemUnit _ItemUnit = session.GetObjectByKey <ItemUnit>(_ItemUnitId); NAS.DAL.Nomenclature.Inventory.Inventory _Inventory = session.GetObjectByKey <NAS.DAL.Nomenclature.Inventory.Inventory>(_InventoryId); if (_ItemUnit == null || _Inventory == null) { return(null); } CriteriaOperator criteria_RowStatus = new BinaryOperator("RowStatus", Constant.ROWSTATUS_ACTIVE, BinaryOperatorType.GreaterOrEqual); CriteriaOperator criteria_ItemUnit = new BinaryOperator("ItemUnitId", _ItemUnit, BinaryOperatorType.Equal); CriteriaOperator criteria_Inventory = new BinaryOperator("InventoryId", _Inventory, BinaryOperatorType.Equal); CriteriaOperator criteria_IssueDate = new BinaryOperator("IssueDate", _IssueDate, BinaryOperatorType.LessOrEqual); CriteriaOperator criteria = CriteriaOperator.And(criteria_Inventory, criteria_ItemUnit, criteria_RowStatus); XPCollection <InventoryLedger> InventoryLedgerCol = new XPCollection <InventoryLedger>(session, criteria); InventoryLedgerCol.Sorting.Add(new SortProperty("IssueDate", SortingDirection.Descending)); InventoryLedgerCol.Sorting.Add(new SortProperty("CreateDate", SortingDirection.Descending)); InventoryLedger newestLedger = InventoryLedgerCol.FirstOrDefault(); return(newestLedger); } catch (Exception) { return(null); } }
public InventoryLedger GetPreviousInventoryLedger(Session session, DateTime IssueDate, Guid InventoryId, Guid AccountId, Guid LotID, Guid ItemUnitId) { InventoryLedger result = null; try { NAS.DAL.Nomenclature.Inventory.Inventory inventory = session.GetObjectByKey <NAS.DAL.Nomenclature.Inventory.Inventory>(InventoryId); Account account = session.GetObjectByKey <Account>(AccountId); Lot lot = session.GetObjectByKey <Lot>(LotID); ItemUnit itemUnit = session.GetObjectByKey <ItemUnit>(ItemUnitId); if (inventory == null || account == null || lot == null || itemUnit == null) { return(null); } CriteriaOperator criteria_RowStatus = new BinaryOperator("RowStatus", Constant.ROWSTATUS_ACTIVE, BinaryOperatorType.GreaterOrEqual); CriteriaOperator criteria_IssueDate = new BinaryOperator("IssueDate", IssueDate, BinaryOperatorType.LessOrEqual); CriteriaOperator criteria_Inventory = new BinaryOperator("InventoryId", inventory, BinaryOperatorType.Equal); CriteriaOperator criteria_Account = new BinaryOperator("AccountId", account, BinaryOperatorType.Equal); CriteriaOperator criteria_Lot = new BinaryOperator("LotId", lot, BinaryOperatorType.Equal); CriteriaOperator criteria_ItemUnit = new BinaryOperator("ItemUnitId", itemUnit, BinaryOperatorType.Equal); CriteriaOperator criteria = CriteriaOperator.And(criteria_IssueDate, criteria_RowStatus, criteria_Inventory, criteria_Account, criteria_Lot, criteria_ItemUnit); XPCollection <InventoryLedger> inventoryLedgerCol = new XPCollection <InventoryLedger>(session, criteria); } catch (Exception) { return(result); } return(result); }
/// <summary> /// /// </summary> /// <param name="uow"></param> /// <param name="credit"></param> /// <param name="debit"></param> /// <param name="createDate"></param> /// <param name="price"></param> /// <param name="issueDate"></param> /// <param name="inventoryTransactionId"></param> /// <param name="inventoryId"></param> /// <param name="itemUnitId"></param> /// <param name="CurrencyId"></param> public void CreateCOGS( Session session, double credit, double debit, DateTime createDate, double price, DateTime issueDate, Guid inventoryTransactionId, Guid inventoryId, Guid itemUnitId, Guid currencyId) { InventoryTransaction transaction = session.GetObjectByKey <InventoryTransaction>(inventoryTransactionId); if (transaction == null) { throw new Exception("The InventoryTransaction is not exist in system"); } NAS.DAL.Nomenclature.Inventory.Inventory inventory = session.GetObjectByKey <NAS.DAL.Nomenclature.Inventory.Inventory>(inventoryId); if (inventory == null) { throw new Exception("The Inventory is not exist in system"); } ItemUnit itemUnit = session.GetObjectByKey <ItemUnit>(itemUnitId); if (itemUnit == null) { throw new Exception("The ItemUnit is not exist in system"); } Currency currency = session.GetObjectByKey <Currency>(currencyId); if (currency == null) { throw new Exception("The Currency is not exist in system"); } COGS cogs = new COGS(session); cogs.Balance = 0; cogs.Total = 0; cogs.Credit = credit; cogs.Debit = debit; cogs.CreateDate = createDate; cogs.UpdateDate = createDate; cogs.Price = price; cogs.Assumption = 1; cogs.IssueDate = issueDate; cogs.InventoryTransactionId = transaction; cogs.InventoryId = inventory; cogs.ItemUnitId = itemUnit; cogs.CurrencyId = currency; cogs.Save(); }
public CustomFieldDataPreDefinitionData GetData(Guid objectCustomFieldId) { CustomFieldDataPreDefinitionData ret = null; Session session = null; try { session = XpoHelper.GetNewSession(); ObjectCustomField objectCustomField = session.GetObjectByKey <ObjectCustomField>(objectCustomFieldId); if (objectCustomField.ObjectCustomFieldDatas != null) { ret = new CustomFieldDataPreDefinitionData(); foreach (var data in objectCustomField.ObjectCustomFieldDatas) { PredefinitionData predefinitionData = (PredefinitionData)data.CustomFieldDataId; NAS.DAL.Nomenclature.Inventory.Inventory inventory = session.GetObjectByKey <NAS.DAL.Nomenclature.Inventory.Inventory>(predefinitionData.RefId); if (inventory != null) { CustomFieldDataPreDefinitionDataItem item = new CustomFieldDataPreDefinitionDataItem() { CustomFieldDataId = predefinitionData.CustomFieldDataId, PredefinitionType = predefinitionData.PredefinitionType, RefId = predefinitionData.RefId, DisplayText = inventory.Name }; ret.Add(item); } } } return(ret); } catch (Exception) { throw; } finally { if (session != null) { session.Dispose(); } } }
public Guid CreateInventoryPlanningJournal(Session session, Guid transactionId, Guid itemUnitId, double amount, Guid lotId, Guid inventoryId, string description) { Guid result = Guid.Empty; try { InventoryTransaction transaction = session.GetObjectByKey <InventoryTransaction>(transactionId); ItemUnit itemUnit = session.GetObjectByKey <ItemUnit>(itemUnitId); Lot lot = session.GetObjectByKey <Lot>(lotId); NAS.DAL.Nomenclature.Inventory.Inventory inventory = session.GetObjectByKey <NAS.DAL.Nomenclature.Inventory.Inventory>(inventoryId); CriteriaOperator filter = new BinaryOperator("Code", DefaultAccountEnum.OWNER_INVENTORY, BinaryOperatorType.Equal); Account account = session.FindObject <Account>(filter); InventoryJournal creditJournal = new InventoryJournal(session); creditJournal.JournalType = Constant.PLANNING_JOURNAL; creditJournal.InventoryTransactionId = transaction; creditJournal.AccountId = account; creditJournal.ItemUnitId = itemUnit; creditJournal.LotId = lot; creditJournal.InventoryId = inventory; creditJournal.CreateDate = DateTime.Now; creditJournal.Credit = amount; creditJournal.Description = description; creditJournal.RowStatus = Constant.ROWSTATUS_ACTIVE; creditJournal.Save(); InventoryJournal debitJournal = new InventoryJournal(session); debitJournal.JournalType = Constant.PLANNING_JOURNAL; debitJournal.InventoryTransactionId = transaction; debitJournal.AccountId = account; debitJournal.ItemUnitId = itemUnit; debitJournal.LotId = lot; debitJournal.InventoryId = inventory; debitJournal.CreateDate = DateTime.Now; debitJournal.Debit = amount; debitJournal.Description = description; debitJournal.RowStatus = Constant.ROWSTATUS_ACTIVE; debitJournal.Save(); } catch (Exception) { throw; } return(result); }
public CorrespondInventoryDim CreateCorrespondInventoryDim(Session session, Guid RefId) { try { NAS.DAL.Nomenclature.Inventory.Inventory inventory = session.GetObjectByKey <NAS.DAL.Nomenclature.Inventory.Inventory>(RefId); if (inventory == null) { return(null); } CorrespondInventoryDim inventoryDim = new CorrespondInventoryDim(session); inventoryDim.Code = inventory.Code; inventoryDim.Description = inventory.Description; inventoryDim.RefId = RefId; inventoryDim.Name = inventory.Name; inventoryDim.RowStatus = Constant.ROWSTATUS_ACTIVE; inventoryDim.Save(); return(inventoryDim); } catch (Exception) { return(null); } }
public InventoryLedger GetNewestInventoryLedger(Session session, ItemUnit _ItemUnit, NAS.DAL.Nomenclature.Inventory.Inventory _Inventory) { return(GetNewestInventoryLedger(session, _ItemUnit.ItemUnitId, _Inventory.InventoryId)); }
public double GetItemUnitBalance(Session session, ItemUnit _ItemUnit, NAS.DAL.Nomenclature.Inventory.Inventory _Inventory) { return(GetItemUnitBalance(session, _ItemUnit.ItemUnitId, _Inventory.InventoryId)); }
public static void Populate() { Session session = null; try { session = XpoHelper.GetNewSession(); //insert default data into Inventory table if (!Util.isExistXpoObject <NAS.DAL.Nomenclature.Inventory.Inventory>("Name", Utility.Constant.NAAN_DEFAULT_NAME)) { Nomenclature.Organization.Organization.Populate(); XPQuery <Nomenclature.Organization.Organization> organizationQuery = session.Query <Nomenclature.Organization.Organization>(); Nomenclature.Organization.Organization organization = organizationQuery.Where(r => r.Code == Utility.Constant.NAAN_DEFAULT_CODE).FirstOrDefault(); InventoryUnit.Populate(); XPQuery <InventoryUnit> inventoryUnitQuery = session.Query <InventoryUnit>(); InventoryUnit inventoryUnit = inventoryUnitQuery.Where(r => r.Name == Utility.Constant.NAAN_DEFAULT_NAME).FirstOrDefault(); NAS.DAL.Nomenclature.Inventory.Inventory inventory = new NAS.DAL.Nomenclature.Inventory.Inventory(session) { Name = Utility.Constant.NAAN_DEFAULT_NAME, Description = "", OrganizationId = organization, InventoryUnitId = inventoryUnit, RowStatus = -1, RowCreationTimeStamp = DateTime.Now }; inventory.Save(); } if (!Util.isExistXpoObject <NAS.DAL.Nomenclature.Inventory.Inventory>("InventoryId", "fa31071d-6010-4788-83b9-9f0ce0c90c5f")) { Nomenclature.Organization.Organization.Populate(); XPQuery <Nomenclature.Organization.Organization> organizationQuery = session.Query <Nomenclature.Organization.Organization>(); Nomenclature.Organization.Organization organization = organizationQuery.Where(r => r.Code == Utility.Constant.NAAN_DEFAULT_CODE).FirstOrDefault(); InventoryUnit.Populate(); XPQuery <InventoryUnit> inventoryUnitQuery = session.Query <InventoryUnit>(); InventoryUnit inventoryUnit = inventoryUnitQuery.Where(r => r.Name == Utility.Constant.NAAN_DEFAULT_NAME).FirstOrDefault(); NAS.DAL.Nomenclature.Inventory.Inventory inventory = new NAS.DAL.Nomenclature.Inventory.Inventory(session) { InventoryId = Guid.Parse("fa31071d-6010-4788-83b9-9f0ce0c90c5f"), Name = "Kho mặc định", Code = "KHOMACDINH", Description = "", OrganizationId = organization, InventoryUnitId = inventoryUnit, RowStatus = 1, RowCreationTimeStamp = DateTime.Now }; inventory.Save(); } if (!Util.isExistXpoObject <NAS.DAL.Nomenclature.Inventory.Inventory>("Code", "DEFAULTCST")) { Nomenclature.Organization.Organization.Populate(); XPQuery <Nomenclature.Organization.Organization> organizationQuery = session.Query <Nomenclature.Organization.Organization>(); Nomenclature.Organization.Organization organization = organizationQuery.Where(r => r.Code == Utility.Constant.NAAN_DEFAULT_CODE).FirstOrDefault(); InventoryUnit.Populate(); XPQuery <InventoryUnit> inventoryUnitQuery = session.Query <InventoryUnit>(); InventoryUnit inventoryUnit = inventoryUnitQuery.Where(r => r.Name == Utility.Constant.NAAN_DEFAULT_NAME).FirstOrDefault(); NAS.DAL.Nomenclature.Inventory.Inventory inventory = new NAS.DAL.Nomenclature.Inventory.Inventory(session) { Code = "DEFAULTCST", Name = "Kho khách hàng", Description = "", OrganizationId = organization, InventoryUnitId = inventoryUnit, RowStatus = -1, RowCreationTimeStamp = DateTime.Now }; inventory.Save(); } if (!Util.isExistXpoObject <NAS.DAL.Nomenclature.Inventory.Inventory>("Code", "TRANSITINVENTORY")) { Nomenclature.Organization.Organization.Populate(); XPQuery <Nomenclature.Organization.Organization> organizationQuery = session.Query <Nomenclature.Organization.Organization>(); Nomenclature.Organization.Organization organization = organizationQuery.Where(r => r.Code == Utility.Constant.NAAN_DEFAULT_CODE).FirstOrDefault(); InventoryUnit.Populate(); XPQuery <InventoryUnit> inventoryUnitQuery = session.Query <InventoryUnit>(); InventoryUnit inventoryUnit = inventoryUnitQuery.Where(r => r.Name == Utility.Constant.NAAN_DEFAULT_NAME).FirstOrDefault(); NAS.DAL.Nomenclature.Inventory.Inventory inventory = new NAS.DAL.Nomenclature.Inventory.Inventory(session) { Code = "TRANSITINVENTORY", Name = "Kho trung chuyển", Description = "", OrganizationId = organization, InventoryUnitId = inventoryUnit, RowStatus = -1, RowCreationTimeStamp = DateTime.Now }; inventory.Save(); } if (!Util.isExistXpoObject <NAS.DAL.Nomenclature.Inventory.Inventory>("Code", Utility.Constant.NAAN_DEFAULT_NOTAVAILABLE)) { NAS.DAL.Nomenclature.Inventory.Inventory inventory = new NAS.DAL.Nomenclature.Inventory.Inventory(session) { Code = Utility.Constant.NAAN_DEFAULT_NOTAVAILABLE, Name = Utility.Constant.NAAN_DEFAULT_NOTAVAILABLE, Description = Utility.Constant.NAAN_DEFAULT_NOTAVAILABLE, RowStatus = 1, RowCreationTimeStamp = DateTime.Now }; inventory.Save(); } } catch (Exception) { session.RollbackTransaction(); throw; } finally { if (session != null) { session.Dispose(); } } }