private void ShowStep(int step) { for (int i = 0; i <= _stepCount + 1; i++) { ((Panel)steps[i]).Visible = false; } ((Panel)steps[step - 1]).Visible = true; //if(step==1) //{ // pastStep.Value="1"; //} #region step2 if (step == 2) { if (pastStep.Value == "1" && fSourceFile.PostedFile != null && fSourceFile.PostedFile.ContentLength > 0) { ProcessFileCache(Server.MapPath(CommonHelper.ChartPath)); String dir = CommonHelper.ChartPath; string wwwpath = dir + Guid.NewGuid().ToString(); switch (rbSourceType.SelectedValue) { case "0": //wwwpath += ".xls"; // OZ: Added XLS and XLSX extensions wwwpath += Path.GetExtension(fSourceFile.PostedFile.FileName); break; case "1": wwwpath += ".xml"; break; default: break; } wwwPath.Value = wwwpath; using (Stream sw = File.Create(Server.MapPath(wwwpath))) { fSourceFile.PostedFile.InputStream.Seek(0, SeekOrigin.Begin); System.IO.BinaryReader br = new System.IO.BinaryReader(fSourceFile.PostedFile.InputStream); int iBufferSize = 655360; // 640 KB byte[] outbyte = br.ReadBytes(iBufferSize); while (outbyte.Length > 0) { sw.Write(outbyte, 0, outbyte.Length); outbyte = br.ReadBytes(iBufferSize); } br.Close(); } IIncomingDataParser parser = null; DataSet rawData = null; switch (rbSourceType.SelectedIndex) { case 0: IMCOleDBHelper helper = (IMCOleDBHelper)Activator.GetObject(typeof(IMCOleDBHelper), ConfigurationManager.AppSettings["McOleDbServiceString"]); rawData = helper.ConvertExcelToDataSet(Server.MapPath(wwwPath.Value)); break; case 1: parser = new XmlIncomingDataParser(); rawData = parser.Parse(Server.MapPath(wwwPath.Value), null); break; } try { //rawData = parser.Parse(Server.MapPath(wwwPath.Value), null); DataTable dtSource = rawData.Tables[0]; DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("SourceField", typeof(string))); dt.Columns.Add(new DataColumn("IBNField", typeof(string))); dt.Columns.Add(new DataColumn("realIBNFieldName", typeof(string))); dt.Columns.Add(new DataColumn("IsIn", typeof(bool))); DataRow dr; MappingMetaClass mc = null; mc = new IncidentMappingMetaClass(); foreach (ColumnInfo ci in mc.ColumnInfos) { dr = dt.NewRow(); dr["SourceField"] = LocRM.GetString("imNotSet"); if (ci.Field.IsSystem) { dr["IBNField"] = LocRM.GetString("tw" + ci.FieldName); dr["realIBNFieldName"] = ci.FieldName; } else { dr["IBNField"] = ci.FieldFriendlyName; dr["realIBNFieldName"] = ci.FieldName; } dr["IsIn"] = true; dt.Rows.Add(dr); } DataTable dtColumns = new DataTable(); dtColumns.Columns.Add(new DataColumn("SourceField", typeof(string))); dtColumns.Columns.Add(new DataColumn("IsIn", typeof(bool))); foreach (DataColumn dc in dtSource.Columns) { dr = dtColumns.NewRow(); dr["SourceField"] = dc.ColumnName; dr["IsIn"] = true; dtColumns.Rows.Add(dr); } ViewState["Fields"] = dt; ViewState["SourceFields"] = dtColumns; BindDG(); } catch { step2.Visible = false; step4.Visible = false; step5.Visible = false; step6.Visible = true; ((WizardTemplate)Page.Controls[0]).btnNext.Visible = false; ((WizardTemplate)Page.Controls[0]).btnBack.Visible = false; lblFinalResult.Text = String.Format(LocRM.GetString("imErrorListText"), String.Format("<a href='mailto:{0}'>{0}</a>", GlobalResourceManager.Strings["SupportEmail"])); return; } } ((WizardTemplate)Page.Controls[0]).btnNext.Disabled = false; if (ViewState["Fields"] != null) { BindDG(); } else { ((WizardTemplate)Page.Controls[0]).btnNext.Disabled = true; grdFields.DataSource = null; grdFields.DataBind(); } pastStep.Value = "2"; } #endregion #region step3 - not Lists if (step == 3) { DataTable dtFields = (DataTable)ViewState["Fields"]; IIncomingDataParser parser = null; DataSet rawData = null; switch (rbSourceType.SelectedIndex) { case 0: IMCOleDBHelper helper = (IMCOleDBHelper)Activator.GetObject(typeof(IMCOleDBHelper), ConfigurationManager.AppSettings["McOleDbServiceString"]); rawData = helper.ConvertExcelToDataSet(Server.MapPath(wwwPath.Value)); break; case 1: parser = new XmlIncomingDataParser(); rawData = parser.Parse(Server.MapPath(wwwPath.Value), null); break; } //DataSet rawData = parser.Parse(Server.MapPath(wwwPath.Value), null); DataTable dtSource = rawData.Tables[0]; MappingMetaClass mc = null; mc = new IncidentMappingMetaClass(); MetaDataPlus.Import.Rule mapping = mc.CreateClassRule(); DataTable dtColumns = (DataTable)ViewState["SourceFields"]; foreach (DataRow dr in dtColumns.Rows) { string srcColumnName = dr["SourceField"].ToString(); DataColumn dc = dtSource.Columns[srcColumnName]; DataRow[] drF = dtFields.Select("SourceField = '" + srcColumnName + "'"); if (drF.Length > 0) { string realIBNField = drF[0]["realIBNFieldName"].ToString(); MetaField mf = mc.GetColumnInfo(realIBNField).Field; if (mf != null) { mapping.Add(new RuleItem(srcColumnName, dc.DataType, mf, FillTypes.CopyValue)); } } else { mapping.Add(new RuleItem(srcColumnName, dc.DataType)); } } try { FillResult fr = null; fr = ((IncidentMappingMetaClass)mc).FillData(FillDataMode.New, dtSource, mapping, 0); if (fr.ErrorRows > 0) { string sText = String.Format(LocRM.GetString("imSomeErrors"), fr.SuccessfulRows.ToString(), fr.ErrorRows.ToString()); int index = 0; foreach (string sError in fr.Errors) { if ((++index) > 5) { break; } else { sText += "<br> <li>" + sError + "</li>"; } } lblFirstResult.Text = sText; } else { lblFirstResult.Text = String.Format(LocRM.GetString("imWasDone"), fr.SuccessfulRows.ToString()); lblFinalResult.Text = String.Format(LocRM.GetString("imWasDone"), fr.SuccessfulRows.ToString()); ((WizardTemplate)Page.Controls[0]).btnNext.Visible = false; ((WizardTemplate)Page.Controls[0]).btnBack.Visible = false; //Page.RegisterStartupScript("onfourthload","<script language='javascript'>"+ //"NextStep();"+ //"function NextStep(){var obj = document.getElementById('"+((WizardTemplate)Page.Controls[0]).btnNext.ClientID+"'); obj.click();}</script>"); } } catch (Exception ex) { lblFirstResult.Text = LocRM.GetString("imSimpleError") + " " + ex.Message; } pastStep.Value = "3"; } #endregion #region step4 - not Lists if (step == 4) { DataTable dtFields = (DataTable)ViewState["Fields"]; IIncomingDataParser parser = null; DataSet rawData = null; switch (rbSourceType.SelectedIndex) { case 0: IMCOleDBHelper helper = (IMCOleDBHelper)Activator.GetObject(typeof(IMCOleDBHelper), ConfigurationManager.AppSettings["McOleDbServiceString"]); rawData = helper.ConvertExcelToDataSet(Server.MapPath(wwwPath.Value)); break; case 1: parser = new XmlIncomingDataParser(); rawData = parser.Parse(Server.MapPath(wwwPath.Value), null); break; } //DataSet rawData = parser.Parse(Server.MapPath(wwwPath.Value), null); DataTable dtSource = rawData.Tables[0]; MappingMetaClass mc = null; mc = new IncidentMappingMetaClass(); MetaDataPlus.Import.Rule mapping = mc.CreateClassRule(); foreach (DataRow dr in dtFields.Rows) { string srcColumnName = dr["SourceField"].ToString(); DataColumn dc = dtSource.Columns[srcColumnName]; string realIBNField = dr["realIBNFieldName"].ToString(); if (realIBNField.Length > 0) { MetaField mf = mc.GetColumnInfo(realIBNField).Field; if (mf != null) { mapping.Add(new RuleItem(srcColumnName, dc.DataType, mf, FillTypes.CopyValue)); } } else { mapping.Add(new RuleItem(srcColumnName, dc.DataType)); } } try { FillResult fr = null; fr = ((IncidentMappingMetaClass)mc).FillData(FillDataMode.New, dtSource, mapping, -1); lblFinalResult.Text = String.Format(LocRM.GetString("imWasDone"), fr.SuccessfulRows.ToString()); } catch (Exception ex) { lblFinalResult.Text = LocRM.GetString("imSimpleError") + " " + ex.Message; } pastStep.Value = "5"; } #endregion }
private void BindDataType() { DataRow dr; DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("key", typeof(string))); dt.Columns.Add(new DataColumn("name", typeof(string))); dt.Columns.Add(new DataColumn("Type", typeof(string))); dt.Columns.Add(new DataColumn("IsSystemDictionary", typeof(bool))); dt.Columns.Add(new DataColumn("AllowNulls", typeof(bool))); dt.Columns.Add(new DataColumn("IsConstant", typeof(bool))); MappingMetaClass mmc = null; MetaDataPlus.Import.Rule mapping = null; string MetaClassName = ddlMetaClass.SelectedValue; string language = ddlLanguage.SelectedValue; switch (ddlTypeData.SelectedValue) { case "Category": CatalogContext.MetaDataContext.UseCurrentUICulture = false; CatalogContext.MetaDataContext.Language = language; if (!String.IsNullOrEmpty(MetaClassName)) { mmc = new CategoryMappingMetaClass(CatalogContext.MetaDataContext, MetaClassName, -1); } else { mmc = new CategoryMappingMetaClass(CatalogContext.MetaDataContext, -1); } CatalogContext.MetaDataContext.UseCurrentUICulture = true; mapping = mmc.CreateClassRule(); mapping.Attribute.Add("TypeName", "Category"); if (!String.IsNullOrEmpty(language)) { mapping.Attribute.Add("Language", language); } break; case "Entry": CatalogContext.MetaDataContext.UseCurrentUICulture = false; CatalogContext.MetaDataContext.Language = language; if (!String.IsNullOrEmpty(MetaClassName)) { mmc = new EntryMappingMetaClass(CatalogContext.MetaDataContext, MetaClassName, -1); } else { mmc = new EntryMappingMetaClass(CatalogContext.MetaDataContext, -1); } CatalogContext.MetaDataContext.UseCurrentUICulture = true; mapping = mmc.CreateClassRule(); mapping.Attribute.Add("TypeName", "Entry"); if (!String.IsNullOrEmpty(language)) { mapping.Attribute.Add("Language", language); } break; case "EntryRelation": mmc = new EntryRelationMappingMetaClass(CatalogContext.MetaDataContext, -1); mapping = mmc.CreateClassRule(); mapping.Attribute.Add("TypeName", "EntryRelation"); break; case "EntryAssociation": mmc = new EntryAssociationMappingMetaClass(CatalogContext.MetaDataContext, -1); mapping = mmc.CreateClassRule(); mapping.Attribute.Add("TypeName", "EntryAssociation"); break; case "Variation": mmc = new VariationMappingMetaClass(CatalogContext.MetaDataContext, -1); mapping = mmc.CreateClassRule(); mapping.Attribute.Add("TypeName", "Variation"); break; case "SalePrice": mmc = new PricingMappingMetaClass(CatalogContext.MetaDataContext, -1); mapping = mmc.CreateClassRule(); mapping.Attribute.Add("TypeName", "SalePrice"); break; default: return; } mapping.Attribute.Add("Delimiter", this.ddlDelimiter.SelectedValue); mapping.Attribute.Add("TextQualifier", this.ddlTextQualifier.SelectedValue); foreach (ColumnInfo ci in mmc.ColumnInfos) { dr = dt.NewRow(); if (ci.Field.IsSystem) { dr["key"] = ci.FieldName; dr["name"] = (ci.FieldFriendlyName != null) ? ci.FieldFriendlyName : ci.FieldName; } else { dr["key"] = ci.FieldName; dr["name"] = ci.FieldFriendlyName; } if (ci.Field.MultiLanguageValue && !String.IsNullOrEmpty(language)) { dr["name"] += String.Format(" ({0})", language); } dr["Type"] = ci.Field.DataType.ToString(); dr["IsSystemDictionary"] = ci.IsSystemDictionary; dr["AllowNulls"] = ci.Field.AllowNulls; dr["IsConstant"] = false; dt.Rows.Add(dr); mapping.Add(new RuleItem(ci.Field, MetaDataPlus.Import.FillType.NotUse)); } grdFields.Columns[0].HeaderText = RM.GetString("IMPORT_MAPPING_TITLE_FIELDS"); grdFields.Columns[1].HeaderText = RM.GetString("IMPORT_MAPPING_TITLE_COLUMN_HEADERS"); grdFields.Columns[2].HeaderText = "Custom values"; grdFields.DataSource = dt; grdFields.DataBind(); this.ClassRule = mapping; if (ddlDataFiles.SelectedIndex > 0) { IIncomingDataParser parser = null; DataSet rawData = null; try { char chTextQualifier = (this.ddlTextQualifier.SelectedValue == "") ? '\0' : char.Parse(this.ddlTextQualifier.SelectedValue); parser = new CsvIncomingDataParser(SourcePath, true, char.Parse(this.ddlDelimiter.SelectedValue), chTextQualifier, true, GetEncoding(this.ddlEncoding.SelectedValue)); rawData = parser.Parse(ddlDataFiles.SelectedItem.Text, null); } catch (Exception ex) { DisplayErrorMessage(ex.Message); return; } DataTable dtSource = rawData.Tables[0]; DataTable dtColumns = new DataTable(); dtColumns.Columns.Add(new DataColumn("Text", typeof(string))); dtColumns.Columns.Add(new DataColumn("Value", typeof(string))); foreach (DataColumn dc in dtSource.Columns) { dr = dtColumns.NewRow(); dr["Text"] = "Column " + (dc.Ordinal + 1) + " - " + dc.ColumnName; dr["Value"] = dc.ColumnName; dtColumns.Rows.Add(dr); } foreach (DataGridItem dgi in grdFields.Items) { DropDownList ddl = (DropDownList)dgi.FindControl("ddlFields"); TextBox tbCustomValue = (TextBox)dgi.FindControl("tbCustomValue"); DropDownList ddlValues = (DropDownList)dgi.FindControl("ddlValues"); string sKey = dgi.Cells[3].Text; string sType = dgi.Cells[4].Text; bool sIsSystemDictionary = bool.Parse(dgi.Cells[5].Text); bool allowNulls = bool.Parse(dgi.Cells[6].Text); bool IsConstant = bool.Parse(dgi.Cells[7].Text); bool useDictionaryControl = GetUseDictionaryFlag(dgi); if (!IsConstant) { if (ddl != null) { ddl.DataSource = dtColumns; ddl.DataTextField = "Text"; ddl.DataValueField = "Value"; ddl.DataBind(); if (sIsSystemDictionary) { ddl.Items.Insert(0, new ListItem("<" + RM.GetString("IMPORT_TYPE_VALUES_DICTIONARY_VALUE") + ">", "CustomValue")); } else { ddl.Items.Insert(0, new ListItem("<" + RM.GetString("IMPORT_TYPE_VALUES_CUSTOM_VALUE") + ">", "CustomValue")); } if (allowNulls) { ddl.Items.Insert(0, new ListItem("", "")); } else { ddl.Items.Insert(0, new ListItem("<" + RM.GetString("IMPORT_TYPE_VALUES_NOT_SET") + ">", "NotSet")); } string customControlID = useDictionaryControl ? ddlValues.ClientID : tbCustomValue.ClientID; string jsDllOnChange = String.Format("ddlOnChange(this, 'CustomValue', '{0}')", customControlID); ddl.Attributes.Add("OnChange", jsDllOnChange); } } //fill custom or dictionary controls ddlValues.Visible = useDictionaryControl; tbCustomValue.Visible = !ddlValues.Visible; if (sType.Equals(MetaDataType.Boolean.ToString()) || sType.Equals(MetaDataType.Bit.ToString())) { ddlValues.Items.Clear(); ddlValues.Items.Add("True"); ddlValues.Items.Add("False"); } if (sKey.Equals("sys_RowAction")) { ddlValues.Items.Clear(); ddlValues.Items.Add(RowAction.Default.ToString()); ddlValues.Items.Add(RowAction.Insert.ToString()); ddlValues.Items.Add(RowAction.Update.ToString()); ddlValues.Items.Add(RowAction.Delete.ToString()); } switch (ddlTypeData.SelectedValue) { case "Category": if (sKey == "TemplateName") { TemplateDto templates = DictionaryManager.GetTemplateDto(); if (templates.main_Templates.Count > 0) { DataView view = templates.main_Templates.DefaultView; view.RowFilter = "TemplateType = 'node'"; ddlValues.DataTextField = "FriendlyName"; ddlValues.DataValueField = "Name"; ddlValues.DataSource = view; ddlValues.DataBind(); } } break; case "Entry": if (sKey == "ClassTypeId") { ddlValues.Items.Clear(); ddlValues.Items.Add(new ListItem("Product", EntryType.Product)); ddlValues.Items.Add(new ListItem("Variation/Sku", EntryType.Variation)); ddlValues.Items.Add(new ListItem("Package", EntryType.Package)); ddlValues.Items.Add(new ListItem("Bundle", EntryType.Bundle)); ddlValues.Items.Add(new ListItem("Dynamic Package", EntryType.DynamicPackage)); } if (sKey == "TemplateName") { TemplateDto templates = DictionaryManager.GetTemplateDto(); if (templates.main_Templates.Count > 0) { DataView view = templates.main_Templates.DefaultView; view.RowFilter = "TemplateType = 'entry'"; ddlValues.DataTextField = "FriendlyName"; ddlValues.DataValueField = "Name"; ddlValues.DataSource = view; ddlValues.DataBind(); } } break; case "EntryAssociation": if (sKey == "AssociationType") { ddlValues.Items.Clear(); CatalogAssociationDto dto = CatalogContext.Current.GetCatalogAssociationDto(0); if (dto.AssociationType.Count > 0) { ddlValues.DataTextField = "Description"; ddlValues.DataValueField = "AssociationTypeId"; ddlValues.DataSource = dto.AssociationType; ddlValues.DataBind(); } } break; case "Variation": if (sKey == "TaxCategoryId") { CatalogTaxDto taxes = CatalogTaxManager.GetTaxCategories(); if (taxes.TaxCategory != null) { ddlValues.DataTextField = "Name"; ddlValues.DataValueField = "TaxCategoryId"; ddlValues.DataSource = taxes.TaxCategory.Rows; ddlValues.DataBind(); } } if (sKey == "MerchantId") { CatalogEntryDto merchants = CatalogContext.Current.GetMerchantsDto(); if (merchants.Merchant != null) { ddlValues.DataTextField = "Name"; ddlValues.DataValueField = "MerchantId"; ddlValues.DataSource = merchants.Merchant.Rows; ddlValues.DataBind(); } } if (sKey == "WarehouseId") { WarehouseDto warehouses = WarehouseManager.GetWarehouseDto(); if (warehouses.Warehouse != null) { ddlValues.DataTextField = "Name"; ddlValues.DataValueField = "WarehouseId"; ddlValues.DataSource = warehouses.Warehouse.Rows; ddlValues.DataBind(); } } if (sKey == "PackageId") { ShippingMethodDto shippingDto = ShippingManager.GetShippingPackages(); if (shippingDto.Package != null) { ddlValues.DataTextField = "Name"; ddlValues.DataValueField = "PackageId"; ddlValues.DataSource = shippingDto.Package.Rows; ddlValues.DataBind(); } } break; case "SalePrice": if (sKey == "SaleType") { ddlValues.Items.Clear(); foreach (SalePriceTypeDefinition element in CatalogConfiguration.Instance.SalePriceTypes) { ListItem li = new ListItem(UtilHelper.GetResFileString(element.Description), element.Value.ToString()); ddlValues.Items.Add(li); } } if (sKey == "Currency") { CurrencyDto dto = CatalogContext.Current.GetCurrencyDto(); ddlValues.DataTextField = "Name"; ddlValues.DataValueField = "CurrencyCode"; ddlValues.DataSource = dto.Currency; ddlValues.DataBind(); } break; default: break; } } } }
/// <summary> /// Processes the import button event. /// </summary> protected void DoImport(Guid appId) { AppContext.Current.ApplicationId = appId; try { string filePath = SelectedFilePath; string mappingFilePath = SelectedMappingFilePath; if (String.IsNullOrEmpty(filePath)) { throw new Exception("No selected file."); } if (!String.IsNullOrEmpty(mappingFilePath)) { MetaDataPlus.Import.Rule mapping = MetaDataPlus.Import.Rule.XmlDeserialize(CatalogContext.MetaDataContext, mappingFilePath); char chTextQualifier = '\0'; if (mapping.Attribute["TextQualifier"].ToString() != "") { chTextQualifier = char.Parse(mapping.Attribute["TextQualifier"]); } string sEncoding = "Default"; try { sEncoding = mapping.Attribute["Encoding"]; } catch { } IIncomingDataParser parser = null; DataSet rawData = null; try { parser = new CsvIncomingDataParser(SourcePath, true, char.Parse(mapping.Attribute["Delimiter"].ToString()), chTextQualifier, true, GetEncoding(sEncoding)); rawData = parser.Parse(Path.GetFileName(filePath), null); } catch (Exception ex) { throw ex; } DataTable dtSource = rawData.Tables[0]; MappingMetaClass mc = null; try { int CatalogId = 0; FillResult fr = null; switch (mapping.Attribute["TypeName"]) { case "Category": if (!String.IsNullOrEmpty(ListCatalogs.SelectedValue)) { CatalogId = Int32.Parse(ListCatalogs.SelectedValue); } CatalogContext.MetaDataContext.UseCurrentUICulture = false; CatalogContext.MetaDataContext.Language = mapping.Attribute["Language"]; mc = new CategoryMappingMetaClass(CatalogContext.MetaDataContext, mapping.ClassName, CatalogId); fr = ((CategoryMappingMetaClass)mc).FillData(FillDataMode.All, dtSource, mapping, -1, DateTime.UtcNow); CatalogContext.MetaDataContext.UseCurrentUICulture = true; break; case "Entry": if (!String.IsNullOrEmpty(ListCatalogs.SelectedValue)) { CatalogId = Int32.Parse(ListCatalogs.SelectedValue); } CatalogContext.MetaDataContext.UseCurrentUICulture = false; CatalogContext.MetaDataContext.Language = mapping.Attribute["Language"]; mc = new EntryMappingMetaClass(CatalogContext.MetaDataContext, mapping.ClassName, CatalogId); fr = ((EntryMappingMetaClass)mc).FillData(FillDataMode.All, dtSource, mapping, -1, DateTime.UtcNow); CatalogContext.MetaDataContext.UseCurrentUICulture = true; break; case "EntryRelation": mc = new EntryRelationMappingMetaClass(CatalogContext.MetaDataContext, CatalogId); fr = ((EntryRelationMappingMetaClass)mc).FillData(FillDataMode.All, dtSource, mapping, -1, DateTime.UtcNow); break; case "EntryAssociation": mc = new EntryAssociationMappingMetaClass(CatalogContext.MetaDataContext, CatalogId); fr = ((EntryAssociationMappingMetaClass)mc).FillData(FillDataMode.All, dtSource, mapping, -1, DateTime.UtcNow); break; case "Variation": mc = new VariationMappingMetaClass(CatalogContext.MetaDataContext, CatalogId); fr = ((VariationMappingMetaClass)mc).FillData(FillDataMode.All, dtSource, mapping, -1, DateTime.UtcNow); break; case "SalePrice": mc = new PricingMappingMetaClass(CatalogContext.MetaDataContext, CatalogId); fr = ((PricingMappingMetaClass)mc).FillData(FillDataMode.All, dtSource, mapping, -1, DateTime.UtcNow); break; } if (fr != null) { if (fr.ErrorRows > 0) { foreach (Exception expt in fr.Exceptions) { string exMessage = expt.Message; if (expt is MDPImportException) { MDPImportException mdpEx = (MDPImportException)expt; if (mdpEx.RowIndex > -1) { exMessage = String.Format("Import error. Line {0}: {1}", mdpEx.RowIndex + 1, exMessage); } } ProgressControl1.AddProgressMessageText(exMessage, true, 0); } } if (fr.Warnings.Length > 0) { foreach (MDPImportWarning MDPWarn in fr.Warnings) { ProgressControl1.AddProgressMessageText(String.Format("Line {0}: {1}", MDPWarn.RowIndex + 1, MDPWarn.Message), false, 0); } } string msgSuccessful = RM.GetString("IMPORT_MSG_SUCCESSFUL") + ". " + string.Format(RM.GetString("IMPORT_MSG_RESULT"), fr.SuccessfulRows.ToString(), fr.TotalRows.ToString()); ProgressControl1.AddProgressMessageText(msgSuccessful, false, 100); } } catch (Exception ex) { throw ex; } } } catch (Exception ex) { ProgressControl1.AddProgressMessageText(ex.Message, true, 100); } finally { } }