protected void uxCustomerImportButton_Click(object sender, EventArgs e) { uxImportCustomerMessagePanel.Controls.Clear(); string localFilePath = Server.MapPath("~/" + uxCustomerCsvFileNameText.Text.Trim()); if (!File.Exists(localFilePath)) { Label label = new Label(); label.ForeColor = Color.Red; label.Text = "File not found."; uxImportCustomerMessagePanel.Controls.Add(label); return; } CustomerImporter importer = new CustomerImporter(); CustomerImportStatus status = new CustomerImportStatus(); TimeSpan timeDiff; switch (uxCustomerImportModeRadioList.SelectedValue) { case "Overwrite": status = importer.ImportCustomerOverWrite( "~/" + uxCustomerCsvFileNameText.Text.Trim(), out timeDiff); UpdateImportMessage(status, uxImportCustomerMessagePanel, true); UpdateTimeMessage(timeDiff, uxImportCustomerMessagePanel); break; default: break; } AdminUtilities.ClearAllCache(); }
private void UpdateImportMessage(CustomerImportStatus status, Panel uxMessagePanel, bool isImportCustomer) { switch (status.Status) { case CustomerImportStatus.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 CustomerImportStatus.ErrorStatus.DoneWithErrors: AddErrorMessage(status, uxMessagePanel, isImportCustomer); break; case CustomerImportStatus.ErrorStatus.Fatal: AddFatalErrorMessage(status, uxMessagePanel); break; } }
private void AddCustomerFieldErrorMessage(CustomerImportStatus status, Panel uxMessagePanel) { Label label = new Label(); label.ForeColor = Color.FromArgb(153, 0, 255); label.Text = status.FieldError + "<br />"; if (label.Text.Trim() != "<br />") { uxMessagePanel.Controls.Add(label); } }
private void AddFatalErrorMessage(CustomerImportStatus 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 AddShippingMessageHeader(CustomerImportStatus 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.SkippedCount + " row(s) skipped<br />" + status.ErrorCount + " error(s)" + "<br /><br />"; uxMessagePanel.Controls.Add(label); uxMessagePanel.CssClass = "mgl30"; }
private void AddErrorMessage(CustomerImportStatus status, Panel uxMessagePanel, bool isImportCustomer) { if (isImportCustomer) { AddCustomerMessageHeader(status, uxMessagePanel); AddOtherErrorMessage(status, uxMessagePanel); AddCustomerFieldErrorMessage(status, uxMessagePanel); } else { AddShippingMessageHeader(status, uxMessagePanel); AddOtherErrorMessage(status, uxMessagePanel); AddSkippedErrorMessage(status, uxMessagePanel); AddCustomerNotFoundError(status, uxMessagePanel); AddShippingFieldErrorMessage(status, uxMessagePanel); } }