コード例 #1
0
ファイル: ModuleDictionary.cs プロジェクト: onashackem/KaRaFa
        /// <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);
            }
        }
コード例 #2
0
ファイル: CostsCalculation.cs プロジェクト: onashackem/KaRaFa
        /// <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);
            }
        }
コード例 #3
0
ファイル: ModuleItemBase.cs プロジェクト: onashackem/KaRaFa
        /// <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);
            }
        }
コード例 #4
0
        /// <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);
            }
        }