public Merchant Load(ISqlConnectionInfo connection, SqlQueryParameters parameters) { IDatabase database = connection.Database; if (database == null) { throw new ArgumentNullException("database", "Error initializing database connection."); } if (parameters == null) { throw new ArgumentNullException("parameters"); } string sqlCmdText = string.Empty; try { sqlCmdText = "SELECT {0} " + MerchantTable.GetColumnNames("[m]") + (this.Depth > 0 ? "," + InstanceTable.GetColumnNames("[m_i]") : string.Empty) + (this.Depth > 0 ? "," + TemplateTable.GetColumnNames("[m_t]") : string.Empty) + " FROM [core].[Merchant] AS [m] "; if (this.Depth > 0) { sqlCmdText += "INNER JOIN [core].[Instance] AS [m_i] ON [m].[InstanceID] = [m_i].[InstanceID] "; } if (this.Depth > 0) { sqlCmdText += "LEFT OUTER JOIN [core].[Template] AS [m_t] ON [m].[TemplateID] = [m_t].[TemplateID] "; } parameters.Top = 1; sqlCmdText = parameters.BuildQuery(sqlCmdText); SqlCommand sqlCmd = database.Add(sqlCmdText) as SqlCommand; foreach (KeyValuePair <string, object> argument in parameters.Arguments) { sqlCmd.Parameters.AddWithValue("@" + argument.Key, argument.Value); } SqlDataReader sqlReader = database.Add(sqlCmd) as SqlDataReader; if (!sqlReader.HasRows || !sqlReader.Read()) { IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("m", "customload", "notfound"), "Merchant could not be loaded using custom logic as it was not found.", sqlCmdText, this, connection, parameters); if (this.Logger.IsDebugEnabled) { this.Logger.Debug(builder.ToString()); } sqlReader.Close(); return(null); } SqlQuery query = new SqlQuery(sqlReader); MerchantTable mTable = new MerchantTable(query); InstanceTable m_iTable = (this.Depth > 0) ? new InstanceTable(query) : null; TemplateTable m_tTable = (this.Depth > 0) ? new TemplateTable(query) : null; Instance m_iObject = (this.Depth > 0) ? m_iTable.CreateInstance() : null; Template m_tObject = (this.Depth > 0) ? m_tTable.CreateInstance() : null; Merchant mObject = mTable.CreateInstance(m_iObject, m_tObject); sqlReader.Close(); return(mObject); } catch (Exception ex) { database.HandleException(ex); IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("m", "customload", "exception"), "Merchant could not be loaded using custom logic. See exception for details.", sqlCmdText, ex, this, connection, parameters); if (this.Logger.IsErrorEnabled) { this.Logger.Error(builder.ToString(), ex); } throw new DataOperationException(DataOperation.Load, "Merchant", "Exception while loading (custom/single) Merchant object from database. See inner exception for details.", ex); } }
protected override TranslationGroup LoadInternal(ISqlConnectionInfo connection, int id) { IDatabase database = connection.Database; if (database == null) { throw new ArgumentNullException("database", "Error initializing database connection."); } string sqlCmdText = string.Empty; try { sqlCmdText = "SELECT " + TranslationGroupTable.GetColumnNames("[tg]") + (this.Depth > 0 ? "," + TranslationTable.GetColumnNames("[tg_t]") : string.Empty) + (this.Depth > 1 ? "," + TranslationTypeTable.GetColumnNames("[tg_t_tt]") : string.Empty) + " FROM [core].[TranslationGroup] AS [tg] "; if (this.Depth > 0) { sqlCmdText += "INNER JOIN [core].[Translation] AS [tg_t] ON [tg].[TranslationID] = [tg_t].[TranslationID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[TranslationType] AS [tg_t_tt] ON [tg_t].[TranslationTypeID] = [tg_t_tt].[TranslationTypeID] "; } sqlCmdText += "WHERE [tg].[TranslationGroupID] = @TranslationGroupID;"; SqlCommand sqlCmd = database.Add(sqlCmdText) as SqlCommand; sqlCmd.Parameters.AddWithValue("@TranslationGroupID", id); SqlDataReader sqlReader = database.Add(sqlCmd) as SqlDataReader; if (!sqlReader.HasRows || !sqlReader.Read()) { IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("tg", "loadinternal", "notfound"), "TranslationGroup could not be loaded by id as it was not found.", sqlCmdText, this, connection, id); if (this.Logger.IsWarnEnabled) { this.Logger.Warn(builder.ToString()); } sqlReader.Close(); return(null); } SqlQuery query = new SqlQuery(sqlReader); TranslationGroupTable tgTable = new TranslationGroupTable(query); TranslationTable tg_tTable = (this.Depth > 0) ? new TranslationTable(query) : null; TranslationTypeTable tg_t_ttTable = (this.Depth > 1) ? new TranslationTypeTable(query) : null; TranslationType tg_t_ttObject = (this.Depth > 1) ? tg_t_ttTable.CreateInstance() : null; Translation tg_tObject = (this.Depth > 0) ? tg_tTable.CreateInstance(tg_t_ttObject) : null; TranslationGroup tgObject = tgTable.CreateInstance(tg_tObject); sqlReader.Close(); return(tgObject); } catch (Exception ex) { database.HandleException(ex); IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("tg", "loadinternal", "exception"), "TranslationGroup could not be loaded by id. See exception for details.", sqlCmdText, ex, this, connection, id); if (this.Logger.IsErrorEnabled) { this.Logger.Error(builder.ToString(), ex); } throw new DataOperationException(DataOperation.Load, "TranslationGroup", "Exception while loading TranslationGroup object from database. See inner exception for details.", ex); } }
public ServiceProfileGroupMap Load(ISqlConnectionInfo connection, SqlQueryParameters parameters) { IDatabase database = connection.Database; if (database == null) { throw new ArgumentNullException("database", "Error initializing database connection."); } if (parameters == null) { throw new ArgumentNullException("parameters"); } string sqlCmdText = string.Empty; try { sqlCmdText = "SELECT {0} " + ServiceProfileGroupMapTable.GetColumnNames("[spgm]") + (this.Depth > 0 ? "," + ProfileGroupTable.GetColumnNames("[spgm_pg]") : string.Empty) + (this.Depth > 1 ? "," + ProfileCategoryTable.GetColumnNames("[spgm_pg_pc]") : string.Empty) + " FROM [web].[ServiceProfileGroupMap] AS [spgm] "; if (this.Depth > 0) { sqlCmdText += "INNER JOIN [web].[ProfileGroup] AS [spgm_pg] ON [spgm].[ProfileGroupID] = [spgm_pg].[ProfileGroupID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [web].[ProfileCategory] AS [spgm_pg_pc] ON [spgm_pg].[ProfileCategoryID] = [spgm_pg_pc].[ProfileCategoryID] "; } parameters.Top = 1; sqlCmdText = parameters.BuildQuery(sqlCmdText); SqlCommand sqlCmd = database.Add(sqlCmdText) as SqlCommand; foreach (KeyValuePair <string, object> argument in parameters.Arguments) { sqlCmd.Parameters.AddWithValue("@" + argument.Key, argument.Value); } SqlDataReader sqlReader = database.Add(sqlCmd) as SqlDataReader; if (!sqlReader.HasRows || !sqlReader.Read()) { IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("spgm", "customload", "notfound"), "ServiceProfileGroupMap could not be loaded using custom logic as it was not found.", sqlCmdText, this, connection, parameters); if (this.Logger.IsDebugEnabled) { this.Logger.Debug(builder.ToString()); } sqlReader.Close(); return(null); } SqlQuery query = new SqlQuery(sqlReader); ServiceProfileGroupMapTable spgmTable = new ServiceProfileGroupMapTable(query); ProfileGroupTable spgm_pgTable = (this.Depth > 0) ? new ProfileGroupTable(query) : null; ProfileCategoryTable spgm_pg_pcTable = (this.Depth > 1) ? new ProfileCategoryTable(query) : null; ProfileCategory spgm_pg_pcObject = (this.Depth > 1) ? spgm_pg_pcTable.CreateInstance() : null; ProfileGroup spgm_pgObject = (this.Depth > 0) ? spgm_pgTable.CreateInstance(spgm_pg_pcObject) : null; ServiceProfileGroupMap spgmObject = spgmTable.CreateInstance(spgm_pgObject); sqlReader.Close(); return(spgmObject); } catch (Exception ex) { database.HandleException(ex); IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("spgm", "customload", "exception"), "ServiceProfileGroupMap could not be loaded using custom logic. See exception for details.", sqlCmdText, ex, this, connection, parameters); if (this.Logger.IsErrorEnabled) { this.Logger.Error(builder.ToString(), ex); } throw new DataOperationException(DataOperation.Load, "ServiceProfileGroupMap", "Exception while loading (custom/single) ServiceProfileGroupMap object from database. See inner exception for details.", ex); } }
protected override Merchant LoadInternal(ISqlConnectionInfo connection, int id) { IDatabase database = connection.Database; if (database == null) { throw new ArgumentNullException("database", "Error initializing database connection."); } string sqlCmdText = string.Empty; try { sqlCmdText = "SELECT " + MerchantTable.GetColumnNames("[m]") + (this.Depth > 0 ? "," + InstanceTable.GetColumnNames("[m_i]") : string.Empty) + (this.Depth > 0 ? "," + TemplateTable.GetColumnNames("[m_t]") : string.Empty) + " FROM [core].[Merchant] AS [m] "; if (this.Depth > 0) { sqlCmdText += "INNER JOIN [core].[Instance] AS [m_i] ON [m].[InstanceID] = [m_i].[InstanceID] "; } if (this.Depth > 0) { sqlCmdText += "LEFT OUTER JOIN [core].[Template] AS [m_t] ON [m].[TemplateID] = [m_t].[TemplateID] "; } sqlCmdText += "WHERE [m].[MerchantID] = @MerchantID;"; SqlCommand sqlCmd = database.Add(sqlCmdText) as SqlCommand; sqlCmd.Parameters.AddWithValue("@MerchantID", id); SqlDataReader sqlReader = database.Add(sqlCmd) as SqlDataReader; if (!sqlReader.HasRows || !sqlReader.Read()) { IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("m", "loadinternal", "notfound"), "Merchant could not be loaded by id as it was not found.", sqlCmdText, this, connection, id); if (this.Logger.IsWarnEnabled) { this.Logger.Warn(builder.ToString()); } sqlReader.Close(); return(null); } SqlQuery query = new SqlQuery(sqlReader); MerchantTable mTable = new MerchantTable(query); InstanceTable m_iTable = (this.Depth > 0) ? new InstanceTable(query) : null; TemplateTable m_tTable = (this.Depth > 0) ? new TemplateTable(query) : null; Instance m_iObject = (this.Depth > 0) ? m_iTable.CreateInstance() : null; Template m_tObject = (this.Depth > 0) ? m_tTable.CreateInstance() : null; Merchant mObject = mTable.CreateInstance(m_iObject, m_tObject); sqlReader.Close(); return(mObject); } catch (Exception ex) { database.HandleException(ex); IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("m", "loadinternal", "exception"), "Merchant could not be loaded by id. See exception for details.", sqlCmdText, ex, this, connection, id); if (this.Logger.IsErrorEnabled) { this.Logger.Error(builder.ToString(), ex); } throw new DataOperationException(DataOperation.Load, "Merchant", "Exception while loading Merchant object from database. See inner exception for details.", ex); } }
public List <Domain> LoadMany(ISqlConnectionInfo connection, SqlQueryParameters parameters) { IDatabase database = connection.Database; if (database == null) { throw new ArgumentNullException("database", "Error initializing database connection."); } if (parameters == null) { throw new ArgumentNullException("parameters"); } string sqlCmdText = string.Empty; try { sqlCmdText = "SELECT {0} " + DomainTable.GetColumnNames("[d]") + (this.Depth > 0 ? "," + ServiceTable.GetColumnNames("[d_s]") : string.Empty) + (this.Depth > 1 ? "," + ApplicationTable.GetColumnNames("[d_s_a]") : string.Empty) + (this.Depth > 1 ? "," + ProductTable.GetColumnNames("[d_s_p]") : string.Empty) + (this.Depth > 1 ? "," + MerchantTable.GetColumnNames("[d_s_m]") : string.Empty) + (this.Depth > 1 ? "," + ServiceTypeTable.GetColumnNames("[d_s_st]") : string.Empty) + (this.Depth > 1 ? "," + UserSessionTypeTable.GetColumnNames("[d_s_ust]") : string.Empty) + (this.Depth > 1 ? "," + CountryTable.GetColumnNames("[d_s_c]") : string.Empty) + (this.Depth > 1 ? "," + LanguageTable.GetColumnNames("[d_s_l]") : string.Empty) + (this.Depth > 1 ? "," + ServiceConfigurationTable.GetColumnNames("[d_s_sc]") : string.Empty) + (this.Depth > 1 ? "," + TemplateTable.GetColumnNames("[d_s_t]") : string.Empty) + " FROM [core].[Domain] AS [d] "; if (this.Depth > 0) { sqlCmdText += "INNER JOIN [core].[Service] AS [d_s] ON [d].[ServiceID] = [d_s].[ServiceID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[Application] AS [d_s_a] ON [d_s].[ApplicationID] = [d_s_a].[ApplicationID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[Product] AS [d_s_p] ON [d_s].[ProductID] = [d_s_p].[ProductID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[Merchant] AS [d_s_m] ON [d_s].[MerchantID] = [d_s_m].[MerchantID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[ServiceType] AS [d_s_st] ON [d_s].[ServiceTypeID] = [d_s_st].[ServiceTypeID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[UserSessionType] AS [d_s_ust] ON [d_s].[UserSessionTypeID] = [d_s_ust].[UserSessionTypeID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[Country] AS [d_s_c] ON [d_s].[FallbackCountryID] = [d_s_c].[CountryID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[Language] AS [d_s_l] ON [d_s].[FallbackLanguageID] = [d_s_l].[LanguageID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[ServiceConfiguration] AS [d_s_sc] ON [d_s].[ServiceConfigurationID] = [d_s_sc].[ServiceConfigurationID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[Template] AS [d_s_t] ON [d_s].[TemplateID] = [d_s_t].[TemplateID] "; } sqlCmdText = parameters.BuildQuery(sqlCmdText); SqlCommand sqlCmd = database.Add(sqlCmdText) as SqlCommand; foreach (KeyValuePair <string, object> argument in parameters.Arguments) { sqlCmd.Parameters.AddWithValue("@" + argument.Key, argument.Value); } SqlDataReader sqlReader = database.Add(sqlCmd) as SqlDataReader; if (!sqlReader.HasRows || !sqlReader.Read()) { IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("d", "customloadmany", "notfound"), "Domain list could not be loaded using custom logic as no items were found.", sqlCmdText, this, connection, parameters); if (this.Logger.IsDebugEnabled) { this.Logger.Debug(builder.ToString()); } sqlReader.Close(); return(new List <Domain>()); } SqlQuery query = new SqlQuery(sqlReader); DomainTable dTable = new DomainTable(query); ServiceTable d_sTable = (this.Depth > 0) ? new ServiceTable(query) : null; ApplicationTable d_s_aTable = (this.Depth > 1) ? new ApplicationTable(query) : null; ProductTable d_s_pTable = (this.Depth > 1) ? new ProductTable(query) : null; MerchantTable d_s_mTable = (this.Depth > 1) ? new MerchantTable(query) : null; ServiceTypeTable d_s_stTable = (this.Depth > 1) ? new ServiceTypeTable(query) : null; UserSessionTypeTable d_s_ustTable = (this.Depth > 1) ? new UserSessionTypeTable(query) : null; CountryTable d_s_cTable = (this.Depth > 1) ? new CountryTable(query) : null; LanguageTable d_s_lTable = (this.Depth > 1) ? new LanguageTable(query) : null; ServiceConfigurationTable d_s_scTable = (this.Depth > 1) ? new ServiceConfigurationTable(query) : null; TemplateTable d_s_tTable = (this.Depth > 1) ? new TemplateTable(query) : null; List <Domain> result = new List <Domain>(); do { Application d_s_aObject = (this.Depth > 1) ? d_s_aTable.CreateInstance() : null; Product d_s_pObject = (this.Depth > 1) ? d_s_pTable.CreateInstance() : null; Merchant d_s_mObject = (this.Depth > 1) ? d_s_mTable.CreateInstance() : null; ServiceType d_s_stObject = (this.Depth > 1) ? d_s_stTable.CreateInstance() : null; UserSessionType d_s_ustObject = (this.Depth > 1) ? d_s_ustTable.CreateInstance() : null; Country d_s_cObject = (this.Depth > 1) ? d_s_cTable.CreateInstance() : null; Language d_s_lObject = (this.Depth > 1) ? d_s_lTable.CreateInstance() : null; ServiceConfiguration d_s_scObject = (this.Depth > 1) ? d_s_scTable.CreateInstance() : null; Template d_s_tObject = (this.Depth > 1) ? d_s_tTable.CreateInstance() : null; Service d_sObject = (this.Depth > 0) ? d_sTable.CreateInstance(d_s_aObject, d_s_pObject, d_s_mObject, d_s_stObject, d_s_ustObject, d_s_cObject, d_s_lObject, d_s_scObject, d_s_tObject) : null; Domain dObject = (this.Depth > -1) ? dTable.CreateInstance(d_sObject) : null; result.Add(dObject); } while (sqlReader.Read()); sqlReader.Close(); return(result); } catch (Exception ex) { database.HandleException(ex); IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("d", "customloadmany", "exception"), "Domain list could not be loaded using custom logic. See exception for details.", sqlCmdText, ex, this, connection, parameters); if (this.Logger.IsErrorEnabled) { this.Logger.Error(builder.ToString(), ex); } throw new DataOperationException(DataOperation.Load, "Domain", "Exception while loading (custom/many) Domain object from database. See inner exception for details.", ex); } }
protected override ServiceProfileGroupMap LoadInternal(ISqlConnectionInfo connection, int id) { IDatabase database = connection.Database; if (database == null) { throw new ArgumentNullException("database", "Error initializing database connection."); } string sqlCmdText = string.Empty; try { sqlCmdText = "SELECT " + ServiceProfileGroupMapTable.GetColumnNames("[spgm]") + (this.Depth > 0 ? "," + ProfileGroupTable.GetColumnNames("[spgm_pg]") : string.Empty) + (this.Depth > 1 ? "," + ProfileCategoryTable.GetColumnNames("[spgm_pg_pc]") : string.Empty) + " FROM [web].[ServiceProfileGroupMap] AS [spgm] "; if (this.Depth > 0) { sqlCmdText += "INNER JOIN [web].[ProfileGroup] AS [spgm_pg] ON [spgm].[ProfileGroupID] = [spgm_pg].[ProfileGroupID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [web].[ProfileCategory] AS [spgm_pg_pc] ON [spgm_pg].[ProfileCategoryID] = [spgm_pg_pc].[ProfileCategoryID] "; } sqlCmdText += "WHERE [spgm].[ServiceProfileGroupMapID] = @ServiceProfileGroupMapID;"; SqlCommand sqlCmd = database.Add(sqlCmdText) as SqlCommand; sqlCmd.Parameters.AddWithValue("@ServiceProfileGroupMapID", id); SqlDataReader sqlReader = database.Add(sqlCmd) as SqlDataReader; if (!sqlReader.HasRows || !sqlReader.Read()) { IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("spgm", "loadinternal", "notfound"), "ServiceProfileGroupMap could not be loaded by id as it was not found.", sqlCmdText, this, connection, id); if (this.Logger.IsWarnEnabled) { this.Logger.Warn(builder.ToString()); } sqlReader.Close(); return(null); } SqlQuery query = new SqlQuery(sqlReader); ServiceProfileGroupMapTable spgmTable = new ServiceProfileGroupMapTable(query); ProfileGroupTable spgm_pgTable = (this.Depth > 0) ? new ProfileGroupTable(query) : null; ProfileCategoryTable spgm_pg_pcTable = (this.Depth > 1) ? new ProfileCategoryTable(query) : null; ProfileCategory spgm_pg_pcObject = (this.Depth > 1) ? spgm_pg_pcTable.CreateInstance() : null; ProfileGroup spgm_pgObject = (this.Depth > 0) ? spgm_pgTable.CreateInstance(spgm_pg_pcObject) : null; ServiceProfileGroupMap spgmObject = spgmTable.CreateInstance(spgm_pgObject); sqlReader.Close(); return(spgmObject); } catch (Exception ex) { database.HandleException(ex); IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("spgm", "loadinternal", "exception"), "ServiceProfileGroupMap could not be loaded by id. See exception for details.", sqlCmdText, ex, this, connection, id); if (this.Logger.IsErrorEnabled) { this.Logger.Error(builder.ToString(), ex); } throw new DataOperationException(DataOperation.Load, "ServiceProfileGroupMap", "Exception while loading ServiceProfileGroupMap object from database. See inner exception for details.", ex); } }
public override bool Update(ISqlConnectionInfo connection, UserDetail data) { IDatabase database = connection.Database; if (database == null) { throw new ArgumentNullException("database", "Error initializing database connection."); } if (data == null) { throw new ArgumentNullException("data"); } string sqlCmdText = string.Empty; try { data.Updated = DateTime.Now; sqlCmdText = "UPDATE [core].[UserDetail] SET " + "[UserID] = @UserID, " + "[CountryID] = @CountryID, " + "[GenderID] = @GenderID, " + "[FirstName] = @FirstName, " + "[LastName] = @LastName, " + "[Address] = @Address, " + "[Mail] = @Mail, " + "[Contact] = @Contact, " + "[BirthDate] = @BirthDate, " + "[Updated] = GETDATE() " + "WHERE [UserDetailID] = @UserDetailID;"; SqlCommand sqlCmd = database.Add(sqlCmdText) as SqlCommand; sqlCmd.Parameters.AddWithValue("@UserID", data.User.ID); sqlCmd.Parameters.AddWithValue("@CountryID", data.CountryID).SqlDbType = SqlDbType.Int; sqlCmd.Parameters.AddWithValue("@GenderID", data.Gender.ID); sqlCmd.Parameters.AddWithValue("@FirstName", data.FirstName).SqlDbType = SqlDbType.NVarChar; sqlCmd.Parameters.AddWithValue("@LastName", data.LastName).SqlDbType = SqlDbType.NVarChar; sqlCmd.Parameters.AddWithValue("@Address", !string.IsNullOrEmpty(data.Address) ? (object)data.Address : DBNull.Value).SqlDbType = SqlDbType.NVarChar; sqlCmd.Parameters.AddWithValue("@Mail", data.Mail).SqlDbType = SqlDbType.NVarChar; sqlCmd.Parameters.AddWithValue("@Contact", data.Contact).SqlDbType = SqlDbType.NVarChar; sqlCmd.Parameters.AddWithValue("@BirthDate", data.BirthDate.HasValue ? (object)data.BirthDate.Value : DBNull.Value).SqlDbType = SqlDbType.DateTime2; sqlCmd.Parameters.AddWithValue("@Updated", data.Updated).SqlDbType = SqlDbType.DateTime2; sqlCmd.Parameters.AddWithValue("@UserDetailID", data.ID); int rowCount = sqlCmd.ExecuteNonQuery(); if (rowCount < 1) { IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("ud", "update", "norecord"), "UserDetail could not be updated as no matching record was found.", sqlCmdText, this, connection, data); if (this.Logger.IsErrorEnabled) { this.Logger.Error(builder.ToString()); } throw new DataOperationException(DataOperation.Update, "UserDetail", "Exception while updating UserDetail object in database. No record found for this id."); } else if (rowCount > 1) { IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("ud", "update", "morerecords"), "UserDetail was updated but there was more than one record affected.", sqlCmdText, this, connection, data); if (this.Logger.IsFatalEnabled) { this.Logger.Fatal(builder.ToString()); } throw new DataOperationException(DataOperation.Update, "UserDetail", "Exception while updating UserDetail object in database. More than one record found for this statement (update statement where clause broken?!)."); } return(true); } catch (Exception ex) { database.HandleException(ex); IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("ud", "update", "exception"), "UserDetail could not be updated. See exception for details", sqlCmdText, ex, this, connection, data); if (this.Logger.IsErrorEnabled) { this.Logger.Error(builder.ToString(), ex); } throw new DataOperationException(DataOperation.Update, "UserDetail", "Exception while updating UserDetail object in database. See inner exception for details.", ex); } }
public MobileOperatorCode Load(ISqlConnectionInfo connection, SqlQueryParameters parameters) { IDatabase database = connection.Database; if (database == null) { throw new ArgumentNullException("database", "Error initializing database connection."); } if (parameters == null) { throw new ArgumentNullException("parameters"); } string sqlCmdText = string.Empty; try { sqlCmdText = "SELECT {0} " + MobileOperatorCodeTable.GetColumnNames("[moc]") + (this.Depth > 0 ? "," + MobileOperatorTable.GetColumnNames("[moc_mo]") : string.Empty) + (this.Depth > 1 ? "," + CountryTable.GetColumnNames("[moc_mo_c]") : string.Empty) + " FROM [core].[MobileOperatorCode] AS [moc] "; if (this.Depth > 0) { sqlCmdText += "INNER JOIN [core].[MobileOperator] AS [moc_mo] ON [moc].[MobileOperatorID] = [moc_mo].[MobileOperatorID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[Country] AS [moc_mo_c] ON [moc_mo].[CountryID] = [moc_mo_c].[CountryID] "; } parameters.Top = 1; sqlCmdText = parameters.BuildQuery(sqlCmdText); SqlCommand sqlCmd = database.Add(sqlCmdText) as SqlCommand; foreach (KeyValuePair <string, object> argument in parameters.Arguments) { sqlCmd.Parameters.AddWithValue("@" + argument.Key, argument.Value); } SqlDataReader sqlReader = database.Add(sqlCmd) as SqlDataReader; if (!sqlReader.HasRows || !sqlReader.Read()) { IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("moc", "customload", "notfound"), "MobileOperatorCode could not be loaded using custom logic as it was not found.", sqlCmdText, this, connection, parameters); if (this.Logger.IsDebugEnabled) { this.Logger.Debug(builder.ToString()); } sqlReader.Close(); return(null); } SqlQuery query = new SqlQuery(sqlReader); MobileOperatorCodeTable mocTable = new MobileOperatorCodeTable(query); MobileOperatorTable moc_moTable = (this.Depth > 0) ? new MobileOperatorTable(query) : null; CountryTable moc_mo_cTable = (this.Depth > 1) ? new CountryTable(query) : null; Country moc_mo_cObject = (this.Depth > 1) ? moc_mo_cTable.CreateInstance() : null; MobileOperator moc_moObject = (this.Depth > 0) ? moc_moTable.CreateInstance(moc_mo_cObject) : null; MobileOperatorCode mocObject = mocTable.CreateInstance(moc_moObject); sqlReader.Close(); return(mocObject); } catch (Exception ex) { database.HandleException(ex); IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("moc", "customload", "exception"), "MobileOperatorCode could not be loaded using custom logic. See exception for details.", sqlCmdText, ex, this, connection, parameters); if (this.Logger.IsErrorEnabled) { this.Logger.Error(builder.ToString(), ex); } throw new DataOperationException(DataOperation.Load, "MobileOperatorCode", "Exception while loading (custom/single) MobileOperatorCode object from database. See inner exception for details.", ex); } }
public UserDetail Load(ISqlConnectionInfo connection, SqlQueryParameters parameters) { IDatabase database = connection.Database; if (database == null) { throw new ArgumentNullException("database", "Error initializing database connection."); } if (parameters == null) { throw new ArgumentNullException("parameters"); } string sqlCmdText = string.Empty; try { sqlCmdText = "SELECT {0} " + UserDetailTable.GetColumnNames("[ud]") + (this.Depth > 0 ? "," + UserTable.GetColumnNames("[ud_u]") : string.Empty) + (this.Depth > 1 ? "," + UserTypeTable.GetColumnNames("[ud_u_ut]") : string.Empty) + (this.Depth > 0 ? "," + GenderTable.GetColumnNames("[ud_g]") : string.Empty) + " FROM [core].[UserDetail] AS [ud] "; if (this.Depth > 0) { sqlCmdText += "INNER JOIN [core].[User] AS [ud_u] ON [ud].[UserID] = [ud_u].[UserID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[UserType] AS [ud_u_ut] ON [ud_u].[UserTypeID] = [ud_u_ut].[UserTypeID] "; } if (this.Depth > 0) { sqlCmdText += "INNER JOIN [core].[Gender] AS [ud_g] ON [ud].[GenderID] = [ud_g].[GenderID] "; } parameters.Top = 1; sqlCmdText = parameters.BuildQuery(sqlCmdText); SqlCommand sqlCmd = database.Add(sqlCmdText) as SqlCommand; foreach (KeyValuePair <string, object> argument in parameters.Arguments) { sqlCmd.Parameters.AddWithValue("@" + argument.Key, argument.Value); } SqlDataReader sqlReader = database.Add(sqlCmd) as SqlDataReader; if (!sqlReader.HasRows || !sqlReader.Read()) { IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("ud", "customload", "notfound"), "UserDetail could not be loaded using custom logic as it was not found.", sqlCmdText, this, connection, parameters); if (this.Logger.IsDebugEnabled) { this.Logger.Debug(builder.ToString()); } sqlReader.Close(); return(null); } SqlQuery query = new SqlQuery(sqlReader); UserDetailTable udTable = new UserDetailTable(query); UserTable ud_uTable = (this.Depth > 0) ? new UserTable(query) : null; UserTypeTable ud_u_utTable = (this.Depth > 1) ? new UserTypeTable(query) : null; GenderTable ud_gTable = (this.Depth > 0) ? new GenderTable(query) : null; UserType ud_u_utObject = (this.Depth > 1) ? ud_u_utTable.CreateInstance() : null; User ud_uObject = (this.Depth > 0) ? ud_uTable.CreateInstance(ud_u_utObject) : null; Gender ud_gObject = (this.Depth > 0) ? ud_gTable.CreateInstance() : null; UserDetail udObject = udTable.CreateInstance(ud_uObject, ud_gObject); sqlReader.Close(); return(udObject); } catch (Exception ex) { database.HandleException(ex); IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("ud", "customload", "exception"), "UserDetail could not be loaded using custom logic. See exception for details.", sqlCmdText, ex, this, connection, parameters); if (this.Logger.IsErrorEnabled) { this.Logger.Error(builder.ToString(), ex); } throw new DataOperationException(DataOperation.Load, "UserDetail", "Exception while loading (custom/single) UserDetail object from database. See inner exception for details.", ex); } }
protected override UserDetail LoadInternal(ISqlConnectionInfo connection, int id) { IDatabase database = connection.Database; if (database == null) { throw new ArgumentNullException("database", "Error initializing database connection."); } string sqlCmdText = string.Empty; try { sqlCmdText = "SELECT " + UserDetailTable.GetColumnNames("[ud]") + (this.Depth > 0 ? "," + UserTable.GetColumnNames("[ud_u]") : string.Empty) + (this.Depth > 1 ? "," + UserTypeTable.GetColumnNames("[ud_u_ut]") : string.Empty) + (this.Depth > 0 ? "," + GenderTable.GetColumnNames("[ud_g]") : string.Empty) + " FROM [core].[UserDetail] AS [ud] "; if (this.Depth > 0) { sqlCmdText += "INNER JOIN [core].[User] AS [ud_u] ON [ud].[UserID] = [ud_u].[UserID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[UserType] AS [ud_u_ut] ON [ud_u].[UserTypeID] = [ud_u_ut].[UserTypeID] "; } if (this.Depth > 0) { sqlCmdText += "INNER JOIN [core].[Gender] AS [ud_g] ON [ud].[GenderID] = [ud_g].[GenderID] "; } sqlCmdText += "WHERE [ud].[UserDetailID] = @UserDetailID;"; SqlCommand sqlCmd = database.Add(sqlCmdText) as SqlCommand; sqlCmd.Parameters.AddWithValue("@UserDetailID", id); SqlDataReader sqlReader = database.Add(sqlCmd) as SqlDataReader; if (!sqlReader.HasRows || !sqlReader.Read()) { IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("ud", "loadinternal", "notfound"), "UserDetail could not be loaded by id as it was not found.", sqlCmdText, this, connection, id); if (this.Logger.IsWarnEnabled) { this.Logger.Warn(builder.ToString()); } sqlReader.Close(); return(null); } SqlQuery query = new SqlQuery(sqlReader); UserDetailTable udTable = new UserDetailTable(query); UserTable ud_uTable = (this.Depth > 0) ? new UserTable(query) : null; UserTypeTable ud_u_utTable = (this.Depth > 1) ? new UserTypeTable(query) : null; GenderTable ud_gTable = (this.Depth > 0) ? new GenderTable(query) : null; UserType ud_u_utObject = (this.Depth > 1) ? ud_u_utTable.CreateInstance() : null; User ud_uObject = (this.Depth > 0) ? ud_uTable.CreateInstance(ud_u_utObject) : null; Gender ud_gObject = (this.Depth > 0) ? ud_gTable.CreateInstance() : null; UserDetail udObject = udTable.CreateInstance(ud_uObject, ud_gObject); sqlReader.Close(); return(udObject); } catch (Exception ex) { database.HandleException(ex); IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("ud", "loadinternal", "exception"), "UserDetail could not be loaded by id. See exception for details.", sqlCmdText, ex, this, connection, id); if (this.Logger.IsErrorEnabled) { this.Logger.Error(builder.ToString(), ex); } throw new DataOperationException(DataOperation.Load, "UserDetail", "Exception while loading UserDetail object from database. See inner exception for details.", ex); } }
public List <TranslationGroup> Load(ISqlConnectionInfo connection) { SqlQueryParameters parameters = new SqlQueryParameters(); return(this.LoadMany(connection, parameters)); }
public List <UserType> LoadMany(ISqlConnectionInfo connection, SqlQueryParameters parameters) { IDatabase database = connection.Database; if (database == null) { throw new ArgumentNullException("database", "Error initializing database connection."); } if (parameters == null) { throw new ArgumentNullException("parameters"); } string sqlCmdText = string.Empty; try { sqlCmdText = "SELECT {0} " + UserTypeTable.GetColumnNames("[ut]") + " FROM [core].[UserType] AS [ut] "; sqlCmdText = parameters.BuildQuery(sqlCmdText); SqlCommand sqlCmd = database.Add(sqlCmdText) as SqlCommand; foreach (KeyValuePair <string, object> argument in parameters.Arguments) { sqlCmd.Parameters.AddWithValue("@" + argument.Key, argument.Value); } SqlDataReader sqlReader = database.Add(sqlCmd) as SqlDataReader; if (!sqlReader.HasRows || !sqlReader.Read()) { IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("ut", "customloadmany", "notfound"), "UserType list could not be loaded using custom logic as no items were found.", sqlCmdText, this, connection, parameters); if (this.Logger.IsDebugEnabled) { this.Logger.Debug(builder.ToString()); } sqlReader.Close(); return(new List <UserType>()); } SqlQuery query = new SqlQuery(sqlReader); UserTypeTable utTable = new UserTypeTable(query); List <UserType> result = new List <UserType>(); do { UserType utObject = (this.Depth > -1) ? utTable.CreateInstance() : null; result.Add(utObject); } while (sqlReader.Read()); sqlReader.Close(); return(result); } catch (Exception ex) { database.HandleException(ex); IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("ut", "customloadmany", "exception"), "UserType list could not be loaded using custom logic. See exception for details.", sqlCmdText, ex, this, connection, parameters); if (this.Logger.IsErrorEnabled) { this.Logger.Error(builder.ToString(), ex); } throw new DataOperationException(DataOperation.Load, "UserType", "Exception while loading (custom/many) UserType object from database. See inner exception for details.", ex); } }
public override bool Update(ISqlConnectionInfo connection, Message data) { IDatabase database = connection.Database; if (database == null) { throw new ArgumentNullException("database", "Error initializing database connection."); } if (data == null) { throw new ArgumentNullException("data"); } string sqlCmdText = string.Empty; try { data.Updated = DateTime.Now; sqlCmdText = "UPDATE [stats].[Message] SET " + "[MessageGuid] = @MessageGuid, " + "[ExternalID] = @ExternalID, " + "[ServiceID] = @ServiceID, " + "[CustomerID] = @CustomerID, " + "[MobileOperatorName] = @MobileOperatorName, " + "[MobileOperatorID] = @MobileOperatorID, " + "[MessageDirectionID] = @MessageDirectionID, " + "[MessageTypeID] = @MessageTypeID, " + "[MessageStatusID] = @MessageStatusID, " + "[Text] = @Text, " + "[Shorcode] = @Shorcode, " + "[Keyword] = @Keyword, " + "[TrackingID] = @TrackingID, " + "[Updated] = GETDATE() " + "WHERE [MessageID] = @MessageID;"; SqlCommand sqlCmd = database.Add(sqlCmdText) as SqlCommand; sqlCmd.Parameters.AddWithValue("@MessageGuid", data.Guid); sqlCmd.Parameters.AddWithValue("@ExternalID", data.ExternalID.HasValue ? (object)data.ExternalID.Value : DBNull.Value).SqlDbType = SqlDbType.Int; sqlCmd.Parameters.AddWithValue("@ServiceID", data.Service.ID); sqlCmd.Parameters.AddWithValue("@CustomerID", data.Customer == null ? DBNull.Value : (object)data.Customer.ID); sqlCmd.Parameters.AddWithValue("@MobileOperatorName", !string.IsNullOrEmpty(data.MobileOperatorName) ? (object)data.MobileOperatorName : DBNull.Value).SqlDbType = SqlDbType.NVarChar; sqlCmd.Parameters.AddWithValue("@MobileOperatorID", data.MobileOperator == null ? DBNull.Value : (object)data.MobileOperator.ID); sqlCmd.Parameters.AddWithValue("@MessageDirectionID", (int)data.MessageDirection); sqlCmd.Parameters.AddWithValue("@MessageTypeID", (int)data.MessageType); sqlCmd.Parameters.AddWithValue("@MessageStatusID", (int)data.MessageStatus); sqlCmd.Parameters.AddWithValue("@Text", !string.IsNullOrEmpty(data.Text) ? (object)data.Text : DBNull.Value).SqlDbType = SqlDbType.NText; sqlCmd.Parameters.AddWithValue("@Shorcode", data.Shorcode.HasValue ? (object)data.Shorcode.Value : DBNull.Value).SqlDbType = SqlDbType.Int; sqlCmd.Parameters.AddWithValue("@Keyword", !string.IsNullOrEmpty(data.Keyword) ? (object)data.Keyword : DBNull.Value).SqlDbType = SqlDbType.NVarChar; sqlCmd.Parameters.AddWithValue("@TrackingID", data.TrackingID.HasValue ? (object)data.TrackingID.Value : DBNull.Value).SqlDbType = SqlDbType.Int; sqlCmd.Parameters.AddWithValue("@Updated", data.Updated).SqlDbType = SqlDbType.DateTime2; sqlCmd.Parameters.AddWithValue("@MessageID", data.ID); int rowCount = sqlCmd.ExecuteNonQuery(); if (rowCount < 1) { IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("m", "update", "norecord"), "Message could not be updated as no matching record was found.", sqlCmdText, this, connection, data); if (this.Logger.IsErrorEnabled) { this.Logger.Error(builder.ToString()); } throw new DataOperationException(DataOperation.Update, "Message", "Exception while updating Message object in database. No record found for this id."); } else if (rowCount > 1) { IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("m", "update", "morerecords"), "Message was updated but there was more than one record affected.", sqlCmdText, this, connection, data); if (this.Logger.IsFatalEnabled) { this.Logger.Fatal(builder.ToString()); } throw new DataOperationException(DataOperation.Update, "Message", "Exception while updating Message object in database. More than one record found for this statement (update statement where clause broken?!)."); } return(true); } catch (Exception ex) { database.HandleException(ex); IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("m", "update", "exception"), "Message could not be updated. See exception for details", sqlCmdText, ex, this, connection, data); if (this.Logger.IsErrorEnabled) { this.Logger.Error(builder.ToString(), ex); } throw new DataOperationException(DataOperation.Update, "Message", "Exception while updating Message object in database. See inner exception for details.", ex); } }
public SqlServerFileRepository(ISqlConnectionInfo sqlConnectionInfo, IUserIdentity userIdentity, IFileStorage fileStorage) { _sqlConnectionInfo = DIHelper.VerifyParameter(sqlConnectionInfo); _userIdentity = DIHelper.VerifyParameter(userIdentity); _fileStorage = DIHelper.VerifyParameter(fileStorage); }
public List <PaymentConfiguration> LoadMany(ISqlConnectionInfo connection, SqlQueryParameters parameters) { IDatabase database = connection.Database; if (database == null) { throw new ArgumentNullException("database", "Error initializing database connection."); } if (parameters == null) { throw new ArgumentNullException("parameters"); } string sqlCmdText = string.Empty; try { sqlCmdText = "SELECT {0} " + PaymentConfigurationTable.GetColumnNames("[pc]") + (this.Depth > 0 ? "," + PaymentCredentialsTable.GetColumnNames("[pc_pc]") : string.Empty) + (this.Depth > 0 ? "," + PaymentInterfaceTable.GetColumnNames("[pc_pi]") : string.Empty) + (this.Depth > 0 ? "," + PaymentProviderTable.GetColumnNames("[pc_pp]") : string.Empty) + (this.Depth > 0 ? "," + BehaviorModelTable.GetColumnNames("[pc_bm]") : string.Empty) + " FROM [core].[PaymentConfiguration] AS [pc] "; if (this.Depth > 0) { sqlCmdText += "INNER JOIN [core].[PaymentCredentials] AS [pc_pc] ON [pc].[PaymentCredentialsID] = [pc_pc].[PaymentCredentialsID] "; } if (this.Depth > 0) { sqlCmdText += "INNER JOIN [core].[PaymentInterface] AS [pc_pi] ON [pc].[PaymentInterfaceID] = [pc_pi].[PaymentInterfaceID] "; } if (this.Depth > 0) { sqlCmdText += "INNER JOIN [core].[PaymentProvider] AS [pc_pp] ON [pc].[PaymentProviderID] = [pc_pp].[PaymentProviderID] "; } if (this.Depth > 0) { sqlCmdText += "INNER JOIN [core].[BehaviorModel] AS [pc_bm] ON [pc].[BehaviorModelID] = [pc_bm].[BehaviorModelID] "; } sqlCmdText = parameters.BuildQuery(sqlCmdText); SqlCommand sqlCmd = database.Add(sqlCmdText) as SqlCommand; foreach (KeyValuePair <string, object> argument in parameters.Arguments) { sqlCmd.Parameters.AddWithValue("@" + argument.Key, argument.Value); } SqlDataReader sqlReader = database.Add(sqlCmd) as SqlDataReader; if (!sqlReader.HasRows || !sqlReader.Read()) { IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("pc", "customloadmany", "notfound"), "PaymentConfiguration list could not be loaded using custom logic as no items were found.", sqlCmdText, this, connection, parameters); if (this.Logger.IsDebugEnabled) { this.Logger.Debug(builder.ToString()); } sqlReader.Close(); return(new List <PaymentConfiguration>()); } SqlQuery query = new SqlQuery(sqlReader); PaymentConfigurationTable pcTable = new PaymentConfigurationTable(query); PaymentCredentialsTable pc_pcTable = (this.Depth > 0) ? new PaymentCredentialsTable(query) : null; PaymentInterfaceTable pc_piTable = (this.Depth > 0) ? new PaymentInterfaceTable(query) : null; PaymentProviderTable pc_ppTable = (this.Depth > 0) ? new PaymentProviderTable(query) : null; BehaviorModelTable pc_bmTable = (this.Depth > 0) ? new BehaviorModelTable(query) : null; List <PaymentConfiguration> result = new List <PaymentConfiguration>(); do { PaymentCredentials pc_pcObject = (this.Depth > 0) ? pc_pcTable.CreateInstance() : null; PaymentInterface pc_piObject = (this.Depth > 0) ? pc_piTable.CreateInstance() : null; PaymentProvider pc_ppObject = (this.Depth > 0) ? pc_ppTable.CreateInstance() : null; BehaviorModel pc_bmObject = (this.Depth > 0) ? pc_bmTable.CreateInstance() : null; PaymentConfiguration pcObject = (this.Depth > -1) ? pcTable.CreateInstance(pc_pcObject, pc_piObject, pc_ppObject, pc_bmObject) : null; result.Add(pcObject); } while (sqlReader.Read()); sqlReader.Close(); return(result); } catch (Exception ex) { database.HandleException(ex); IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("pc", "customloadmany", "exception"), "PaymentConfiguration list could not be loaded using custom logic. See exception for details.", sqlCmdText, ex, this, connection, parameters); if (this.Logger.IsErrorEnabled) { this.Logger.Error(builder.ToString(), ex); } throw new DataOperationException(DataOperation.Load, "PaymentConfiguration", "Exception while loading (custom/many) PaymentConfiguration object from database. See inner exception for details.", ex); } }
public Message Load(ISqlConnectionInfo connection, SqlQueryParameters parameters) { IDatabase database = connection.Database; if (database == null) { throw new ArgumentNullException("database", "Error initializing database connection."); } if (parameters == null) { throw new ArgumentNullException("parameters"); } string sqlCmdText = string.Empty; try { sqlCmdText = "SELECT {0} " + MessageTable.GetColumnNames("[m]") + (this.Depth > 0 ? "," + ServiceTable.GetColumnNames("[m_s]") : string.Empty) + (this.Depth > 1 ? "," + ApplicationTable.GetColumnNames("[m_s_a]") : string.Empty) + (this.Depth > 1 ? "," + ProductTable.GetColumnNames("[m_s_p]") : string.Empty) + (this.Depth > 1 ? "," + MerchantTable.GetColumnNames("[m_s_m]") : string.Empty) + (this.Depth > 1 ? "," + ServiceTypeTable.GetColumnNames("[m_s_st]") : string.Empty) + (this.Depth > 1 ? "," + UserSessionTypeTable.GetColumnNames("[m_s_ust]") : string.Empty) + (this.Depth > 1 ? "," + CountryTable.GetColumnNames("[m_s_c]") : string.Empty) + (this.Depth > 1 ? "," + LanguageTable.GetColumnNames("[m_s_l]") : string.Empty) + (this.Depth > 1 ? "," + ServiceConfigurationTable.GetColumnNames("[m_s_sc]") : string.Empty) + (this.Depth > 1 ? "," + TemplateTable.GetColumnNames("[m_s_t]") : string.Empty) + (this.Depth > 0 ? "," + CustomerTable.GetColumnNames("[m_c]") : string.Empty) + (this.Depth > 1 ? "," + UserTable.GetColumnNames("[m_c_u]") : string.Empty) + (this.Depth > 1 ? "," + ServiceTable.GetColumnNames("[m_c_s]") : string.Empty) + (this.Depth > 1 ? "," + CountryTable.GetColumnNames("[m_c_c]") : string.Empty) + (this.Depth > 1 ? "," + LanguageTable.GetColumnNames("[m_c_l]") : string.Empty) + (this.Depth > 1 ? "," + MobileOperatorTable.GetColumnNames("[m_c_mo]") : string.Empty) + (this.Depth > 0 ? "," + MobileOperatorTable.GetColumnNames("[m_mo]") : string.Empty) + (this.Depth > 1 ? "," + CountryTable.GetColumnNames("[m_mo_c]") : string.Empty) + " FROM [stats].[Message] AS [m] "; if (this.Depth > 0) { sqlCmdText += "INNER JOIN [core].[Service] AS [m_s] ON [m].[ServiceID] = [m_s].[ServiceID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[Application] AS [m_s_a] ON [m_s].[ApplicationID] = [m_s_a].[ApplicationID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[Product] AS [m_s_p] ON [m_s].[ProductID] = [m_s_p].[ProductID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[Merchant] AS [m_s_m] ON [m_s].[MerchantID] = [m_s_m].[MerchantID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[ServiceType] AS [m_s_st] ON [m_s].[ServiceTypeID] = [m_s_st].[ServiceTypeID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[UserSessionType] AS [m_s_ust] ON [m_s].[UserSessionTypeID] = [m_s_ust].[UserSessionTypeID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[Country] AS [m_s_c] ON [m_s].[FallbackCountryID] = [m_s_c].[CountryID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[Language] AS [m_s_l] ON [m_s].[FallbackLanguageID] = [m_s_l].[LanguageID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[ServiceConfiguration] AS [m_s_sc] ON [m_s].[ServiceConfigurationID] = [m_s_sc].[ServiceConfigurationID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[Template] AS [m_s_t] ON [m_s].[TemplateID] = [m_s_t].[TemplateID] "; } if (this.Depth > 0) { sqlCmdText += "LEFT OUTER JOIN [core].[Customer] AS [m_c] ON [m].[CustomerID] = [m_c].[CustomerID] "; } if (this.Depth > 1) { sqlCmdText += "LEFT OUTER JOIN [core].[User] AS [m_c_u] ON [m_c].[UserID] = [m_c_u].[UserID] "; } if (this.Depth > 1) { sqlCmdText += "LEFT OUTER JOIN [core].[Service] AS [m_c_s] ON [m_c].[ServiceID] = [m_c_s].[ServiceID] "; } if (this.Depth > 1) { sqlCmdText += "LEFT OUTER JOIN [core].[Country] AS [m_c_c] ON [m_c].[CountryID] = [m_c_c].[CountryID] "; } if (this.Depth > 1) { sqlCmdText += "LEFT OUTER JOIN [core].[Language] AS [m_c_l] ON [m_c].[LanguageID] = [m_c_l].[LanguageID] "; } if (this.Depth > 1) { sqlCmdText += "LEFT OUTER JOIN [core].[MobileOperator] AS [m_c_mo] ON [m_c].[MobileOperatorID] = [m_c_mo].[MobileOperatorID] "; } if (this.Depth > 0) { sqlCmdText += "LEFT OUTER JOIN [core].[MobileOperator] AS [m_mo] ON [m].[MobileOperatorID] = [m_mo].[MobileOperatorID] "; } if (this.Depth > 1) { sqlCmdText += "LEFT OUTER JOIN [core].[Country] AS [m_mo_c] ON [m_mo].[CountryID] = [m_mo_c].[CountryID] "; } parameters.Top = 1; sqlCmdText = parameters.BuildQuery(sqlCmdText); SqlCommand sqlCmd = database.Add(sqlCmdText) as SqlCommand; foreach (KeyValuePair <string, object> argument in parameters.Arguments) { sqlCmd.Parameters.AddWithValue("@" + argument.Key, argument.Value); } SqlDataReader sqlReader = database.Add(sqlCmd) as SqlDataReader; if (!sqlReader.HasRows || !sqlReader.Read()) { IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("m", "customload", "notfound"), "Message could not be loaded using custom logic as it was not found.", sqlCmdText, this, connection, parameters); if (this.Logger.IsDebugEnabled) { this.Logger.Debug(builder.ToString()); } sqlReader.Close(); return(null); } SqlQuery query = new SqlQuery(sqlReader); MessageTable mTable = new MessageTable(query); ServiceTable m_sTable = (this.Depth > 0) ? new ServiceTable(query) : null; ApplicationTable m_s_aTable = (this.Depth > 1) ? new ApplicationTable(query) : null; ProductTable m_s_pTable = (this.Depth > 1) ? new ProductTable(query) : null; MerchantTable m_s_mTable = (this.Depth > 1) ? new MerchantTable(query) : null; ServiceTypeTable m_s_stTable = (this.Depth > 1) ? new ServiceTypeTable(query) : null; UserSessionTypeTable m_s_ustTable = (this.Depth > 1) ? new UserSessionTypeTable(query) : null; CountryTable m_s_cTable = (this.Depth > 1) ? new CountryTable(query) : null; LanguageTable m_s_lTable = (this.Depth > 1) ? new LanguageTable(query) : null; ServiceConfigurationTable m_s_scTable = (this.Depth > 1) ? new ServiceConfigurationTable(query) : null; TemplateTable m_s_tTable = (this.Depth > 1) ? new TemplateTable(query) : null; CustomerTable m_cTable = (this.Depth > 0) ? new CustomerTable(query) : null; UserTable m_c_uTable = (this.Depth > 1) ? new UserTable(query) : null; ServiceTable m_c_sTable = (this.Depth > 1) ? new ServiceTable(query) : null; CountryTable m_c_cTable = (this.Depth > 1) ? new CountryTable(query) : null; LanguageTable m_c_lTable = (this.Depth > 1) ? new LanguageTable(query) : null; MobileOperatorTable m_c_moTable = (this.Depth > 1) ? new MobileOperatorTable(query) : null; MobileOperatorTable m_moTable = (this.Depth > 0) ? new MobileOperatorTable(query) : null; CountryTable m_mo_cTable = (this.Depth > 1) ? new CountryTable(query) : null; Application m_s_aObject = (this.Depth > 1) ? m_s_aTable.CreateInstance() : null; Product m_s_pObject = (this.Depth > 1) ? m_s_pTable.CreateInstance() : null; Merchant m_s_mObject = (this.Depth > 1) ? m_s_mTable.CreateInstance() : null; ServiceType m_s_stObject = (this.Depth > 1) ? m_s_stTable.CreateInstance() : null; UserSessionType m_s_ustObject = (this.Depth > 1) ? m_s_ustTable.CreateInstance() : null; Country m_s_cObject = (this.Depth > 1) ? m_s_cTable.CreateInstance() : null; Language m_s_lObject = (this.Depth > 1) ? m_s_lTable.CreateInstance() : null; ServiceConfiguration m_s_scObject = (this.Depth > 1) ? m_s_scTable.CreateInstance() : null; Template m_s_tObject = (this.Depth > 1) ? m_s_tTable.CreateInstance() : null; Service m_sObject = (this.Depth > 0) ? m_sTable.CreateInstance(m_s_aObject, m_s_pObject, m_s_mObject, m_s_stObject, m_s_ustObject, m_s_cObject, m_s_lObject, m_s_scObject, m_s_tObject) : null; User m_c_uObject = (this.Depth > 1) ? m_c_uTable.CreateInstance() : null; Service m_c_sObject = (this.Depth > 1) ? m_c_sTable.CreateInstance() : null; Country m_c_cObject = (this.Depth > 1) ? m_c_cTable.CreateInstance() : null; Language m_c_lObject = (this.Depth > 1) ? m_c_lTable.CreateInstance() : null; MobileOperator m_c_moObject = (this.Depth > 1) ? m_c_moTable.CreateInstance() : null; Customer m_cObject = (this.Depth > 0) ? m_cTable.CreateInstance(m_c_uObject, m_c_sObject, m_c_cObject, m_c_lObject, m_c_moObject) : null; Country m_mo_cObject = (this.Depth > 1) ? m_mo_cTable.CreateInstance() : null; MobileOperator m_moObject = (this.Depth > 0) ? m_moTable.CreateInstance(m_mo_cObject) : null; Message mObject = mTable.CreateInstance(m_sObject, m_cObject, m_moObject); sqlReader.Close(); return(mObject); } catch (Exception ex) { database.HandleException(ex); IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("m", "customload", "exception"), "Message could not be loaded using custom logic. See exception for details.", sqlCmdText, ex, this, connection, parameters); if (this.Logger.IsErrorEnabled) { this.Logger.Error(builder.ToString(), ex); } throw new DataOperationException(DataOperation.Load, "Message", "Exception while loading (custom/single) Message object from database. See inner exception for details.", ex); } }
protected override PaymentConfiguration LoadInternal(ISqlConnectionInfo connection, int id) { IDatabase database = connection.Database; if (database == null) { throw new ArgumentNullException("database", "Error initializing database connection."); } string sqlCmdText = string.Empty; try { sqlCmdText = "SELECT " + PaymentConfigurationTable.GetColumnNames("[pc]") + (this.Depth > 0 ? "," + PaymentCredentialsTable.GetColumnNames("[pc_pc]") : string.Empty) + (this.Depth > 0 ? "," + PaymentInterfaceTable.GetColumnNames("[pc_pi]") : string.Empty) + (this.Depth > 0 ? "," + PaymentProviderTable.GetColumnNames("[pc_pp]") : string.Empty) + (this.Depth > 0 ? "," + BehaviorModelTable.GetColumnNames("[pc_bm]") : string.Empty) + " FROM [core].[PaymentConfiguration] AS [pc] "; if (this.Depth > 0) { sqlCmdText += "INNER JOIN [core].[PaymentCredentials] AS [pc_pc] ON [pc].[PaymentCredentialsID] = [pc_pc].[PaymentCredentialsID] "; } if (this.Depth > 0) { sqlCmdText += "INNER JOIN [core].[PaymentInterface] AS [pc_pi] ON [pc].[PaymentInterfaceID] = [pc_pi].[PaymentInterfaceID] "; } if (this.Depth > 0) { sqlCmdText += "INNER JOIN [core].[PaymentProvider] AS [pc_pp] ON [pc].[PaymentProviderID] = [pc_pp].[PaymentProviderID] "; } if (this.Depth > 0) { sqlCmdText += "INNER JOIN [core].[BehaviorModel] AS [pc_bm] ON [pc].[BehaviorModelID] = [pc_bm].[BehaviorModelID] "; } sqlCmdText += "WHERE [pc].[PaymentConfigurationID] = @PaymentConfigurationID;"; SqlCommand sqlCmd = database.Add(sqlCmdText) as SqlCommand; sqlCmd.Parameters.AddWithValue("@PaymentConfigurationID", id); SqlDataReader sqlReader = database.Add(sqlCmd) as SqlDataReader; if (!sqlReader.HasRows || !sqlReader.Read()) { IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("pc", "loadinternal", "notfound"), "PaymentConfiguration could not be loaded by id as it was not found.", sqlCmdText, this, connection, id); if (this.Logger.IsWarnEnabled) { this.Logger.Warn(builder.ToString()); } sqlReader.Close(); return(null); } SqlQuery query = new SqlQuery(sqlReader); PaymentConfigurationTable pcTable = new PaymentConfigurationTable(query); PaymentCredentialsTable pc_pcTable = (this.Depth > 0) ? new PaymentCredentialsTable(query) : null; PaymentInterfaceTable pc_piTable = (this.Depth > 0) ? new PaymentInterfaceTable(query) : null; PaymentProviderTable pc_ppTable = (this.Depth > 0) ? new PaymentProviderTable(query) : null; BehaviorModelTable pc_bmTable = (this.Depth > 0) ? new BehaviorModelTable(query) : null; PaymentCredentials pc_pcObject = (this.Depth > 0) ? pc_pcTable.CreateInstance() : null; PaymentInterface pc_piObject = (this.Depth > 0) ? pc_piTable.CreateInstance() : null; PaymentProvider pc_ppObject = (this.Depth > 0) ? pc_ppTable.CreateInstance() : null; BehaviorModel pc_bmObject = (this.Depth > 0) ? pc_bmTable.CreateInstance() : null; PaymentConfiguration pcObject = pcTable.CreateInstance(pc_pcObject, pc_piObject, pc_ppObject, pc_bmObject); sqlReader.Close(); return(pcObject); } catch (Exception ex) { database.HandleException(ex); IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("pc", "loadinternal", "exception"), "PaymentConfiguration could not be loaded by id. See exception for details.", sqlCmdText, ex, this, connection, id); if (this.Logger.IsErrorEnabled) { this.Logger.Error(builder.ToString(), ex); } throw new DataOperationException(DataOperation.Load, "PaymentConfiguration", "Exception while loading PaymentConfiguration object from database. See inner exception for details.", ex); } }
protected override Domain LoadInternal(ISqlConnectionInfo connection, int id) { IDatabase database = connection.Database; if (database == null) { throw new ArgumentNullException("database", "Error initializing database connection."); } string sqlCmdText = string.Empty; try { sqlCmdText = "SELECT " + DomainTable.GetColumnNames("[d]") + (this.Depth > 0 ? "," + ServiceTable.GetColumnNames("[d_s]") : string.Empty) + (this.Depth > 1 ? "," + ApplicationTable.GetColumnNames("[d_s_a]") : string.Empty) + (this.Depth > 1 ? "," + ProductTable.GetColumnNames("[d_s_p]") : string.Empty) + (this.Depth > 1 ? "," + MerchantTable.GetColumnNames("[d_s_m]") : string.Empty) + (this.Depth > 1 ? "," + ServiceTypeTable.GetColumnNames("[d_s_st]") : string.Empty) + (this.Depth > 1 ? "," + UserSessionTypeTable.GetColumnNames("[d_s_ust]") : string.Empty) + (this.Depth > 1 ? "," + CountryTable.GetColumnNames("[d_s_c]") : string.Empty) + (this.Depth > 1 ? "," + LanguageTable.GetColumnNames("[d_s_l]") : string.Empty) + (this.Depth > 1 ? "," + ServiceConfigurationTable.GetColumnNames("[d_s_sc]") : string.Empty) + (this.Depth > 1 ? "," + TemplateTable.GetColumnNames("[d_s_t]") : string.Empty) + " FROM [core].[Domain] AS [d] "; if (this.Depth > 0) { sqlCmdText += "INNER JOIN [core].[Service] AS [d_s] ON [d].[ServiceID] = [d_s].[ServiceID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[Application] AS [d_s_a] ON [d_s].[ApplicationID] = [d_s_a].[ApplicationID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[Product] AS [d_s_p] ON [d_s].[ProductID] = [d_s_p].[ProductID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[Merchant] AS [d_s_m] ON [d_s].[MerchantID] = [d_s_m].[MerchantID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[ServiceType] AS [d_s_st] ON [d_s].[ServiceTypeID] = [d_s_st].[ServiceTypeID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[UserSessionType] AS [d_s_ust] ON [d_s].[UserSessionTypeID] = [d_s_ust].[UserSessionTypeID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[Country] AS [d_s_c] ON [d_s].[FallbackCountryID] = [d_s_c].[CountryID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[Language] AS [d_s_l] ON [d_s].[FallbackLanguageID] = [d_s_l].[LanguageID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[ServiceConfiguration] AS [d_s_sc] ON [d_s].[ServiceConfigurationID] = [d_s_sc].[ServiceConfigurationID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[Template] AS [d_s_t] ON [d_s].[TemplateID] = [d_s_t].[TemplateID] "; } sqlCmdText += "WHERE [d].[DomainID] = @DomainID;"; SqlCommand sqlCmd = database.Add(sqlCmdText) as SqlCommand; sqlCmd.Parameters.AddWithValue("@DomainID", id); SqlDataReader sqlReader = database.Add(sqlCmd) as SqlDataReader; if (!sqlReader.HasRows || !sqlReader.Read()) { IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("d", "loadinternal", "notfound"), "Domain could not be loaded by id as it was not found.", sqlCmdText, this, connection, id); if (this.Logger.IsWarnEnabled) { this.Logger.Warn(builder.ToString()); } sqlReader.Close(); return(null); } SqlQuery query = new SqlQuery(sqlReader); DomainTable dTable = new DomainTable(query); ServiceTable d_sTable = (this.Depth > 0) ? new ServiceTable(query) : null; ApplicationTable d_s_aTable = (this.Depth > 1) ? new ApplicationTable(query) : null; ProductTable d_s_pTable = (this.Depth > 1) ? new ProductTable(query) : null; MerchantTable d_s_mTable = (this.Depth > 1) ? new MerchantTable(query) : null; ServiceTypeTable d_s_stTable = (this.Depth > 1) ? new ServiceTypeTable(query) : null; UserSessionTypeTable d_s_ustTable = (this.Depth > 1) ? new UserSessionTypeTable(query) : null; CountryTable d_s_cTable = (this.Depth > 1) ? new CountryTable(query) : null; LanguageTable d_s_lTable = (this.Depth > 1) ? new LanguageTable(query) : null; ServiceConfigurationTable d_s_scTable = (this.Depth > 1) ? new ServiceConfigurationTable(query) : null; TemplateTable d_s_tTable = (this.Depth > 1) ? new TemplateTable(query) : null; Application d_s_aObject = (this.Depth > 1) ? d_s_aTable.CreateInstance() : null; Product d_s_pObject = (this.Depth > 1) ? d_s_pTable.CreateInstance() : null; Merchant d_s_mObject = (this.Depth > 1) ? d_s_mTable.CreateInstance() : null; ServiceType d_s_stObject = (this.Depth > 1) ? d_s_stTable.CreateInstance() : null; UserSessionType d_s_ustObject = (this.Depth > 1) ? d_s_ustTable.CreateInstance() : null; Country d_s_cObject = (this.Depth > 1) ? d_s_cTable.CreateInstance() : null; Language d_s_lObject = (this.Depth > 1) ? d_s_lTable.CreateInstance() : null; ServiceConfiguration d_s_scObject = (this.Depth > 1) ? d_s_scTable.CreateInstance() : null; Template d_s_tObject = (this.Depth > 1) ? d_s_tTable.CreateInstance() : null; Service d_sObject = (this.Depth > 0) ? d_sTable.CreateInstance(d_s_aObject, d_s_pObject, d_s_mObject, d_s_stObject, d_s_ustObject, d_s_cObject, d_s_lObject, d_s_scObject, d_s_tObject) : null; Domain dObject = dTable.CreateInstance(d_sObject); sqlReader.Close(); return(dObject); } catch (Exception ex) { database.HandleException(ex); IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("d", "loadinternal", "exception"), "Domain could not be loaded by id. See exception for details.", sqlCmdText, ex, this, connection, id); if (this.Logger.IsErrorEnabled) { this.Logger.Error(builder.ToString(), ex); } throw new DataOperationException(DataOperation.Load, "Domain", "Exception while loading Domain object from database. See inner exception for details.", ex); } }
public override bool Update(ISqlConnectionInfo connection, PaymentConfiguration data) { IDatabase database = connection.Database; if (database == null) { throw new ArgumentNullException("database", "Error initializing database connection."); } if (data == null) { throw new ArgumentNullException("data"); } string sqlCmdText = string.Empty; try { data.Updated = DateTime.Now; sqlCmdText = "UPDATE [core].[PaymentConfiguration] SET " + "[PaymentCredentialsID] = @PaymentCredentialsID, " + "[PaymentInterfaceID] = @PaymentInterfaceID, " + "[PaymentProviderID] = @PaymentProviderID, " + "[BehaviorModelID] = @BehaviorModelID, " + "[Name] = @Name, " + "[Updated] = GETDATE() " + "WHERE [PaymentConfigurationID] = @PaymentConfigurationID;"; SqlCommand sqlCmd = database.Add(sqlCmdText) as SqlCommand; sqlCmd.Parameters.AddWithValue("@PaymentCredentialsID", data.PaymentCredentials.ID); sqlCmd.Parameters.AddWithValue("@PaymentInterfaceID", data.PaymentInterface.ID); sqlCmd.Parameters.AddWithValue("@PaymentProviderID", data.PaymentProvider.ID); sqlCmd.Parameters.AddWithValue("@BehaviorModelID", data.BehaviorModel.ID); sqlCmd.Parameters.AddWithValue("@Name", data.Name).SqlDbType = SqlDbType.NVarChar; sqlCmd.Parameters.AddWithValue("@Updated", data.Updated).SqlDbType = SqlDbType.DateTime2; sqlCmd.Parameters.AddWithValue("@PaymentConfigurationID", data.ID); int rowCount = sqlCmd.ExecuteNonQuery(); if (rowCount < 1) { IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("pc", "update", "norecord"), "PaymentConfiguration could not be updated as no matching record was found.", sqlCmdText, this, connection, data); if (this.Logger.IsErrorEnabled) { this.Logger.Error(builder.ToString()); } throw new DataOperationException(DataOperation.Update, "PaymentConfiguration", "Exception while updating PaymentConfiguration object in database. No record found for this id."); } else if (rowCount > 1) { IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("pc", "update", "morerecords"), "PaymentConfiguration was updated but there was more than one record affected.", sqlCmdText, this, connection, data); if (this.Logger.IsFatalEnabled) { this.Logger.Fatal(builder.ToString()); } throw new DataOperationException(DataOperation.Update, "PaymentConfiguration", "Exception while updating PaymentConfiguration object in database. More than one record found for this statement (update statement where clause broken?!)."); } return(true); } catch (Exception ex) { database.HandleException(ex); IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("pc", "update", "exception"), "PaymentConfiguration could not be updated. See exception for details", sqlCmdText, ex, this, connection, data); if (this.Logger.IsErrorEnabled) { this.Logger.Error(builder.ToString(), ex); } throw new DataOperationException(DataOperation.Update, "PaymentConfiguration", "Exception while updating PaymentConfiguration object in database. See inner exception for details.", ex); } }
public List <PaymentConfiguration> Load(ISqlConnectionInfo connection) { SqlQueryParameters parameters = new SqlQueryParameters(); return(this.LoadMany(connection, parameters)); }
public List <UserType> Load(ISqlConnectionInfo connection) { SqlQueryParameters parameters = new SqlQueryParameters(); return(this.LoadMany(connection, parameters)); }
public override bool Update(ISqlConnectionInfo connection, ServiceProfileGroupMap data) { IDatabase database = connection.Database; if (database == null) { throw new ArgumentNullException("database", "Error initializing database connection."); } if (data == null) { throw new ArgumentNullException("data"); } string sqlCmdText = string.Empty; try { data.Updated = DateTime.Now; sqlCmdText = "UPDATE [web].[ServiceProfileGroupMap] SET " + "[ServiceID] = @ServiceID, " + "[ProfileGroupID] = @ProfileGroupID, " + "[IsActive] = @IsActive, " + "[Updated] = GETDATE() " + "WHERE [ServiceProfileGroupMapID] = @ServiceProfileGroupMapID;"; SqlCommand sqlCmd = database.Add(sqlCmdText) as SqlCommand; sqlCmd.Parameters.AddWithValue("@ServiceID", data.ServiceID).SqlDbType = SqlDbType.Int; sqlCmd.Parameters.AddWithValue("@ProfileGroupID", data.ProfileGroup.ID); sqlCmd.Parameters.AddWithValue("@IsActive", data.IsActive).SqlDbType = SqlDbType.Bit; sqlCmd.Parameters.AddWithValue("@Updated", data.Updated).SqlDbType = SqlDbType.DateTime2; sqlCmd.Parameters.AddWithValue("@ServiceProfileGroupMapID", data.ID); int rowCount = sqlCmd.ExecuteNonQuery(); if (rowCount < 1) { IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("spgm", "update", "norecord"), "ServiceProfileGroupMap could not be updated as no matching record was found.", sqlCmdText, this, connection, data); if (this.Logger.IsErrorEnabled) { this.Logger.Error(builder.ToString()); } throw new DataOperationException(DataOperation.Update, "ServiceProfileGroupMap", "Exception while updating ServiceProfileGroupMap object in database. No record found for this id."); } else if (rowCount > 1) { IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("spgm", "update", "morerecords"), "ServiceProfileGroupMap was updated but there was more than one record affected.", sqlCmdText, this, connection, data); if (this.Logger.IsFatalEnabled) { this.Logger.Fatal(builder.ToString()); } throw new DataOperationException(DataOperation.Update, "ServiceProfileGroupMap", "Exception while updating ServiceProfileGroupMap object in database. More than one record found for this statement (update statement where clause broken?!)."); } return(true); } catch (Exception ex) { database.HandleException(ex); IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("spgm", "update", "exception"), "ServiceProfileGroupMap could not be updated. See exception for details", sqlCmdText, ex, this, connection, data); if (this.Logger.IsErrorEnabled) { this.Logger.Error(builder.ToString(), ex); } throw new DataOperationException(DataOperation.Update, "ServiceProfileGroupMap", "Exception while updating ServiceProfileGroupMap object in database. See inner exception for details.", ex); } }
public TranslationValue Load(ISqlConnectionInfo connection, SqlQueryParameters parameters) { IDatabase database = connection.Database; if (database == null) { throw new ArgumentNullException("database", "Error initializing database connection."); } if (parameters == null) { throw new ArgumentNullException("parameters"); } string sqlCmdText = string.Empty; try { sqlCmdText = "SELECT {0} " + TranslationValueTable.GetColumnNames("[tv]") + (this.Depth > 0 ? "," + TranslationKeyTable.GetColumnNames("[tv_tk]") : string.Empty) + (this.Depth > 1 ? "," + TranslationKeyTable.GetColumnNames("[tv_tk_tk]") : string.Empty) + (this.Depth > 1 ? "," + TranslationTable.GetColumnNames("[tv_tk_t]") : string.Empty) + (this.Depth > 1 ? "," + LanguageTable.GetColumnNames("[tv_tk_l]") : string.Empty) + (this.Depth > 1 ? "," + ServiceTable.GetColumnNames("[tv_tk_s]") : string.Empty) + (this.Depth > 0 ? "," + TranslationGroupKeyTable.GetColumnNames("[tv_tgk]") : string.Empty) + (this.Depth > 1 ? "," + TranslationGroupTable.GetColumnNames("[tv_tgk_tg]") : string.Empty) + " FROM [core].[TranslationValue] AS [tv] "; if (this.Depth > 0) { sqlCmdText += "INNER JOIN [core].[TranslationKey] AS [tv_tk] ON [tv].[TranslationKeyID] = [tv_tk].[TranslationKeyID] "; } if (this.Depth > 1) { sqlCmdText += "LEFT OUTER JOIN [core].[TranslationKey] AS [tv_tk_tk] ON [tv_tk].[FallbackTranslationKeyID] = [tv_tk_tk].[TranslationKeyID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[Translation] AS [tv_tk_t] ON [tv_tk].[TranslationID] = [tv_tk_t].[TranslationID] "; } if (this.Depth > 1) { sqlCmdText += "LEFT OUTER JOIN [core].[Language] AS [tv_tk_l] ON [tv_tk].[LanguageID] = [tv_tk_l].[LanguageID] "; } if (this.Depth > 1) { sqlCmdText += "LEFT OUTER JOIN [core].[Service] AS [tv_tk_s] ON [tv_tk].[ServiceID] = [tv_tk_s].[ServiceID] "; } if (this.Depth > 0) { sqlCmdText += "INNER JOIN [core].[TranslationGroupKey] AS [tv_tgk] ON [tv].[TranslationGroupKeyID] = [tv_tgk].[TranslationGroupKeyID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[TranslationGroup] AS [tv_tgk_tg] ON [tv_tgk].[TranslationGroupID] = [tv_tgk_tg].[TranslationGroupID] "; } parameters.Top = 1; sqlCmdText = parameters.BuildQuery(sqlCmdText); SqlCommand sqlCmd = database.Add(sqlCmdText) as SqlCommand; foreach (KeyValuePair <string, object> argument in parameters.Arguments) { sqlCmd.Parameters.AddWithValue("@" + argument.Key, argument.Value); } SqlDataReader sqlReader = database.Add(sqlCmd) as SqlDataReader; if (!sqlReader.HasRows || !sqlReader.Read()) { IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("tv", "customload", "notfound"), "TranslationValue could not be loaded using custom logic as it was not found.", sqlCmdText, this, connection, parameters); if (this.Logger.IsDebugEnabled) { this.Logger.Debug(builder.ToString()); } sqlReader.Close(); return(null); } SqlQuery query = new SqlQuery(sqlReader); TranslationValueTable tvTable = new TranslationValueTable(query); TranslationKeyTable tv_tkTable = (this.Depth > 0) ? new TranslationKeyTable(query) : null; TranslationKeyTable tv_tk_tkTable = (this.Depth > 1) ? new TranslationKeyTable(query) : null; TranslationTable tv_tk_tTable = (this.Depth > 1) ? new TranslationTable(query) : null; LanguageTable tv_tk_lTable = (this.Depth > 1) ? new LanguageTable(query) : null; ServiceTable tv_tk_sTable = (this.Depth > 1) ? new ServiceTable(query) : null; TranslationGroupKeyTable tv_tgkTable = (this.Depth > 0) ? new TranslationGroupKeyTable(query) : null; TranslationGroupTable tv_tgk_tgTable = (this.Depth > 1) ? new TranslationGroupTable(query) : null; TranslationKey tv_tk_tkObject = (this.Depth > 1) ? tv_tk_tkTable.CreateInstance() : null; Translation tv_tk_tObject = (this.Depth > 1) ? tv_tk_tTable.CreateInstance() : null; Language tv_tk_lObject = (this.Depth > 1) ? tv_tk_lTable.CreateInstance() : null; Service tv_tk_sObject = (this.Depth > 1) ? tv_tk_sTable.CreateInstance() : null; TranslationKey tv_tkObject = (this.Depth > 0) ? tv_tkTable.CreateInstance(tv_tk_tkObject, tv_tk_tObject, tv_tk_lObject, tv_tk_sObject) : null; TranslationGroup tv_tgk_tgObject = (this.Depth > 1) ? tv_tgk_tgTable.CreateInstance() : null; TranslationGroupKey tv_tgkObject = (this.Depth > 0) ? tv_tgkTable.CreateInstance(tv_tgk_tgObject) : null; TranslationValue tvObject = tvTable.CreateInstance(tv_tkObject, tv_tgkObject); sqlReader.Close(); return(tvObject); } catch (Exception ex) { database.HandleException(ex); IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("tv", "customload", "exception"), "TranslationValue could not be loaded using custom logic. See exception for details.", sqlCmdText, ex, this, connection, parameters); if (this.Logger.IsErrorEnabled) { this.Logger.Error(builder.ToString(), ex); } throw new DataOperationException(DataOperation.Load, "TranslationValue", "Exception while loading (custom/single) TranslationValue object from database. See inner exception for details.", ex); } }
public List <ProfileDetail> Load(ISqlConnectionInfo connection) { SqlQueryParameters parameters = new SqlQueryParameters(); return(this.LoadMany(connection, parameters)); }
protected override RouteParameter LoadInternal(ISqlConnectionInfo connection, int id) { IDatabase database = connection.Database; if (database == null) { throw new ArgumentNullException("database", "Error initializing database connection."); } string sqlCmdText = string.Empty; try { sqlCmdText = "SELECT " + RouteParameterTable.GetColumnNames("[rp]") + (this.Depth > 0 ? "," + RouteTable.GetColumnNames("[rp_r]") : string.Empty) + (this.Depth > 1 ? "," + RouteSetTable.GetColumnNames("[rp_r_rs]") : string.Empty) + " FROM [core].[RouteParameter] AS [rp] "; if (this.Depth > 0) { sqlCmdText += "INNER JOIN [core].[Route] AS [rp_r] ON [rp].[RouteID] = [rp_r].[RouteID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[RouteSet] AS [rp_r_rs] ON [rp_r].[RouteSetID] = [rp_r_rs].[RouteSetID] "; } sqlCmdText += "WHERE [rp].[RouteParameterID] = @RouteParameterID;"; SqlCommand sqlCmd = database.Add(sqlCmdText) as SqlCommand; sqlCmd.Parameters.AddWithValue("@RouteParameterID", id); SqlDataReader sqlReader = database.Add(sqlCmd) as SqlDataReader; if (!sqlReader.HasRows || !sqlReader.Read()) { IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("rp", "loadinternal", "notfound"), "RouteParameter could not be loaded by id as it was not found.", sqlCmdText, this, connection, id); if (this.Logger.IsWarnEnabled) { this.Logger.Warn(builder.ToString()); } sqlReader.Close(); return(null); } SqlQuery query = new SqlQuery(sqlReader); RouteParameterTable rpTable = new RouteParameterTable(query); RouteTable rp_rTable = (this.Depth > 0) ? new RouteTable(query) : null; RouteSetTable rp_r_rsTable = (this.Depth > 1) ? new RouteSetTable(query) : null; RouteSet rp_r_rsObject = (this.Depth > 1) ? rp_r_rsTable.CreateInstance() : null; Route rp_rObject = (this.Depth > 0) ? rp_rTable.CreateInstance(rp_r_rsObject) : null; RouteParameter rpObject = rpTable.CreateInstance(rp_rObject); sqlReader.Close(); return(rpObject); } catch (Exception ex) { database.HandleException(ex); IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("rp", "loadinternal", "exception"), "RouteParameter could not be loaded by id. See exception for details.", sqlCmdText, ex, this, connection, id); if (this.Logger.IsErrorEnabled) { this.Logger.Error(builder.ToString(), ex); } throw new DataOperationException(DataOperation.Load, "RouteParameter", "Exception while loading RouteParameter object from database. See inner exception for details.", ex); } }
public override bool Update(ISqlConnectionInfo connection, Merchant data) { IDatabase database = connection.Database; if (database == null) { throw new ArgumentNullException("database", "Error initializing database connection."); } if (data == null) { throw new ArgumentNullException("data"); } string sqlCmdText = string.Empty; try { data.Updated = DateTime.Now; sqlCmdText = "UPDATE [core].[Merchant] SET " + "[InstanceID] = @InstanceID, " + "[TemplateID] = @TemplateID, " + "[Name] = @Name, " + "[Address] = @Address, " + "[Phone] = @Phone, " + "[Email] = @Email, " + "[RegistrationNo] = @RegistrationNo, " + "[VatNo] = @VatNo, " + "[Updated] = GETDATE() " + "WHERE [MerchantID] = @MerchantID;"; SqlCommand sqlCmd = database.Add(sqlCmdText) as SqlCommand; sqlCmd.Parameters.AddWithValue("@InstanceID", data.Instance.ID); sqlCmd.Parameters.AddWithValue("@TemplateID", data.Template == null ? DBNull.Value : (object)data.Template.ID); sqlCmd.Parameters.AddWithValue("@Name", data.Name).SqlDbType = SqlDbType.NVarChar; sqlCmd.Parameters.AddWithValue("@Address", !string.IsNullOrEmpty(data.Address) ? (object)data.Address : DBNull.Value).SqlDbType = SqlDbType.NVarChar; sqlCmd.Parameters.AddWithValue("@Phone", !string.IsNullOrEmpty(data.Phone) ? (object)data.Phone : DBNull.Value).SqlDbType = SqlDbType.NVarChar; sqlCmd.Parameters.AddWithValue("@Email", !string.IsNullOrEmpty(data.Email) ? (object)data.Email : DBNull.Value).SqlDbType = SqlDbType.NVarChar; sqlCmd.Parameters.AddWithValue("@RegistrationNo", !string.IsNullOrEmpty(data.RegistrationNo) ? (object)data.RegistrationNo : DBNull.Value).SqlDbType = SqlDbType.NVarChar; sqlCmd.Parameters.AddWithValue("@VatNo", !string.IsNullOrEmpty(data.VatNo) ? (object)data.VatNo : DBNull.Value).SqlDbType = SqlDbType.NVarChar; sqlCmd.Parameters.AddWithValue("@Updated", data.Updated).SqlDbType = SqlDbType.DateTime2; sqlCmd.Parameters.AddWithValue("@MerchantID", data.ID); int rowCount = sqlCmd.ExecuteNonQuery(); if (rowCount < 1) { IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("m", "update", "norecord"), "Merchant could not be updated as no matching record was found.", sqlCmdText, this, connection, data); if (this.Logger.IsErrorEnabled) { this.Logger.Error(builder.ToString()); } throw new DataOperationException(DataOperation.Update, "Merchant", "Exception while updating Merchant object in database. No record found for this id."); } else if (rowCount > 1) { IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("m", "update", "morerecords"), "Merchant was updated but there was more than one record affected.", sqlCmdText, this, connection, data); if (this.Logger.IsFatalEnabled) { this.Logger.Fatal(builder.ToString()); } throw new DataOperationException(DataOperation.Update, "Merchant", "Exception while updating Merchant object in database. More than one record found for this statement (update statement where clause broken?!)."); } return(true); } catch (Exception ex) { database.HandleException(ex); IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("m", "update", "exception"), "Merchant could not be updated. See exception for details", sqlCmdText, ex, this, connection, data); if (this.Logger.IsErrorEnabled) { this.Logger.Error(builder.ToString(), ex); } throw new DataOperationException(DataOperation.Update, "Merchant", "Exception while updating Merchant object in database. See inner exception for details.", ex); } }
public override bool Update(ISqlConnectionInfo connection, RouteParameter data) { IDatabase database = connection.Database; if (database == null) { throw new ArgumentNullException("database", "Error initializing database connection."); } if (data == null) { throw new ArgumentNullException("data"); } string sqlCmdText = string.Empty; try { data.Updated = DateTime.Now; sqlCmdText = "UPDATE [core].[RouteParameter] SET " + "[RouteID] = @RouteID, " + "[Key] = @Key, " + "[Value] = @Value, " + "[Constraint] = @Constraint, " + "[IsOptional] = @IsOptional, " + "[Updated] = GETDATE() " + "WHERE [RouteParameterID] = @RouteParameterID;"; SqlCommand sqlCmd = database.Add(sqlCmdText) as SqlCommand; sqlCmd.Parameters.AddWithValue("@RouteID", data.Route.ID); sqlCmd.Parameters.AddWithValue("@Key", data.Key).SqlDbType = SqlDbType.NVarChar; sqlCmd.Parameters.AddWithValue("@Value", !string.IsNullOrEmpty(data.Value) ? (object)data.Value : DBNull.Value).SqlDbType = SqlDbType.NVarChar; sqlCmd.Parameters.AddWithValue("@Constraint", !string.IsNullOrEmpty(data.Constraint) ? (object)data.Constraint : DBNull.Value).SqlDbType = SqlDbType.NVarChar; sqlCmd.Parameters.AddWithValue("@IsOptional", data.IsOptional).SqlDbType = SqlDbType.Bit; sqlCmd.Parameters.AddWithValue("@Updated", data.Updated).SqlDbType = SqlDbType.DateTime2; sqlCmd.Parameters.AddWithValue("@RouteParameterID", data.ID); int rowCount = sqlCmd.ExecuteNonQuery(); if (rowCount < 1) { IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("rp", "update", "norecord"), "RouteParameter could not be updated as no matching record was found.", sqlCmdText, this, connection, data); if (this.Logger.IsErrorEnabled) { this.Logger.Error(builder.ToString()); } throw new DataOperationException(DataOperation.Update, "RouteParameter", "Exception while updating RouteParameter object in database. No record found for this id."); } else if (rowCount > 1) { IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("rp", "update", "morerecords"), "RouteParameter was updated but there was more than one record affected.", sqlCmdText, this, connection, data); if (this.Logger.IsFatalEnabled) { this.Logger.Fatal(builder.ToString()); } throw new DataOperationException(DataOperation.Update, "RouteParameter", "Exception while updating RouteParameter object in database. More than one record found for this statement (update statement where clause broken?!)."); } return(true); } catch (Exception ex) { database.HandleException(ex); IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("rp", "update", "exception"), "RouteParameter could not be updated. See exception for details", sqlCmdText, ex, this, connection, data); if (this.Logger.IsErrorEnabled) { this.Logger.Error(builder.ToString(), ex); } throw new DataOperationException(DataOperation.Update, "RouteParameter", "Exception while updating RouteParameter object in database. See inner exception for details.", ex); } }
public List <TranslationGroup> LoadMany(ISqlConnectionInfo connection, SqlQueryParameters parameters) { IDatabase database = connection.Database; if (database == null) { throw new ArgumentNullException("database", "Error initializing database connection."); } if (parameters == null) { throw new ArgumentNullException("parameters"); } string sqlCmdText = string.Empty; try { sqlCmdText = "SELECT {0} " + TranslationGroupTable.GetColumnNames("[tg]") + (this.Depth > 0 ? "," + TranslationTable.GetColumnNames("[tg_t]") : string.Empty) + (this.Depth > 1 ? "," + TranslationTypeTable.GetColumnNames("[tg_t_tt]") : string.Empty) + " FROM [core].[TranslationGroup] AS [tg] "; if (this.Depth > 0) { sqlCmdText += "INNER JOIN [core].[Translation] AS [tg_t] ON [tg].[TranslationID] = [tg_t].[TranslationID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[TranslationType] AS [tg_t_tt] ON [tg_t].[TranslationTypeID] = [tg_t_tt].[TranslationTypeID] "; } sqlCmdText = parameters.BuildQuery(sqlCmdText); SqlCommand sqlCmd = database.Add(sqlCmdText) as SqlCommand; foreach (KeyValuePair <string, object> argument in parameters.Arguments) { sqlCmd.Parameters.AddWithValue("@" + argument.Key, argument.Value); } SqlDataReader sqlReader = database.Add(sqlCmd) as SqlDataReader; if (!sqlReader.HasRows || !sqlReader.Read()) { IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("tg", "customloadmany", "notfound"), "TranslationGroup list could not be loaded using custom logic as no items were found.", sqlCmdText, this, connection, parameters); if (this.Logger.IsDebugEnabled) { this.Logger.Debug(builder.ToString()); } sqlReader.Close(); return(new List <TranslationGroup>()); } SqlQuery query = new SqlQuery(sqlReader); TranslationGroupTable tgTable = new TranslationGroupTable(query); TranslationTable tg_tTable = (this.Depth > 0) ? new TranslationTable(query) : null; TranslationTypeTable tg_t_ttTable = (this.Depth > 1) ? new TranslationTypeTable(query) : null; List <TranslationGroup> result = new List <TranslationGroup>(); do { TranslationType tg_t_ttObject = (this.Depth > 1) ? tg_t_ttTable.CreateInstance() : null; Translation tg_tObject = (this.Depth > 0) ? tg_tTable.CreateInstance(tg_t_ttObject) : null; TranslationGroup tgObject = (this.Depth > -1) ? tgTable.CreateInstance(tg_tObject) : null; result.Add(tgObject); } while (sqlReader.Read()); sqlReader.Close(); return(result); } catch (Exception ex) { database.HandleException(ex); IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("tg", "customloadmany", "exception"), "TranslationGroup list could not be loaded using custom logic. See exception for details.", sqlCmdText, ex, this, connection, parameters); if (this.Logger.IsErrorEnabled) { this.Logger.Error(builder.ToString(), ex); } throw new DataOperationException(DataOperation.Load, "TranslationGroup", "Exception while loading (custom/many) TranslationGroup object from database. See inner exception for details.", ex); } }
public RouteParameter Load(ISqlConnectionInfo connection, SqlQueryParameters parameters) { IDatabase database = connection.Database; if (database == null) { throw new ArgumentNullException("database", "Error initializing database connection."); } if (parameters == null) { throw new ArgumentNullException("parameters"); } string sqlCmdText = string.Empty; try { sqlCmdText = "SELECT {0} " + RouteParameterTable.GetColumnNames("[rp]") + (this.Depth > 0 ? "," + RouteTable.GetColumnNames("[rp_r]") : string.Empty) + (this.Depth > 1 ? "," + RouteSetTable.GetColumnNames("[rp_r_rs]") : string.Empty) + " FROM [core].[RouteParameter] AS [rp] "; if (this.Depth > 0) { sqlCmdText += "INNER JOIN [core].[Route] AS [rp_r] ON [rp].[RouteID] = [rp_r].[RouteID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[RouteSet] AS [rp_r_rs] ON [rp_r].[RouteSetID] = [rp_r_rs].[RouteSetID] "; } parameters.Top = 1; sqlCmdText = parameters.BuildQuery(sqlCmdText); SqlCommand sqlCmd = database.Add(sqlCmdText) as SqlCommand; foreach (KeyValuePair <string, object> argument in parameters.Arguments) { sqlCmd.Parameters.AddWithValue("@" + argument.Key, argument.Value); } SqlDataReader sqlReader = database.Add(sqlCmd) as SqlDataReader; if (!sqlReader.HasRows || !sqlReader.Read()) { IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("rp", "customload", "notfound"), "RouteParameter could not be loaded using custom logic as it was not found.", sqlCmdText, this, connection, parameters); if (this.Logger.IsDebugEnabled) { this.Logger.Debug(builder.ToString()); } sqlReader.Close(); return(null); } SqlQuery query = new SqlQuery(sqlReader); RouteParameterTable rpTable = new RouteParameterTable(query); RouteTable rp_rTable = (this.Depth > 0) ? new RouteTable(query) : null; RouteSetTable rp_r_rsTable = (this.Depth > 1) ? new RouteSetTable(query) : null; RouteSet rp_r_rsObject = (this.Depth > 1) ? rp_r_rsTable.CreateInstance() : null; Route rp_rObject = (this.Depth > 0) ? rp_rTable.CreateInstance(rp_r_rsObject) : null; RouteParameter rpObject = rpTable.CreateInstance(rp_rObject); sqlReader.Close(); return(rpObject); } catch (Exception ex) { database.HandleException(ex); IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("rp", "customload", "exception"), "RouteParameter could not be loaded using custom logic. See exception for details.", sqlCmdText, ex, this, connection, parameters); if (this.Logger.IsErrorEnabled) { this.Logger.Error(builder.ToString(), ex); } throw new DataOperationException(DataOperation.Load, "RouteParameter", "Exception while loading (custom/single) RouteParameter object from database. See inner exception for details.", ex); } }
public SqlServerFileStorage(ISqlConnectionInfo sqlConnectionInfo, IUserIdentity userIdentity) { _sqlConnectionInfo = DIHelper.VerifyParameter(sqlConnectionInfo); _userIdentity = DIHelper.VerifyParameter(userIdentity); }
protected override MobileOperatorCode LoadInternal(ISqlConnectionInfo connection, int id) { IDatabase database = connection.Database; if (database == null) { throw new ArgumentNullException("database", "Error initializing database connection."); } string sqlCmdText = string.Empty; try { sqlCmdText = "SELECT " + MobileOperatorCodeTable.GetColumnNames("[moc]") + (this.Depth > 0 ? "," + MobileOperatorTable.GetColumnNames("[moc_mo]") : string.Empty) + (this.Depth > 1 ? "," + CountryTable.GetColumnNames("[moc_mo_c]") : string.Empty) + " FROM [core].[MobileOperatorCode] AS [moc] "; if (this.Depth > 0) { sqlCmdText += "INNER JOIN [core].[MobileOperator] AS [moc_mo] ON [moc].[MobileOperatorID] = [moc_mo].[MobileOperatorID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [core].[Country] AS [moc_mo_c] ON [moc_mo].[CountryID] = [moc_mo_c].[CountryID] "; } sqlCmdText += "WHERE [moc].[MobileOperatorCodeID] = @MobileOperatorCodeID;"; SqlCommand sqlCmd = database.Add(sqlCmdText) as SqlCommand; sqlCmd.Parameters.AddWithValue("@MobileOperatorCodeID", id); SqlDataReader sqlReader = database.Add(sqlCmd) as SqlDataReader; if (!sqlReader.HasRows || !sqlReader.Read()) { IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("moc", "loadinternal", "notfound"), "MobileOperatorCode could not be loaded by id as it was not found.", sqlCmdText, this, connection, id); if (this.Logger.IsWarnEnabled) { this.Logger.Warn(builder.ToString()); } sqlReader.Close(); return(null); } SqlQuery query = new SqlQuery(sqlReader); MobileOperatorCodeTable mocTable = new MobileOperatorCodeTable(query); MobileOperatorTable moc_moTable = (this.Depth > 0) ? new MobileOperatorTable(query) : null; CountryTable moc_mo_cTable = (this.Depth > 1) ? new CountryTable(query) : null; Country moc_mo_cObject = (this.Depth > 1) ? moc_mo_cTable.CreateInstance() : null; MobileOperator moc_moObject = (this.Depth > 0) ? moc_moTable.CreateInstance(moc_mo_cObject) : null; MobileOperatorCode mocObject = mocTable.CreateInstance(moc_moObject); sqlReader.Close(); return(mocObject); } catch (Exception ex) { database.HandleException(ex); IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("moc", "loadinternal", "exception"), "MobileOperatorCode could not be loaded by id. See exception for details.", sqlCmdText, ex, this, connection, id); if (this.Logger.IsErrorEnabled) { this.Logger.Error(builder.ToString(), ex); } throw new DataOperationException(DataOperation.Load, "MobileOperatorCode", "Exception while loading MobileOperatorCode object from database. See inner exception for details.", ex); } }
public SqlServerProjectRepository(ISqlConnectionInfo sqlConnectionInfo, IUserIdentity userIdentity) { _sqlConnectionInfo = DIHelper.VerifyParameter(sqlConnectionInfo); _userIdentity = DIHelper.VerifyParameter(userIdentity); }
public ProfileThumbnailData Load(ISqlConnectionInfo connection, SqlQueryParameters parameters) { IDatabase database = connection.Database; if (database == null) { throw new ArgumentNullException("database", "Error initializing database connection."); } if (parameters == null) { throw new ArgumentNullException("parameters"); } string sqlCmdText = string.Empty; try { sqlCmdText = "SELECT {0} " + ProfileThumbnailDataTable.GetColumnNames("[ptd]") + (this.Depth > 0 ? "," + ProfileThumbnailTable.GetColumnNames("[ptd_pt]") : string.Empty) + (this.Depth > 1 ? "," + ProfileTable.GetColumnNames("[ptd_pt_p]") : string.Empty) + " FROM [web].[ProfileThumbnailData] AS [ptd] "; if (this.Depth > 0) { sqlCmdText += "INNER JOIN [web].[ProfileThumbnail] AS [ptd_pt] ON [ptd].[ProfileThumbnailID] = [ptd_pt].[ProfileThumbnailID] "; } if (this.Depth > 1) { sqlCmdText += "INNER JOIN [web].[Profile] AS [ptd_pt_p] ON [ptd_pt].[ProfileID] = [ptd_pt_p].[ProfileID] "; } parameters.Top = 1; sqlCmdText = parameters.BuildQuery(sqlCmdText); SqlCommand sqlCmd = database.Add(sqlCmdText) as SqlCommand; foreach (KeyValuePair <string, object> argument in parameters.Arguments) { sqlCmd.Parameters.AddWithValue("@" + argument.Key, argument.Value); } SqlDataReader sqlReader = database.Add(sqlCmd) as SqlDataReader; if (!sqlReader.HasRows || !sqlReader.Read()) { IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("ptd", "customload", "notfound"), "ProfileThumbnailData could not be loaded using custom logic as it was not found.", sqlCmdText, this, connection, parameters); if (this.Logger.IsDebugEnabled) { this.Logger.Debug(builder.ToString()); } sqlReader.Close(); return(null); } SqlQuery query = new SqlQuery(sqlReader); ProfileThumbnailDataTable ptdTable = new ProfileThumbnailDataTable(query); ProfileThumbnailTable ptd_ptTable = (this.Depth > 0) ? new ProfileThumbnailTable(query) : null; ProfileTable ptd_pt_pTable = (this.Depth > 1) ? new ProfileTable(query) : null; Profile ptd_pt_pObject = (this.Depth > 1) ? ptd_pt_pTable.CreateInstance() : null; ProfileThumbnail ptd_ptObject = (this.Depth > 0) ? ptd_ptTable.CreateInstance(ptd_pt_pObject) : null; ProfileThumbnailData ptdObject = ptdTable.CreateInstance(ptd_ptObject); sqlReader.Close(); return(ptdObject); } catch (Exception ex) { database.HandleException(ex); IMessageBuilder builder = new DbLogMessageBuilder(new LogErrorCode("ptd", "customload", "exception"), "ProfileThumbnailData could not be loaded using custom logic. See exception for details.", sqlCmdText, ex, this, connection, parameters); if (this.Logger.IsErrorEnabled) { this.Logger.Error(builder.ToString(), ex); } throw new DataOperationException(DataOperation.Load, "ProfileThumbnailData", "Exception while loading (custom/single) ProfileThumbnailData object from database. See inner exception for details.", ex); } }