/// <summary> /// Loads modules from database /// </summary> /// <param name="connection"></param> public void LoadModules(DatabaseConnection connection) { try { string query = connection.CreateSelectCommandText( Properties.Resources.VIEW_ATC_MODULES, null, null, "ID asc" ); DataSet dataSet = connection.ExecuteSelectQuery(query); if (dataSet == null || dataSet.Tables.Count == 0 || dataSet.Tables[0].Rows.Count == 0) return; // Fill dictionary with modules foreach (DataRow definition in dataSet.Tables[0].Rows) { ModuleTypeEnum type = (ModuleTypeEnum)Enum.Parse(typeof(ModuleTypeEnum), definition["Enum"].ToString()); switch (type) { case ModuleTypeEnum.SdkModule: if (!this.Modules.ContainsKey(type)) this.Modules.Add(type, new SdkModule(definition)); break; case ModuleTypeEnum.ChimneyModule: if (!this.Modules.ContainsKey(type)) this.Modules.Add(type, new ChimneyModule(definition)); break; case ModuleTypeEnum.RoofModule: if (!this.Modules.ContainsKey(type)) this.Modules.Add(type, new RoofModule(definition)); break; default: break; } } } catch (Exception ex) { Karafa.Errors.KarafaLogger.LogError(ex); } }
/// <summary> /// Loads default subsections from KaRaFa database /// </summary> /// <param name="connection">Connection to KaRaFa database</param> public void LoadDefaultSubSections(DatabaseConnection connection) { if (connection == null || !connection.IsConnectionOpen) return; try { string query = connection.CreateSelectCommandText( Properties.Resources.VIEW_SUBSECTIONS, null, null, null ); // Load subsections from DB DataSet dataSet = connection.ExecuteSelectQuery(query); if (dataSet == null || dataSet.Tables.Count == 0 || dataSet.Tables[0].Rows.Count == 0) return; // Nothong found // Create subsections foreach (DataRow row in dataSet.Tables[0].Rows) { this.SubSections.Add( new SubSection( (int)row["ID"], (string)row["Nazev"], (int)row["EtapaID"] ) ); } } catch (Exception ex) { Karafa.Errors.KarafaLogger.LogError(ex); } }
/// <summary> /// Loads options from database related to this module /// </summary> /// <param name="connection">KaRaFa Database connection</param> private void LoadOptions(DatabaseConnection connection) { try { // Get Options query string query = connection.CreateSelectCommandText( Properties.Resources.VIEW_ATC_OPTIONS, null, string.Format("ModulID = {0}", this.ID), "ID ASC" ); // Get results DataSet dataSet = connection.ExecuteSelectQuery(query); if (dataSet == null || dataSet.Tables.Count == 0 || dataSet.Tables[0].Rows.Count == 0) return; // Save options foreach (DataRow definition in dataSet.Tables[0].Rows) { ModuleOption option = new ModuleOption(definition); this.Options.Add(option); } } catch (Exception ex) { Karafa.Errors.KarafaLogger.LogError(ex); } }
/// <summary> /// Loads default etaps set from database /// </summary> /// <param name="connection">Database connection</param> /// <param name="constructionStartDate">Start date of parent construciton</param> /// <param name="constructionEndDate">End date of parent construciton</param> public void LoadEtaps( DatabaseConnection connection, DateTime constructionStartDate, DateTime constructionEndDate) { if (connection == null || !connection.IsConnectionOpen) return; try { string query = connection.CreateSelectCommandText( "Etapy", null, null, null ); // Load etaps from DB DataSet dataSet = connection.ExecuteSelectQuery(query); if (dataSet == null || dataSet.Tables.Count == 0 || dataSet.Tables[0].Rows.Count == 0) { // Nothong found -> create one default etap this.Etaps.Add( new Etap( Properties.Settings.Default.DefaultEtapID, "Etapa", constructionStartDate, constructionEndDate ) ); return; } HarmonogramManager manager = new HarmonogramManager(); // Set start and end dates of etap based on their setting foreach (DataRow row in dataSet.Tables[0].Rows) { DateTime startDate, endDate; manager.CountEtapData( constructionStartDate, constructionEndDate, (byte)row["Zacatek"], (byte)row["Konec"], out startDate, out endDate ); this.Etaps.Add( new Etap( (int)row["ID"], (string)row["Nazev"], startDate, endDate ) ); } } catch (Exception ex) { Karafa.Errors.KarafaLogger.LogError(ex); } }