/// <summary> /// Check record into collection and database if not exist then create area . /// </summary> /// <param name="areaInfo">object of AreaInfo </param> /// <returns>return parent nid</returns> public int CheckNCreateArea(AreaInfo areaInfo) { int RetVal = 0; try { //Step 1: If area id and parent area id not exists then create it. this.CreateAreaIDNParentID(areaInfo); //Step 2: check existence of area (areaID) RetVal = this.CheckAreaExists(areaInfo.ID); //Step 3: if doesnt exists, then create it if (RetVal <= 0) { //Create into database RetVal = this.CreateArea(areaInfo); } //Step 4:Add into area collection.. this.AddAreaIntoCollection(areaInfo); } catch (Exception) { RetVal = 0; } return RetVal; }
public AreaInfo(string name, string ID, string parentName, string parentID) { this._Parent = new AreaInfo(); this._Name = name; this._ID = ID; this._Parent._Name = parentName; this._Parent._ID = parentID; }
/// <summary> /// To add Information of AreaInfo. /// </summary> /// <param name="name">Area name</param> /// <param name="gid">Area Gid</param> public void AddInfo(string name, string gid) { if (this._Parent == null) { this._Parent = new AreaInfo(); } this._Name = name; this._GID = gid; }
/// <summary> /// To add Information of AreaInfo. /// </summary> /// <param name="name">Area name</param> /// <param name="gid">Area Gid</param> /// <param name="level">Area Level</param> public void AddInfo(string name, string gid, int level) { if (this._Parent == null) { this._Parent = new AreaInfo(); } this._Name = name; this._GID = gid; this._Level = level; }
/// <summary> /// To add Information of AreaInfo. /// </summary> /// <param name="name">Area name</param> /// <param name="ID">Area Id</param> /// <param name="parentName">Area Parent Name</param> /// <param name="parentID">Parent Id</param> public void AddInfo(string name, string ID, string parentName, string parentID) { if (this._Parent == null) { this._Parent = new AreaInfo(); } this._Name = name; this._ID = ID; this._Parent.Name = parentName; this._Parent.ID = parentID; }
/// <summary> /// To add Information of AreaInfo. /// </summary> /// <param name="name">Area name</param> /// <param name="gid">Area Gid</param> /// <param name="level">Area Level</param> /// <param name="parentName">Area Parent Name</param> /// <param name="parentGId">Parent Gid</param> /// <param name="parentLevel">Parent Level</param> public void AddInfo(string name, string gid, int level, string parentName, string parentGId, int parentLevel) { if (this._Parent == null) { this._Parent = new AreaInfo(); } this._Name = name; this._GID = gid; this._Level = level; this._Parent.Name = parentName; this._Parent.GID = parentGId; this._Parent.Level = parentLevel; }
/// <summary> /// DevInfo_5_0 Area Spreadsheet (should have 5 columns only staring the value from 6th Row - AreaID, AreaName, AreaLevel, AreaGID, ParentGID) /// </summary> /// <param name="templateFileName"></param> /// <param name="xlsFilenames"></param> /// <param name="tempFolderPath"></param> /// <param name="trgDBQueries">Instance of target queries object</param> /// <param name="languageName">languageName</param> /// <returns></returns> public bool CreateTemplateFrmAreaSpreadsheet(string templateFileName, List<string> xlsFilenames, string tempFolderPath, DIQueries trgDBQueries, string languageName) { bool RetVal = false; DIConnection DBConnection = null; DIQueries DBQueries; AreaBuilder AreaBuilderObj; DIDatabase TempTemplateFile; string DataPrefix = string.Empty; string LanguageCode = string.Empty; LanguageBuilder DILanguageBuilder; try { //create temp template file TempTemplateFile = new DIDatabase(templateFileName); TempTemplateFile.Dispose(); //create DIConnection, queries and area objects DBConnection = new DIConnection(DIServerType.MsAccess, string.Empty, string.Empty, templateFileName, string.Empty, string.Empty); if (trgDBQueries != null) { DBQueries = new DIQueries(DBConnection.DIDataSetDefault(), trgDBQueries.LanguageCode); DataPrefix = DBQueries.DataPrefix; LanguageCode = trgDBQueries.LanguageCode.Replace("_", ""); // create langauge dependent tables if not exists in the new template this.UpdateTablesForTargetLanguage(languageName, DBConnection, DBQueries, DataPrefix, LanguageCode); } else { DBQueries = new DIQueries(DBConnection.DIDataSetDefault(), DBConnection.DILanguageCodeDefault(DBConnection.DIDataSetDefault())); } AreaBuilderObj = new AreaBuilder(DBConnection, DBQueries); //get areas from excel files foreach (string XlsFileName in xlsFilenames) { try { // insert area into template DIExcel AreaXlsFile = new DIExcel(XlsFileName); AreaInfo NewArea; DataTable TempTable = AreaXlsFile.GetDataTableFromSheet(AreaXlsFile.GetSheetName(0)); //check it is a valid area excel file or not if (TempTable.Rows.Count > 5 & TempTable.Columns.Count > 1) { if (TempTable.Rows[2][0].ToString() == DITemplate.AreaIdString & TempTable.Rows[2][1].ToString() == DITemplate.AreaNameString & TempTable.Rows[2][2].ToString() == DITemplate.AreaLevelString & TempTable.Rows[2][3].ToString() == DITemplate.AreaGIdString & TempTable.Rows[2][4].ToString() == DITemplate.AreaParentGIdString) { // delete empty rows for (int i = 0; i < 4; i++) { TempTable.Rows[0].Delete(); } TempTable.AcceptChanges(); // sort the table by level TempTable.DefaultView.Sort = TempTable.Columns[this.AreaSheetColumns[AreaSheetColumnType.AreaLevel].ColumnIndex].ColumnName; foreach (DataRowView Row in TempTable.DefaultView) { try { // get area info from temp table NewArea = new AreaInfo(); NewArea.ID = DICommon.RemoveQuotes(Row[this.AreaSheetColumns[AreaSheetColumnType.AreaID].ColumnIndex].ToString()); NewArea.Name = DICommon.RemoveQuotes(Row[this.AreaSheetColumns[AreaSheetColumnType.AreaName].ColumnIndex].ToString()); NewArea.Level = Convert.ToInt32(Row[this.AreaSheetColumns[AreaSheetColumnType.AreaLevel].ColumnIndex]); NewArea.GID = DICommon.RemoveQuotes(Row[this.AreaSheetColumns[AreaSheetColumnType.AreaGID].ColumnIndex].ToString()); NewArea.Parent = new AreaInfo(); NewArea.Parent.ID = DICommon.RemoveQuotes(Row[this.AreaSheetColumns[AreaSheetColumnType.PareaGID].ColumnIndex].ToString()); //insert area into template // Step 1: If Area_Parent_ID is blank then set Area_Parent_NID to -1 and Area_Level=1 if (string.IsNullOrEmpty(NewArea.Parent.ID)) { NewArea.Parent.Nid = -1; NewArea.Level = 1; } else { // Step 2: If Area_Parent_ID is not blank then get Area_Parent_NID NewArea.Parent.Nid = AreaBuilderObj.GetAreaNidByAreaID(NewArea.Parent.ID); if (NewArea.Parent.Nid <= 0) { // Step 2.1: If Area_Parent_NID <=0 then set Area_Parent_NID to -1 and Area_Level=1 NewArea.Parent.Nid = -1; NewArea.Level = 1; } else { // Step 2.1: If Area_Parent_NID >0 then Area_Level=Area_Parent_Level+1 //get parent area level NewArea.Parent.Level = AreaBuilderObj.GetAreaLevelByAreaID(NewArea.Parent.ID); NewArea.Level = NewArea.Parent.Level + 1; } } // insert area into template AreaBuilderObj.InsertIntoDatabase(NewArea.Name, NewArea.ID, NewArea.GID, NewArea.Level, NewArea.Parent.Nid); } catch (Exception ex) { // do nothing } } } } } catch (Exception) { // } } RetVal = true; } catch (Exception ex) { RetVal = false; throw new ApplicationException(ex.ToString()); } finally { if (DBConnection != null) { DBConnection.Dispose(); } } return RetVal; }
/// <summary> /// Insert DevInfo data value into database. /// </summary> /// <param name="areaInfo">Object of AreaInfo</param> /// <param name="indicatorName">Indicator name</param> /// <param name="unitName">unit name</param> /// <param name="subgroupValName">SubgroupVal Name</param> /// <param name="timeperiod">Time Period </param> /// <param name="source">Source Name </param> /// <param name="dataValue">data value</param> /// <returns></returns> public int AddDataPoint(AreaInfo areaInfo, string indicatorName, string unitName, string subgroupValName, string timeperiod, string source, string dataValue) { int RetVal = 0; IUSInfo IUSInfo = new IUSInfo(); // check and create IUS value IUSInfo.IndicatorInfo.Name = indicatorName; IUSInfo.UnitInfo.Name = unitName; IUSInfo.SubgroupValInfo.Name = subgroupValName; //check and create other elements RetVal = this.AddDataPoint(areaInfo, IUSInfo, timeperiod, source, dataValue); return RetVal; }
/// <summary> /// Create and add record into database. /// </summary> /// <param name="areaInfo"></param> /// <param name="iusInfo"></param> /// <param name="timeperiodInfo"></param> /// <param name="sourceInfo"></param> /// <returns></returns> public int AddDataPoint(AreaInfo areaInfo, IUSInfo iusInfo, TimeperiodInfo timeperiodInfo, SourceInfo sourceInfo, string dataValue) { int RetVal = 0; int AreaNid = 0; int IUSNid = 0; int TimeperiodNid = 0; int SourceNid = 0; // Step 1: Area if (areaInfo.Nid <= 0) { AreaNid = this.DIArea.CheckNCreateArea(areaInfo); } else { AreaNid = areaInfo.Nid; } // Step 2: IUS, check for IUS only if IUSNid is zero. if (iusInfo.Nid <= 0) { IUSNid = this.DIIUS.CheckNCreateIUS(iusInfo); } else { IUSNid = iusInfo.Nid; } // Step 3: Timeperiod if (timeperiodInfo.Nid <= 0) { TimeperiodNid = this.DITimeperiod.CheckNCreateTimeperiod(timeperiodInfo.TimeperiodValue); } else { TimeperiodNid = timeperiodInfo.Nid; } // Step 4: Source if (sourceInfo.Nid <= 0) { SourceNid = this.DISource.CheckNCreateSource(sourceInfo.Name); } else { SourceNid = sourceInfo.Nid; } // Step 5: Insert Data and source , IUSNId & sourceparent ,IUSNID relationship into IC_IUS table RetVal = this.CheckNCreateData(AreaNid, IUSNid, SourceNid, TimeperiodNid, dataValue); return RetVal; }
/// <summary> /// Create and add record into database. /// </summary> /// <param name="areaInfo">object of AreaInfo</param> /// <param name="iusInfo">object of IUSInfo</param> /// <param name="timeperiod">Timeperiod</param> /// <param name="source">Source Name</param> /// <param name="dataValue">Data Value</param> /// <returns></returns> public int AddDataPoint(AreaInfo areaInfo, IUSInfo iusInfo, string timeperiod, string source, string dataValue) { int RetVal = 0; TimeperiodInfo TimeperiodObject = new TimeperiodInfo(); SourceInfo SourceObject = new SourceInfo(); if (areaInfo == null | string.IsNullOrEmpty(iusInfo.IndicatorInfo.Name) | string.IsNullOrEmpty(iusInfo.UnitInfo.Name) | string.IsNullOrEmpty(iusInfo.SubgroupValInfo.Name) | string.IsNullOrEmpty(timeperiod) | string.IsNullOrEmpty(source)) { //do nothing } else { //set timeperiod info TimeperiodObject.Nid = 0; TimeperiodObject.TimeperiodValue = timeperiod; //set source info SourceObject.Nid = 0; SourceObject.Name = source; //insert data RetVal = this.AddDataPoint(areaInfo, iusInfo, TimeperiodObject, SourceObject, dataValue); } return RetVal; }
/// <summary> /// Add area record into collection. /// </summary> /// <param name="areaInfo">object of AreaInfo </param> private void AddAreaIntoCollection(AreaInfo areaInfo) { if (!this.Areas.ContainsKey(areaInfo.ID)) { this.Areas.Add(areaInfo.ID, areaInfo); } }
public AreaInfo(string name, string gid) { this._Parent = new AreaInfo(); this._Name = name; this._GID = gid; }
/// <summary> /// Create area and parent ID /// </summary> /// <param name="areaInfo">object of AreaInfo</param> private void CreateAreaIDNParentID(AreaInfo areaInfo) { //set area id to areaname, if empty if (string.IsNullOrEmpty(areaInfo.ID)) { areaInfo.ID = areaInfo.Name; } //set parent area id to parent area name, if empty if (string.IsNullOrEmpty(areaInfo.Parent.ID)) { areaInfo.Parent.ID = areaInfo.Parent.Name; } }
/// <summary> /// Insert area record Into database /// </summary> /// <param name="areaInfo">object of AreaInfo</param> /// <returns>Ture/False. Return true after successful insertion otherwise false</returns> private bool InsertIntoDatabase(AreaInfo areaInfo) { return this.InsertIntoDatabase(areaInfo.Name, areaInfo.ID, areaInfo.GID, areaInfo.Level, areaInfo.Parent.Nid, areaInfo.AreaMap, areaInfo.AreaBlock, areaInfo.IsGlobal); }
private int CreateAreaForImportProcess(AreaInfo areaInfo, int NidInSourceDB, DIQueries sourceQurey, DIConnection sourceDBConnection) { int RetVal = -1; Dictionary<String, String> OldIconNId_NewIconNId = new Dictionary<string, string>(); try { areaInfo.Name = DICommon.RemoveQuotes(areaInfo.Name); if (areaInfo.Parent != null) { areaInfo.Parent.Name = DICommon.RemoveQuotes(areaInfo.Name); } //Step 1: check existence of area (areaID) RetVal = this.CheckAreaExists(areaInfo.ID); if (RetVal > 0) { DIConnection.ConnectionType = this.DBConnection.ConnectionStringParameters.ServerType; // update area info this.DBConnection.ExecuteNonQuery(this.DBQueries.Update.Area.UpdateArea(areaInfo.Parent.Nid, areaInfo.ID, areaInfo.Name, areaInfo.GID, areaInfo.Level, areaInfo.AreaMap, areaInfo.AreaBlock, areaInfo.IsGlobal)); } else { if (this.InsertIntoDatabase(areaInfo)) { //get nid RetVal = Convert.ToInt32(this.DBConnection.ExecuteScalarSqlQuery("SELECT @@IDENTITY")); } } //update/insert icon DIIcons.ImportElement(NidInSourceDB, RetVal, IconElementType.Area, sourceQurey, sourceDBConnection, this.DBQueries, this.DBConnection); } catch (Exception ex) { throw new ApplicationException(ex.Message); } return RetVal; }
private int CreateAreaChainFromExtDB(int sourceAreaNId, int sourceParentNId, string sourceAreaID, string sourceAreaName, string sourceAreaGId, int sourceAreaLevel, string sourceAreaMap, string sourceAreaBlock, bool isGlobal, DIQueries sourceDBQueries, DIConnection sourceDBConnection, Dictionary<string, int> alreadyImportedAreas, bool importMapAlso) { int RetVal; int NewParentNId; string TargetParent = string.Empty; string Map = string.Empty; string Block = string.Empty; DataRow Row; AreaInfo AreaInfoObject = new AreaInfo(); try { // check area is already imported or not. If already then get area nid if (alreadyImportedAreas.ContainsKey(sourceAreaID)) { RetVal = alreadyImportedAreas[sourceAreaID]; } else { // -- STEP 1: If the Parent NID is -1 then create the area at the root if (sourceParentNId == -1) { // -- Create the Area AreaInfoObject.Parent = new AreaInfo(); AreaInfoObject.Parent.Nid = sourceParentNId; AreaInfoObject.Nid = sourceAreaNId; AreaInfoObject.Name = sourceAreaName; AreaInfoObject.ID = sourceAreaID; AreaInfoObject.GID = sourceAreaGId; AreaInfoObject.IsGlobal = isGlobal; AreaInfoObject.Level = sourceAreaLevel; AreaInfoObject.AreaBlock = sourceAreaBlock; AreaInfoObject.AreaMap = sourceAreaMap; RetVal = this.CreateAreaForImportProcess(AreaInfoObject, sourceAreaNId, sourceDBQueries, sourceDBConnection); //import area maps if (importMapAlso) { this.ImportAreaMaps(sourceAreaNId.ToString(), 1, sourceDBConnection, sourceDBQueries); } } else { // -- STEP 2: If the Parent is not -1 then check for the existence of the Parent and then create the Area // -- STEP 2.1: If the Parent Exists then create the Area under that parent // -- STEP 2.2: If the Parent does not Exist then create the Parent first and then the Area under that parent // -- get the parent from the source database using (DataTable TempTable = sourceDBConnection.ExecuteDataTable(sourceDBQueries.Area.GetArea(FilterFieldType.NId, sourceParentNId.ToString()))) { Row = TempTable.Rows[0]; { Block = string.Empty; Map = string.Empty; if (!Information.IsDBNull(Row[Area.AreaMap])) { Map = Convert.ToString(Row[Area.AreaMap]); } if (!Information.IsDBNull(Row[Area.AreaBlock])) { Block = Convert.ToString(Row[Area.AreaBlock]); } NewParentNId = this.CreateAreaChainFromExtDB( Convert.ToInt32(Row[Area.AreaNId]), Convert.ToInt32(Row[Area.AreaParentNId]), Row[Area.AreaID].ToString(), Row[Area.AreaName].ToString(), Row[Area.AreaGId].ToString(), Convert.ToInt32(Row[Area.AreaLevel]), Map, Block, Convert.ToBoolean(Row[Area.AreaGlobal]), sourceDBQueries, sourceDBConnection, alreadyImportedAreas, importMapAlso); } } // -- Create the Child Row AreaInfoObject.Parent = new AreaInfo(); AreaInfoObject.Parent.Nid = NewParentNId; AreaInfoObject.Nid = sourceAreaNId; AreaInfoObject.Name = sourceAreaName; AreaInfoObject.ID = sourceAreaID; AreaInfoObject.GID = sourceAreaGId; AreaInfoObject.IsGlobal = isGlobal; AreaInfoObject.Level = sourceAreaLevel; AreaInfoObject.AreaBlock = sourceAreaBlock; AreaInfoObject.AreaMap = sourceAreaMap; RetVal = this.CreateAreaForImportProcess(AreaInfoObject, sourceAreaNId, sourceDBQueries, sourceDBConnection); //import area maps if (importMapAlso) { this.ImportAreaMaps(sourceAreaNId.ToString(), 1, sourceDBConnection, sourceDBQueries); } } } } catch (Exception ex) { throw new ApplicationException(ex.ToString()); } // add new area_nid into ImportedArea list if (RetVal > 0) { if (!alreadyImportedAreas.ContainsKey(sourceAreaID)) { alreadyImportedAreas.Add(sourceAreaID, RetVal); } } return RetVal; }
/// <summary> /// Create area if not exist Into database /// </summary> /// <param name="areaInfo">object of AreaInfo</param> /// <returns>Area Nid</returns> private int CreateArea(AreaInfo areaInfo) { int RetVal = 0; int ParentNId = 0; int ParentLevel = 1; string areaparentID = string.Empty; string areanid = string.Empty; //Step1 :Check parent area exists or not by area id only if ParentNid<>-1 and ParentID is not empty or null if (string.IsNullOrEmpty(areaInfo.Parent.ID) & areaInfo.Nid != -1) { ParentNId = -1; areaInfo.Parent.Level = 0; } else { ParentNId = this.CheckAreaExists(areaInfo.Parent.ID); if (ParentNId <= 0) { //set ParentLevel to 1 if (areaInfo.Parent.Level == 0) { areaInfo.Parent.Level = ParentLevel; } // create gid for parent area if (string.IsNullOrEmpty(areaInfo.Parent.GID)) { areaInfo.Parent.GID = Guid.NewGuid().ToString(); } //if parent doesnt exist then insert it into database . if (this.InsertIntoDatabase(areaInfo.Parent.Name, areaInfo.Parent.ID, areaInfo.Parent.GID, areaInfo.Parent.Level, -1)) { areaparentID = areaInfo.Parent.ID; ParentNId = this.GetAreaNidByAreaID(areaparentID); } } } //insert area into database if (ParentNId > 0 || ParentNId == -1) { //udpate parentNid in areaInfo object areaInfo.Parent.Nid = ParentNId; //get parent level if it is null or zero & parent nid >0 if (areaInfo.Parent.Level == 0 & ParentNId > 0) { //get parent area level and update areaRecord object areaInfo.Parent.Level = this.GetAreaLevelByAreaID(areaInfo.Parent.ID); } //set area level if (areaInfo.Level == 0) { areaInfo.Level = areaInfo.Parent.Level + 1; } //create gid for area if (string.IsNullOrEmpty(areaInfo.GID)) { areaInfo.GID = Guid.NewGuid().ToString(); } if (this.InsertIntoDatabase(areaInfo)) { areanid = areaInfo.ID; RetVal = this.GetAreaNidByAreaID(areanid); } } //update areainfo object areaInfo.Nid = RetVal; return RetVal; }
/// <summary> /// Get_Area_Collection method.. /// </summary> /// <param name="this._DSDStructure"></param> /// <returns></returns> private void Get_Area() { //'Dictionary<string, int> RetVal = new Dictionary<string, int>(); //AreaBuilder BuilderObj = new AreaBuilder(this.DBConnection, this.DBQueries); string Name = string.Empty; string AreaID = string.Empty; string LanguageCode = this._LanguageCode; int NID = 0; string ParentID = string.Empty; bool ISGlobal = false; this.AreaDetails = new Dictionary<string, AreaInfo>(); foreach (SDMXObjectModel.Structure.CodelistType CodeListObj in this._DSDStructure.Structures.Codelists) { if (CodeListObj.id == SDMXConstants.CodeList.Area.Id) { foreach (SDMXObjectModel.Structure.CodeType IndCode in CodeListObj.Items) { AreaID = IndCode.id; Name = string.Empty; ISGlobal = false; foreach (TextType IndTextType in IndCode.Name) { if (IndTextType.lang.Trim('_') == this._LanguageCode.Trim('_')) { Name = IndTextType.Value; break; } } foreach (AnnotationType AnnType in IndCode.Annotations) { if (AnnType.AnnotationTitle == SDMXConstants.Annotations.IsGlobal) { foreach (TextType AnnTextType in AnnType.AnnotationText) { ISGlobal = Convert.ToBoolean(AnnTextType.Value); // break; } } } foreach (LocalCodeReferenceType RefType in IndCode.Items) { ParentID = ((SDMXObjectModel.Common.RefBaseType)(RefType.Items[0])).id; } if (!this.AreaDetails.ContainsKey(AreaID)) { AreaInfo TableInfoObj = new AreaInfo(); TableInfoObj.ID = AreaID; TableInfoObj.Name = Name; TableInfoObj.IsGlobal = ISGlobal; TableInfoObj.Parent = new AreaInfo(); TableInfoObj.Parent.ID = ParentID; this.AreaDetails.Add(AreaID, TableInfoObj); } } } } }
/// <summary> /// Get_Area_Collection method.. /// </summary> /// <param name="this._DSDStructure"></param> /// <returns></returns> private void Get_Area() { //'Dictionary<string, int> RetVal = new Dictionary<string, int>(); //AreaBuilder BuilderObj = new AreaBuilder(this.DBConnection, this.DBQueries); string Name = string.Empty; string AreaID = string.Empty; string LanguageCode = this._LanguageCode; int NID = 0; string ParentID = string.Empty; bool ISGlobal = false; this.AreaDetails = new Dictionary <string, AreaInfo>(); foreach (SDMXObjectModel.Structure.CodelistType CodeListObj in this._DSDStructure.Structures.Codelists) { if (CodeListObj.id == SDMXConstants.CodeList.Area.Id) { foreach (SDMXObjectModel.Structure.CodeType IndCode in CodeListObj.Items) { AreaID = IndCode.id; Name = string.Empty; ISGlobal = false; foreach (TextType IndTextType in IndCode.Name) { if (IndTextType.lang.Trim('_') == this._LanguageCode.Trim('_')) { Name = IndTextType.Value; break; } } foreach (AnnotationType AnnType in IndCode.Annotations) { if (AnnType.AnnotationTitle == SDMXConstants.Annotations.IsGlobal) { foreach (TextType AnnTextType in AnnType.AnnotationText) { ISGlobal = Convert.ToBoolean(AnnTextType.Value); // break; } } } foreach (LocalCodeReferenceType RefType in IndCode.Items) { ParentID = ((SDMXObjectModel.Common.RefBaseType)(RefType.Items[0])).id; } if (!this.AreaDetails.ContainsKey(AreaID)) { AreaInfo TableInfoObj = new AreaInfo(); TableInfoObj.ID = AreaID; TableInfoObj.Name = Name; TableInfoObj.IsGlobal = ISGlobal; TableInfoObj.Parent = new AreaInfo(); TableInfoObj.Parent.ID = ParentID; this.AreaDetails.Add(AreaID, TableInfoObj); } } } } }
public int ImportAreaFrmMappedArea(AreaInfo srcAreaInfo, int NidInSourceDB, int NidInTrgDB, DIQueries sourceQurey, DIConnection sourceDBConnection) { int RetVal = NidInTrgDB; Dictionary<String, String> OldIconNId_NewIconNId = new Dictionary<string, string>(); try { srcAreaInfo.Name = DICommon.RemoveQuotes(srcAreaInfo.Name); if (srcAreaInfo.Parent != null) { srcAreaInfo.Parent.Name = DICommon.RemoveQuotes(srcAreaInfo.Name); } if (RetVal > 0) { // update area info this.DBConnection.ExecuteNonQuery(this.DBQueries.Update.Area.UpdateArea(srcAreaInfo.Parent.Nid, srcAreaInfo.ID, srcAreaInfo.Name, srcAreaInfo.GID, srcAreaInfo.Level, srcAreaInfo.AreaMap, srcAreaInfo.AreaBlock, srcAreaInfo.IsGlobal)); //update/insert icon DIIcons.ImportElement(NidInSourceDB, RetVal, IconElementType.Area, sourceQurey, sourceDBConnection, this.DBQueries, this.DBConnection); } } catch (Exception ex) { throw new ApplicationException(ex.Message); } return RetVal; }
/// <summary> /// Get AreaInfo based on filter criteria and filter string /// </summary> /// <param name="filterFieldType">Applicable for NId, ParentNId, ID, GId, Search, NIdNotIn, NameNotIn, Level</param> /// <param name="filterText"></param> /// <returns>Returns null incase no record is found. If multiple records are available areaInfo of first record will be returned</returns> public AreaInfo GetAreaInfo(FilterFieldType filterFieldType, string filterText) { AreaInfo RetVal = null; string SqlQuery = string.Empty; DataTable AreaTable = new DataTable(); try { if (!string.IsNullOrEmpty(filterText)) { SqlQuery = this.DBQueries.Area.GetArea(filterFieldType, filterText); AreaTable = this.DBConnection.ExecuteDataTable(SqlQuery); //check if Row Count Is greater Than Zero if (AreaTable.Rows.Count > 0) { RetVal = new AreaInfo(); RetVal.Nid = Convert.ToInt32(AreaTable.Rows[0][Area.AreaNId]); RetVal.ParentNid = Convert.ToInt32(AreaTable.Rows[0][Area.AreaParentNId]); RetVal.ID = Convert.ToString(AreaTable.Rows[0][Area.AreaID]); RetVal.Name = Convert.ToString(AreaTable.Rows[0][Area.AreaName]); RetVal.GID = Convert.ToString(AreaTable.Rows[0][Area.AreaGId]); RetVal.Level = Convert.ToInt32(AreaTable.Rows[0][Area.AreaLevel]); RetVal.AreaMap = Convert.ToString(AreaTable.Rows[0][Area.AreaMap]); RetVal.AreaBlock = Convert.ToString(AreaTable.Rows[0][Area.AreaBlock]); RetVal.IsGlobal = Convert.ToBoolean(AreaTable.Rows[0][Area.AreaGlobal]); } } } catch (Exception ex) { System.Diagnostics.Debug.Print(ex.Message); } return RetVal; }
/// <summary> /// Update AreaInfo /// </summary> /// <param name="areaInfo"></param> public void UpdateArea(AreaInfo areaInfo) { string SqlQuery = string.Empty; // -- Update the area SqlQuery = this.DBQueries.Update.Area.UpdateAreaByAreaNId(areaInfo.ParentNid, areaInfo.ID, areaInfo.Name, areaInfo.GID, areaInfo.Level, areaInfo.AreaMap, areaInfo.AreaBlock, areaInfo.IsGlobal, areaInfo.Nid); this.DBConnection.ExecuteNonQuery(SqlQuery); }
/// <summary> /// Import Area by Name, ID /// </summary> /// <param name="requiredAreaLevel"></param> /// <param name="areaName"></param> /// <param name="areaID"></param> /// <param name="parentAreaID"></param> /// <returns></returns> public int ImportArea(string areaName, string areaID, string parentAreaID, bool isGlobal) { int RetVal = 0; string Map = string.Empty; string Block = string.Empty; AreaInfo AreaInfoObj = new AreaInfo(); try { RetVal = this.GetAreaNidByAreaID(areaID); AreaInfoObj.Name = areaName; AreaInfoObj.ID = areaID; AreaInfoObj.Parent = new AreaInfo(); if (parentAreaID == "-1") { AreaInfoObj.Parent.Nid = -1; } else { AreaInfoObj.Parent.ID = parentAreaID; AreaInfoObj.Parent.Nid = this.GetAreaNidByAreaID(parentAreaID); } AreaInfoObj.IsGlobal = isGlobal; if (RetVal <= 0) { RetVal = this.CheckNCreateArea(AreaInfoObj); } else { this.UpdateArea(AreaInfoObj); } } catch (Exception ex) { throw new ApplicationException(ex.ToString()); } return RetVal; }