Ejemplo n.º 1
0
        /// <summary>
        /// Imports records from source database to target database/template
        /// </summary>
        /// <param name="selectedNids"></param>
        /// <param name="allSelected">Set true to import all records</param>
        public override void ImportValues(List<string> selectedNids, bool allSelected)
        {
            DataRow Row;
            IUSInfo IUSInfoObject;
            IUSBuilder IUSBuilderObject;
            int ProgressBarValue = 0;

            foreach (string Nid in selectedNids)
            {
                try
                {
                    Row = this.SourceTable.Select(this.TagValueColumnName + "=" + Nid)[0];

                    IUSInfoObject = new IUSInfo();
                    IUSBuilderObject = new IUSBuilder(this._TargetDBConnection, this._TargetDBQueries);

                    IUSInfoObject.IndicatorInfo = this.GetIndicatorInfo(Row);
                    IUSInfoObject.UnitInfo = this.GetUnitInfo(Row);
                    IUSInfoObject.SubgroupValInfo = this.GetSubgroupValInfo(Row);

                    IUSBuilderObject.ImportIUS(IUSInfoObject, this.SourceDBQueries, this.SourceDBConnection);

                    IUSBuilderObject.UpdateISDefaultSubgroup(IUSInfoObject.IndicatorInfo.Nid, IUSInfoObject.UnitInfo.Nid);

                }
                catch (Exception ex)
                {
                    throw new ApplicationException(ex.ToString());
                }
                this.RaiseIncrementProgessBarEvent(ProgressBarValue);
                ProgressBarValue++;
            }
        }
        private int ImportForIUS(DataRow row)
        {
            int RetVal = 0;
            IUSInfo iusInfo = new IUSInfo();
            IUSBuilder iusBuilder = new IUSBuilder(this._TargetDBConnection, this._TargetDBQueries);

            iusInfo.IndicatorInfo = this.GetIndicatorInfo(row);
            iusInfo.UnitInfo = this.GetUnitInfo(row);
            iusInfo.SubgroupValInfo = this.GetSubgroupValInfo(row);

            RetVal = iusBuilder.ImportIUS(iusInfo, this.SourceDBQueries, this.SourceDBConnection);

            bool ISDefault = false;
            if (!string.IsNullOrEmpty(Convert.ToString(row[Indicator_Unit_Subgroup.IsDefaultSubgroup])))
            {
                ISDefault = Convert.ToBoolean(row[Indicator_Unit_Subgroup.IsDefaultSubgroup]);
            }

            iusBuilder.UpdateIUSISDefaultSubgroup(RetVal.ToString(), ISDefault);

            iusBuilder.UpdateISDefaultSubgroup(iusInfo.IndicatorInfo.Nid, iusInfo.UnitInfo.Nid);

            //if (importSector)
            //{
            //    //create indicator classification
            //    this.ImportSector(row);
            //}

            return RetVal;
        }