/// <summary> /// /// </summary> /// <param name="assembly"></param> /// <param name="cbmcontrollerId"></param> /// <returns></returns> public CbmController GetCbm(string cbmcontrollerId) { lock (INSTANCE) { if (!initializedFlg) { Init(this.assemblyname); } try { CbmController cbmController = (CbmController)dicAssemblyTypeObj.First(c => c.Key == cbmcontrollerId).Value; return(cbmController); } catch (ArgumentNullException exception) { MessageData messageData = new MessageData("fsci00002", Properties.Resources.fsci00002, new string[] { cbmcontrollerId, exception.Message }); logger.Error(messageData, exception); throw new Framework.ApplicationException(messageData, exception); } catch (InvalidOperationException exception) { MessageData messageData = new MessageData("fsci00002", Properties.Resources.fsci00002, new string[] { cbmcontrollerId, exception.Message }); logger.Error(messageData, exception); throw new Framework.ApplicationException(messageData, exception); } } }
public ValueObject Execute(TransactionContext trxContext, ValueObject vo) { MasterMntCommonInVo inVo = (MasterMntCommonInVo)vo; CbmController targetCbm = inVo.TargetCbm; ValueObject targetInVo = inVo.TargetInVo; ValueObject outVo = targetCbm.Execute(trxContext, targetInVo); //invoke master mnt log DAO if (inVo.IsLogging) { var stringwriter = new System.IO.StringWriter(); var serializer = new XmlSerializer(outVo.GetType()); serializer.Serialize(stringwriter, outVo); //MasterMntUpdatedRecord logInVo = new MasterMntUpdatedRecord //{ // TableName = "user", // LogContents = stringwriter.ToString() //}; // UpdateLogMasterMntCbm updateLogCbm = new UpdateLogMasterMntCbm(); //MasterMntUpdatedRecord logOutVo = (MasterMntUpdatedRecord)updateLogCbm.Execute(trxContext, logInVo); } return(outVo); }
/// <summary> /// executing transaction /// </summary> /// <param name="cbm"></param> /// <param name="vo"></param> /// <returns></returns> public static ValueObject Invoke(CbmController cbm, ValueObject vo, string connectionString) { if (connectionString == null || connectionString.Trim() == string.Empty) { //throw new SystemException } return(DefaultCbmInvoker.Invoke(cbm, vo, connectionString)); }
/// <summary> /// invoking transaction for execution /// </summary> /// <param name="cbm"></param> /// <param name="vo"></param> /// <param name="connectionString"></param> /// <returns></returns> public static ValueObject Invoke(CbmController cbm, ValueObject vo, string connectionString) { if (string.IsNullOrWhiteSpace(connectionString)) { MessageData messageData = new MessageData("ffce00019", Properties.Resources.ffce00019); logger.Error(messageData, new NullReferenceException()); throw new SystemException(messageData, new NullReferenceException()); } return(Invoke(cbm, vo, null, defaultTrxFactory, connectionString)); }
/// <summary> /// invokes respective cbm /// </summary> /// <param name="userCbm"></param> /// <param name="userVo"></param> /// <param name="isLogging"></param> /// <returns></returns> public ValueObject InvokeCbm(CbmController userCbm, ValueObject userVo, bool isLogging) { MasterMntCommonInVo commonInVo = new MasterMntCommonInVo(); commonInVo.TargetCbm = userCbm; commonInVo.TargetInVo = userVo; commonInVo.IsLogging = isLogging; return(DefaultCbmInvoker.Invoke(commonCbm, commonInVo)); }
public ValueObject Execute(string CbmId, UserData userdata, ValueObject vo) { UserData usr = UserData.GetUserData(); usr.UserCode = userdata.UserCode; usr.FactoryCode = userdata.FactoryCode; CbmController cbm = cbmContainer.GetCbm(CbmId); return(DefaultCbmInvoker.Invoke(cbm, vo, userdata, UserDataSpecifiedTransactionContextFactory.GetInstance())); }
/// <summary> /// /// </summary> /// <param name="assembly"></param> /// <param name="cbmName"></param> /// <returns></returns> private CbmController CbmInstance(Assembly assembly, string cbmName) { try { CbmController cbmController = (CbmController)assembly.CreateInstance(cbmName); return(cbmController); } catch (ArgumentException exception) { MessageData messageData = new MessageData("fsce00002", Properties.Resources.fsce00002, new string[] { cbmName, exception.Message }); logger.Error(messageData, exception); throw new Framework.ApplicationException(messageData, exception); } catch (MissingMethodException exception) { MessageData messageData = new MessageData("fsce00002", Properties.Resources.fsce00002, new string[] { cbmName, exception.Message }); logger.Error(messageData, exception); throw new Framework.ApplicationException(messageData, exception); } catch (System.IO.FileLoadException exception) { MessageData messageData = new MessageData("fsce00002", Properties.Resources.fsce00002, new string[] { cbmName, exception.Message }); logger.Error(messageData, exception); throw new Framework.ApplicationException(messageData, exception); } catch (System.IO.FileNotFoundException exception) { MessageData messageData = new MessageData("fsce00002", Properties.Resources.fsce00002, new string[] { cbmName, exception.Message }); logger.Error(messageData, exception); throw new Framework.ApplicationException(messageData, exception); } catch (BadImageFormatException exception) { MessageData messageData = new MessageData("fsce00002", Properties.Resources.fsce00002, new string[] { cbmName, exception.Message }); logger.Error(messageData, exception); throw new Framework.ApplicationException(messageData, exception); } }
/// <summary> /// /// </summary> private void LoadCbmXmlAndCreateCbmInstance() { string filePath = AppDomain.CurrentDomain.BaseDirectory + ServerConfigurationDataTypeEnum.DEFAULT_CBM_LIST_XML.GetValue(); if (!System.IO.File.Exists(filePath)) { //logging return; } DataSet dsCbm = new DataSet(); //Read Xml file from Exection Path dsCbm.ReadXml(filePath); Assembly assembly = LoadAssembly(this.assemblyname); if (assembly == null) { //log return; } DataTable dtCbm = dsCbm.Tables[0]; if (dtCbm.Rows.Count == 0) { //logging return; } foreach (DataRow dr in dtCbm.Rows) { CbmController cbmController = CbmInstance(assembly, dr["Name"].ToString()); if (cbmController != null) { dicAssemblyTypeObj.Add(dr["ID"].ToString(), cbmController); } } }
public ValueObject Execute(TransactionContext trxContext, ValueObject vo) { InspectionReturnVo outVo = new InspectionReturnVo(); InspectionReturnVo copyChildVo = null; ValueObjectList <ValueObject> inListVo = (ValueObjectList <ValueObject>)vo; if (inListVo == null || inListVo.GetList() == null || inListVo.GetList().Count == 0) { return(outVo); } InspectionItemVo updateitemVo = (InspectionItemVo)inListVo.GetList()[2]; InspectionItemSelectionDatatypeValueVo updateSelectionDataTypeValueVo = (InspectionItemSelectionDatatypeValueVo)inListVo.GetList()[3]; copyInspectionFormatMasterMntCbm = new CopyInspectionFormatMasterMntCbm(); outVo = (InspectionReturnVo)copyInspectionFormatMasterMntCbm.Execute(trxContext, vo); updateitemVo.InspectionItemId = outVo.InspectionItemId; //copyChildItemsExist(trxContext, updateitemVo); InspectionItemVo childInVo = new InspectionItemVo(); childInVo.ParentInspectionItemId = updateitemVo.InspectionItemIdCopy; ValueObjectList <InspectionItemVo> childOutVo = (ValueObjectList <InspectionItemVo>)getInspectionItemChildCbm.Execute(trxContext, childInVo); if (childOutVo != null && childOutVo.GetList() != null && childOutVo.GetList().Count > 0) { int RunningNumber = 1; InspectionItemVo inVo = new InspectionItemVo(); //inVo.ParentInspectionItemId = updateitemVo.InspectionItemId; inVo.InspectionProcessId = updateitemVo.InspectionProcessId; InspectionItemVo getRunningNoVo = (InspectionItemVo)getInspectionItemSeqCbm.Execute(trxContext, inVo); if (getRunningNoVo != null && getRunningNoVo.InspectionItemCode != null) { string strTemp; strTemp = getRunningNoVo.InspectionItemCode; if (strTemp.LastIndexOf(GlobalMasterDataTypeEnum.CODE_SEPARATOR.GetValue()) > 0) { strTemp = strTemp.Substring(strTemp.LastIndexOf(GlobalMasterDataTypeEnum.CODE_SEPARATOR.GetValue()) + 1); if (strTemp.All(Char.IsDigit)) { RunningNumber = Convert.ToInt32(strTemp) + 1; } } } int displyOrd = 0; foreach (InspectionItemVo itmVo in childOutVo.GetList()) { displyOrd += 1; itmVo.ParentInspectionItemId = updateitemVo.InspectionItemId; itmVo.InspectionItemIdCopy = itmVo.InspectionItemId; itmVo.InspectionProcessCode = updateitemVo.InspectionProcessCode; itmVo.DisplayOrder = displyOrd; itmVo.InspectionItemCode = updateitemVo.InspectionProcessCode + GlobalMasterDataTypeEnum.CODE_SEPARATOR.GetValue() + GlobalMasterDataTypeEnum.ITEM_CODE.GetValue() + GlobalMasterDataTypeEnum.CODE_SEPARATOR.GetValue() + RunningNumber; inListVo.GetList()[2] = itmVo; copyInspectionFormatMasterMntCbm = new CopyInspectionFormatMasterMntCbm(); copyChildVo = (InspectionReturnVo)copyInspectionFormatMasterMntCbm.Execute(trxContext, inListVo); RunningNumber += 1; } } if (copyChildVo != null) { return(copyChildVo); } return(outVo); }
/// <summary> /// executing transaction /// </summary> /// <param name="cbm"></param> /// <param name="vo"></param> /// <returns></returns> internal static ValueObject Invoke(CbmController cbm, ValueObject vo, UserData userData, TransactionContextFactory trxFactory, string connectionString) { if (cbm == null) { MessageData messageData = new MessageData("ffce00001", Properties.Resources.ffce00001, System.Reflection.MethodBase.GetCurrentMethod().Name); logger.Error(messageData, new NullReferenceException()); throw new SystemException(messageData, new NullReferenceException()); } if (trxFactory == null) { //please write code here defaultTrxFactory.GetTransactionContext(userData); trxFactory = defaultTrxFactory; } IDbTransaction dbTransaction = null; IDbConnection connection = null; //Get TransactionContext TransactionContext trxContext = trxFactory.GetTransactionContext(userData); try { connection = new NpgsqlConnection(connectionString); trxContext.DbConnection = connection; trxContext.DbConnection.Open(); dbTransaction = trxContext.DbConnection.BeginTransaction(); //Get DB Processing Time CbmController GetDBProcessingTimeCbm = trxFactory.GetDBProcessingTimeCbm(); TimeVo time = (TimeVo)GetDBProcessingTimeCbm.Execute(trxContext, vo); trxContext.ProcessingDBDateTime = time.CurrentDateTime; //Start transaction ValueObject returnedVo = cbm.Execute(trxContext, vo); //commit dbTransaction.Commit(); return(returnedVo); } catch (ApplicationException appEx) { //rollback if (dbTransaction != null) { dbTransaction.Rollback(); } MessageData messageData = new MessageData("ffce00003", Properties.Resources.ffce00003, appEx.Message); logger.Error(messageData, appEx); throw appEx; } catch (SystemException sysEx) { //rollback if (dbTransaction != null) { dbTransaction.Rollback(); } MessageData messageData = new MessageData("ffce00003", Properties.Resources.ffce00003, sysEx.Message); logger.Error(messageData, sysEx); throw sysEx; } catch (Exception Ex) { //rollback if (dbTransaction != null) { dbTransaction.Rollback(); } MessageData messageData = new MessageData("ffce00003", Properties.Resources.ffce00003, Ex.Message); logger.Error(messageData, Ex); throw new SystemException(messageData); } finally { try { if (connection != null) { connection.Close(); } } catch (Exception ex) { //need to be implemented MessageData messageData = new MessageData("ffce00003", Properties.Resources.ffce00003, ex.Message); logger.Error(messageData, ex); throw new SystemException(messageData); } } }
/// <summary> /// invoking and executing transaction using userdata and transaxtioncontextfacctory /// </summary> /// <param name="cbm"></param> /// <param name="vo"></param> /// <param name="userData"></param> /// <param name="trxFactory"></param> /// <returns></returns> public static ValueObject Invoke(CbmController cbm, ValueObject vo, UserData userData, TransactionContextFactory trxFactory) { string connectionString = ConfigurationDataTypeEnum.CONNECTION_STRING.GetValue(); // Properties.Settings.Default.ConnectionString; return(Invoke(cbm, vo, userData, trxFactory, connectionString)); }
/// <summary> /// executing transaction /// </summary> /// <param name="cbm"></param> /// <param name="vo"></param> /// <returns></returns> public static ValueObject Invoke(CbmController cbm, ValueObject vo) { string connectionString = ConfigurationDataTypeEnum.CONNECTION_STRING.GetValue(); // Properties.Settings.Default.ConnectionString; return(Invoke(cbm, vo, connectionString)); }
/// <summary> /// executing transaction /// </summary> /// <param name="cbm">cbm to be executed</param> /// <param name="vo">input vo for the cbm</param> /// <param name="userData">userdata</param> /// <param name="trxFactory">TransactionContextFactory to get transactioncontext using userdata</param> /// <param name="connectionString">connectionString for connecting with another database</param> /// <exception cref="Com.Nidec.Mes.Framework.ApplicationException">application exception handled in cbm access and cbm invoke</exception> /// <exception cref="Com.Nidec.Mes.Framework.SystemException">system exception handled in cbm access and cbm invoke</exception> /// <exception cref="System.Exception">Unhandled exception occured has been thrown as system exception in cbm access and cbm invoke</exception> /// <returns>output vo will be returned / exception will be thrown for error cases</returns> internal static ValueObject Invoke(CbmController cbm, ValueObject vo, UserData userData, TransactionContextFactory trxFactory, string connectionString) { if (cbm == null) { MessageData messageData = new MessageData("ffce00041", Properties.Resources.ffce00041, System.Reflection.MethodBase.GetCurrentMethod().Name); logger.Error(messageData, new NullReferenceException()); throw new SystemException(messageData, new NullReferenceException()); } if (trxFactory == null) { //please write code here defaultTrxFactory.GetTransactionContext(userData); trxFactory = defaultTrxFactory; } IDbTransaction dbTransaction = null; IDbConnection connection = null; //Get TransactionContext TransactionContext trxContext = trxFactory.GetTransactionContext(userData); try { connection = new MySqlConnection(connectionString); trxContext.DbConnection = connection; trxContext.DbConnection.Open(); dbTransaction = trxContext.DbConnection.BeginTransaction(); //Start transaction ValueObject returnedVo = cbm.Execute(trxContext, vo); //commit dbTransaction.Commit(); return(returnedVo); } catch (ApplicationException appEx) { //rollback DbTransactionRollback(dbTransaction); MessageData messageData = new MessageData("ffce00042", Properties.Resources.ffce00042, appEx.Message); logger.Error(messageData, appEx); throw appEx; //throw original app exception } catch (SystemException sysEx) { //rollback DbTransactionRollback(dbTransaction); MessageData messageData = new MessageData("ffce00043", Properties.Resources.ffce00043, sysEx.Message); logger.Error(messageData, sysEx); throw sysEx; //throw original sys exception } catch (Exception Ex) { //rollback DbTransactionRollback(dbTransaction); MessageData messageData = new MessageData("ffce00044", Properties.Resources.ffce00044, Ex.Message); logger.Error(messageData, Ex); throw new SystemException(messageData, Ex); //throw original exception as sys exception } finally { try { if (connection != null) { connection.Close(); } } catch (Exception ex) { //need to be implemented MessageData messageData = new MessageData("ffce00045", Properties.Resources.ffce00045, ex.Message); logger.Error(messageData, ex); throw new SystemException(messageData, ex); //throw original exception as sys exception } } }