/// <summary> /// get master data /// </summary> /// <param name="id"></param> /// <param name="type"></param> /// <returns></returns> public MasterDataBase GetMasterData(MasterDataIdentity id, MasterDataType type) { MasterDataFactoryBase factory = this.GetMasterDataFactory(type); return(factory.GetEntity(id)); }
/// <summary> /// set dirty data /// </summary> protected void SetDirtyData() { MasterDataFactoryBase factory = null; if (this is BankAccountMasterData) { factory = _management .GetMasterDataFactory(MasterDataType.BANK_ACCOUNT); } else if (this is BankKeyMasterData) { factory = _management.GetMasterDataFactory(MasterDataType.BANK_KEY); } else if (this is BusinessAreaMasterData) { factory = _management .GetMasterDataFactory(MasterDataType.BUSINESS_AREA); } else if (this is CustomerMasterData) { factory = _management.GetMasterDataFactory(MasterDataType.CUSTOMER); } else if (this is GLAccountMasterData) { factory = _management .GetMasterDataFactory(MasterDataType.GL_ACCOUNT); } else if (this is VendorMasterData) { factory = _management.GetMasterDataFactory(MasterDataType.VENDOR); } factory._containDirtyData = true; }
/// <summary> /// get master data with identity /// </summary> /// <param name="idStr"></param> /// <param name="type"></param> /// <returns></returns> /// <exception cref="IdentityInvalidChar"></exception> /// <exception cref="IdentityNoData"></exception> /// <exception cref="IdentityTooLong"></exception> public MasterDataBase GetMasterData(char[] idStr, MasterDataType type) { MasterDataFactoryBase factory = this.GetMasterDataFactory(type); MasterDataIdentity id = new MasterDataIdentity(idStr); return(factory.GetEntity(id)); }
/// <summary> /// load the data from file system /// </summary> /// <returns></returns> /// <exception cref="MasterDataFileFormatException"></exception> /// <exception cref="SystemException"></exception> public override async Task InitializeAsync() { _coreDriver.logDebugInfo(this.GetType(), 141, "Master data loading...", MessageType.INFO); foreach (MasterDataType type in Enum.GetValues(typeof(MasterDataType))) { _coreDriver.logDebugInfo(this.GetType(), 144, String.Format("Loading {0}...", type), MessageType.INFO); StorageFile file = await getMasterFileAsync(type); _coreDriver.logDebugInfo(this.GetType(), 148, String.Format( "Master data file {0} for master data {1}.", file.Path, type), MessageType.INFO); String str = await FileIO.ReadTextAsync(file); XDocument xdoc = XDocument.Parse(str); // parse MasterDataFactoryBase newFactory = factoryParser(type, xdoc); _coreDriver.logDebugInfo(this.GetType(), 208, String.Format("Loading %s completed.", type), MessageType.INFO); this._factoryList.Add(type, newFactory); } _coreDriver.logDebugInfo( this.GetType(), 282, "Master data loading completed.", MessageType.INFO); }
/// <summary> /// Raise master data created event /// </summary> /// <param name="factory"></param> /// <param name="masterData"></param> public void CreateMasterData(MasterDataFactoryBase factory, MasterDataBase masterData) { foreach (MasterDataCreated d in MasterDataCreatedHandler.GetInvocationList()) { d(factory, masterData); } }
/// <summary> /// Get GL Account based on G/L account group /// </summary> /// <param name="group"></param> /// <returns></returns> public List <MasterDataIdentity_GLAccount> GetGLAccountsBasedGroup( GLAccountGroupENUM group) { MasterDataFactoryBase factory = GetMasterDataFactory(MasterDataType.GL_ACCOUNT); List <MasterDataBase> datas = factory.AllEntities; List <MasterDataIdentity_GLAccount> array = new List <MasterDataIdentity_GLAccount>(); foreach (MasterDataBase data in datas) { GLAccountMasterData glAccount = (GLAccountMasterData)data; if (glAccount.Group.Identity == group) { array.Add(glAccount.GLIdentity); } } array.Sort(); return(array); }
private void masterDataCreated(MasterDataFactoryBase factory, MasterDataBase master) { newMasterdata(master); }
/// <summary> /// constain master data /// </summary> /// <param name="id"></param> /// <param name="type"></param> /// <returns></returns> public bool ContainsMasterData(MasterDataIdentity id, MasterDataType type) { MasterDataFactoryBase factory = this.GetMasterDataFactory(type); return(factory.Contains(id)); }