protected void uxCategoryImportButton_Click(object sender, EventArgs e) { uxImportCategoryMessagePanel.Controls.Clear(); string localFilePath = Server.MapPath("~/" + uxCategoryCsvFileNameText.Text.Trim()); if (!File.Exists(localFilePath)) { Label label = new Label(); label.ForeColor = Color.Red; label.Text = "File not found."; uxImportCategoryMessagePanel.Controls.Add(label); return; } Culture culture = DataAccessContext.CultureRepository.GetOne(uxLanguageDrop.SelectedValue); CategoryImportHelper importer = new CategoryImportHelper(culture, "Category"); CategoryImportHelperStatus status = new CategoryImportHelperStatus("Category"); TimeSpan timeDiff; switch (uxCategoryImportModeRadioList.SelectedValue) { case "Overwrite": status = importer.ImportCategoryOverWrite( "~/" + uxCategoryCsvFileNameText.Text.Trim(), CurrentStoreID, out timeDiff); UpdateImportMessage(status, uxImportCategoryMessagePanel, true); UpdateTimeMessage(timeDiff, uxImportCategoryMessagePanel); break; default: break; } AdminUtilities.ClearAllCache(); }
private void UpdateImportMessage(CategoryImportHelperStatus status, Panel uxMessagePanel, bool isImportCustomer) { switch (status.Status) { case CategoryImportHelperStatus.ErrorStatus.Success: Label successlabel = new Label(); successlabel.ForeColor = Color.Blue; if (isImportCustomer) { successlabel.Text = "<b>Import finished successfully!</b><br />" + status.ImportedCount + " row(s) imported<br />" + status.UpdatedCount + " row(s) updated<br />" + status.ErrorCount + " error(s)<br />"; } else { successlabel.Text = "<b>Import finished successfully!</b><br />" + status.ImportedCount + " row(s) imported<br />" + status.UpdatedCount + " row(s) updated<br />" + status.ErrorCount + " error(s)<br />"; } uxMessagePanel.Controls.Add(successlabel); uxMessagePanel.CssClass = "mgl30"; break; case CategoryImportHelperStatus.ErrorStatus.DoneWithErrors: AddErrorMessage(status, uxMessagePanel, isImportCustomer); break; case CategoryImportHelperStatus.ErrorStatus.Fatal: AddFatalErrorMessage(status, uxMessagePanel); break; } }
private void AddErrorMessage(CategoryImportHelperStatus status, Panel uxMessagePanel, bool isImportCustomer) { AddCategoryMessageHeader(status, uxMessagePanel); AddOtherErrorMessage(status, uxMessagePanel); AddCategoryFieldErrorMessage(status, uxMessagePanel); AddRootCategoryErrorMessage(status, uxMessagePanel); AddParentContainProductErrorMessage(status, uxMessagePanel); AddRootChangedErrorMessage(status, uxMessagePanel); }
private void AddParentContainProductErrorMessage(CategoryImportHelperStatus status, Panel uxMessagePanel) { Label label = new Label(); label.ForeColor = Color.FromArgb(153, 0, 255); label.Text = status.ParentContainProductError + "<br />"; if (label.Text.Trim() != "<br />") { uxMessagePanel.Controls.Add(label); } }
private void AddFatalErrorMessage(CategoryImportHelperStatus status, Panel uxMessagePanel) { Label label = new Label(); label.ForeColor = Color.Red; label.Text = status.ErrorMessage + "<br />"; if (label.Text.Trim() != "<br />") { uxMessagePanel.Controls.Add(label); } }
private void AddCategoryMessageHeader(CategoryImportHelperStatus status, Panel uxMessagePanel) { Label label = new Label(); label.ForeColor = Color.Red; label.Text = "<b>Import finished with errors.</b><br />" + status.ImportedCount + " row(s) imported<br />" + status.UpdatedCount + " row(s) updated<br />" + status.ErrorCount + " error(s)" + "<br /><br />"; uxMessagePanel.Controls.Add(label); uxMessagePanel.CssClass = "mgl30"; }