public void btnConfirm_Click(object sender, EventArgs e) { switch (InputBoxType) { case InputBoxTypes.NewFile: if (!Regex.IsMatch(txtInput.Text, JValidate.FileNameRegex)) { RabbitCouriers.SentErrorMessageByResource("JE_INPUTBOX_WRONG_FILE_NAME", Res.JE_TMI_NEW_JSON_FILE); return; } else if (File.Exists(Path.Combine(Var.JFI.DirectoryPath, $"{txtInput.Text}.json"))) { RabbitCouriers.SentErrorMessageByResource("JE_INPUTBOX_FILE_EXISTS", Res.JE_TMI_NEW_JSON_FILE, $"{Var.JFI.DirectoryPath}\\{txtInput.Text}.json"); return; } break; case InputBoxTypes.RenameFile: if (!Regex.IsMatch(txtInput.Text, JValidate.FileNameRegex)) { RabbitCouriers.SentErrorMessageByResource("JE_INPUTBOX_WRONG_FILE_NAME", Res.JE_TMI_RENAME_JSON_FILE); return; } else if (File.Exists(Path.Combine(Var.JFI.DirectoryPath, $"{txtInput.Text}.json"))) { RabbitCouriers.SentErrorMessageByResource("JE_INPUTBOX_FILE_EXISTS", Res.JE_TMI_RENAME_JSON_FILE, $"{Var.JFI.DirectoryPath}\\{txtInput.Text}.json"); return; } break; case InputBoxTypes.AddColumn: if (!Regex.IsMatch(txtInput.Text, JValidate.ColumnNameRegex)) { RabbitCouriers.SentErrorMessageByResource("JE_INPUTBOX_WRONG_COLUMN_NAME", Res.JE_TMI_ADD_COLUMN); return; } break; case InputBoxTypes.RenameColumn: if (!Regex.IsMatch(txtInput.Text, JValidate.ColumnNameRegex)) { RabbitCouriers.SentErrorMessageByResource("JE_INPUTBOX_WRONG_COLUMN_NAME", Res.JE_TMI_RENAME_COLUMN); return; } break; case InputBoxTypes.RenameDataBase: if (!Regex.IsMatch(txtInput.Text, JValidate.DatabaseRegex)) { RabbitCouriers.SentErrorMessageByResource("JE_INPUTBOX_WRONG_DATABASE_NAME", Res.JE_TMI_RENAME_DATABASE); return; } break; default: break; } ReturnValue = txtInput.Text; DialogResult = DialogResult.OK; }
public static void SentTableInvalidMessage(JTable jt) { var kvp1 = jt.InvalidRecords.First(); var kvp2 = jt.InvalidRecords.First().Value.First(); StringBuilder result = new StringBuilder(); result.AppendFormat(Res.JE_ERR_TABLE_INVALID_MESSAGE_PARTIAL, jt.Name, kvp1.Key + 1, jt.Columns[kvp2.Key].Name); switch (kvp2.Value) { case JValueInvalidReasons.NullValue: result.AppendFormat(Res.JE_VAL_NOT_NULLABLE); break; case JValueInvalidReasons.WrongType: result.AppendFormat(Res.JE_VAL_INVALID_CAST, jt[kvp1.Key][kvp2.Key] ?? Const.NullString); break; case JValueInvalidReasons.LessThenMinValue: result.AppendFormat(Res.JE_VAL_LESS_THEN_MIN_VALUE, jt[kvp1.Key][kvp2.Key], jt.Columns[kvp2.Key].MinValue ?? Const.NullString); break; case JValueInvalidReasons.GreaterThenMaxValue: result.AppendFormat(Res.JE_VAL_GREATER_THEN_MAX_VALUE, jt[kvp1.Key][kvp2.Key], jt.Columns[kvp2.Key].MaxValue ?? Const.NullString); break; case JValueInvalidReasons.LongerThenMaxLength: result.AppendFormat(Res.JE_VAL_TEXT_MAXIMUM_LENGTH_OVER, jt.Columns[kvp2.Key].MaxLength); break; case JValueInvalidReasons.RegularExpressionNotMatch: result.AppendFormat(Res.JE_VAL_REGEX_IS_NOT_MATCH, jt[kvp1.Key][kvp2.Key] ?? Const.NullString); break; case JValueInvalidReasons.NotUnique: result.AppendFormat(Res.JE_VAL_VALUE_IS_NOT_UNIQUE, jt[kvp1.Key][kvp2.Key] ?? Const.NullString); break; case JValueInvalidReasons.DuplicateKey: result.AppendFormat(Res.JE_VAL_DUPLICATE_KEY, jt[kvp1.Key][kvp2.Key] ?? Const.NullString); break; case JValueInvalidReasons.FoeignKeyValueNotExists: result.AppendFormat(Res.JE_VAL_FK_VALUE_NOT_FOUND, jt[kvp1.Key][kvp2.Key] ?? Const.NullString); break; case JValueInvalidReasons.ChoiceValueNotExists: result.AppendFormat(Res.JE_VAL_CHOICE_VALUE_NOT_EXIST, jt[kvp1.Key][kvp2.Key] ?? Const.NullString); break; default: result.Append(Res.JE_ERR_UNKNOWN_ERROR); break; } RabbitCouriers.SentErrorMessage(result.ToString(), Res.JE_TMI_SAVE_JSON_FILES, kvp2.Value.ToString()); }
public void btnAddItem_Click(object sender, EventArgs e) { if (ReturnValue.Contains(txtItemName.Text.Trim())) { RabbitCouriers.SentErrorMessageByResource("JE_CHOICE_DUPLICATE_ITEM", Res.JE_COLUMN_CHOICES, txtItemName.Text.Trim()); return; } ReturnValue.Add(txtItemName.Text.Trim()); RefreshList(); lsbItems.SelectedIndex = lsbItems.Items.Count - 1; }
public static bool HandleException(Exception ex, string content = null, string title = null) { if (string.IsNullOrEmpty(content)) { content = Res.JE_ERR_DEFAULT_MESSAGE; } if (string.IsNullOrEmpty(title)) { title = Res.JE_ERR_DEFAULT_TITLE; } RabbitCouriers.SentErrorMessage(string.Format(content, ex.Message), title); return(false); }
private void TextControl_GotFocus(object sender, EventArgs e) { if (!JColumn.IsNullable) { NullCheckBox.Checked = false; } if (!string.IsNullOrEmpty(JColumn.FKTable) && !string.IsNullOrEmpty(JColumn.FKColumn)) { NameLabel.Focus(); JTable fkTable = Var.Tables.Find(m => m.Name == JColumn.FKTable); if (fkTable.Lines.Count == 0) { RabbitCouriers.SentWarningMessageByResource("JE_ERR_EMPTY_FK_TABLE", Res.JE_ERR_DEFAULT_TITLE, fkTable.Name); return; } object newValue = frmFKTable.Show(ownerWindow, JColumn.Name, fkTable, JColumn.FKColumn, ValueControl.Text); if (newValue != null) { SetValueToString(newValue); } } else if (JColumn.Type == JType.Date || JColumn.Type == JType.Time || JColumn.Type == JType.DateTime) { DateTimePickerStyle style = DateTimePickerStyle.DateTime; switch (JColumn.Type) { case JType.Date: style = DateTimePickerStyle.Date; break; case JType.Time: style = DateTimePickerStyle.Time; break; } ownerWindow.ShowDateTimePicker(ValueControl as TextBox, style); } }
public static void JTableLoadOrScanJsonFailed(JTable jt, JFileInvalidException ex, bool isScan) { string title = isScan ? Res.JE_ERR_SCAN_JSON_FAILED_TITLE : Res.JE_ERR_LOAD_JSON_FAILED_TITLE; switch (ex.Reason) { case JFileInvalidReasons.RootElementNotArray: RabbitCouriers.SentErrorMessageByResource("JE_ERR_ROOT_ELEMENT_NOT_ARRAY", title, jt.Name); break; case JFileInvalidReasons.ChildElementNotObject: RabbitCouriers.SentErrorMessageByResource("JE_ERR_CHILD_ELEMENT_NOT_OBJECT", title, jt.Name, ex.LineIndex + 1); break; case JFileInvalidReasons.ChildColumnCountVary: RabbitCouriers.SentErrorMessageByResource("JE_ERR_CHILD_COLUMN_COUNT_VARY", title, jt.Name, ex.LineIndex + 1); break; case JFileInvalidReasons.ChildColumnNameVary: RabbitCouriers.SentErrorMessageByResource("JE_ERR_CHILD_COLUMN_NAME_VARY", title, jt.Name, ex.LineIndex + 1, ex.ColumnName); break; case JFileInvalidReasons.ChildColumnOrderVary: RabbitCouriers.SentErrorMessageByResource("JE_ERR_CHILD_COLUMN_ORDER_VARY", title, jt.Name, ex.LineIndex + 1, ex.ColumnName); break; case JFileInvalidReasons.ChildColumnTypeVary: RabbitCouriers.SentErrorMessageByResource("JE_ERR_CHILD_COLUMN_TYPE_VARY", title, jt.Name, ex.LineIndex + 1, ex.ColumnName); break; default: RabbitCouriers.SentErrorMessageByResource("JE_ERR_TABLE_LOAD_JSON_FAILED_DEFAULT", title, jt.Name); //Trace break; } }
public static void SaveXMLFileFailed(Exception ex, string file) => RabbitCouriers.SentErrorMessageByResource("JE_ERR_SAVE_XML_FAILED", Res.JE_TMI_EXPORT_TO_XML, file);
public static void TableConvertToXMLFailed(Exception ex, JTable jt) => RabbitCouriers.SentErrorMessageByResource("JE_ERR_TABLE_CONVERT_TO_XML_FAILED", Res.JE_TMI_EXPORT_TO_XML, jt.Name, ex.Message);
public static void JsonConvertDeserializeJFIFailed(Exception ex) => RabbitCouriers.SentErrorMessageByResource("JE_ERR_JSONCONVERT_DESERIALIZE_JFI_FAILED_DEFAULT", Res.JE_ERR_DEFAULT_TITLE, ex.Message);
public static void JFIFileIsInvalid(JFilesInfo JFI) { StringBuilder result = new StringBuilder(); result.AppendFormat(Res.JE_VAL_JFI_FILE_INVALID_MESSAGE_PARTIAL, JFI.InvalidFileName, JFI.InvalidColumnName); switch (JFI.InvalidReason) { case JColumnInvalidReasons.IllegalRegularExpression: result.AppendFormat(Res.JE_VAL_COLUMN_ILLEGAL_REGULAR_EXPRESSION); break; case JColumnInvalidReasons.IllegalName: result.AppendFormat(Res.JE_VAL_COLUMN_ILLEGAL_NAME); break; case JColumnInvalidReasons.IsKeyAndIsNullable: result.AppendFormat(Res.JE_VAL_COLUMN_IS_KEY_AND_IS_NULL); break; case JColumnInvalidReasons.ForeignKeyColumnMissing: result.AppendFormat(Res.JE_VAL_COLUMN_FK_COLUMN_MISSING); break; case JColumnInvalidReasons.ForeignKeyTableMissing: result.AppendFormat(Res.JE_VAL_COLUMN_FK_TABLE_MISSING); break; case JColumnInvalidReasons.NumberOfRowsIsNegativeOrTooBig: result.AppendFormat(Res.JE_VAL_COLUMN_NUMBER_OF_ROWS_IS_NEGATIVE_OR_TOO_BIG); break; case JColumnInvalidReasons.NumberOrDateTimeHasRegularExpression: result.AppendFormat(Res.JE_VAL_COLUMN_NUMBER_OR_DATETIME_HAS_REGULAR_EXPRESSION); break; case JColumnInvalidReasons.NotNumberOrDateTimeHaveMinValue: result.AppendFormat(Res.JE_VAL_COLUMN_NOT_NUMBER_OR_DATETIME_HAVE_MIN_VALUE); break; case JColumnInvalidReasons.NotNumberOrDateTimeHaveMaxValue: result.AppendFormat(Res.JE_VAL_COLUMN_NOT_NUMBER_OR_DATETIME_HAVE_MAX_VALUE); break; case JColumnInvalidReasons.MinValueTypeCastFailed: result.AppendFormat(Res.JE_VAL_COLUMN_MIN_VALUE_CAST_FAILED, Var.JFI.TablesInfo.Find(m => m.Name == Var.JFI.InvalidFileName) .Columns.Find(m => m.Name == Var.JFI.InvalidColumnName).MinValue); break; case JColumnInvalidReasons.MaxValueTypeCastFailed: result.AppendFormat(Res.JE_VAL_COLUMN_MAX_VALUE_CAST_FAILED, Var.JFI.TablesInfo.Find(m => m.Name == Var.JFI.InvalidFileName) .Columns.Find(m => m.Name == Var.JFI.InvalidColumnName).MaxValue); break; case JColumnInvalidReasons.MinValueGreaterThanMaxValue: result.AppendFormat(Res.JE_VAL_COLUMN_MIN_VALUE_GREATER_THAN_MAX_VALUE, Var.JFI.TablesInfo.Find(m => m.Name == Var.JFI.InvalidFileName) .Columns.Find(m => m.Name == Var.JFI.InvalidColumnName).MinValue, Var.JFI.TablesInfo.Find(m => m.Name == Var.JFI.InvalidFileName) .Columns.Find(m => m.Name == Var.JFI.InvalidColumnName).MaxValue); break; case JColumnInvalidReasons.MaxLengthIsNegative: result.AppendFormat(Res.JE_VAL_COLUMN_MAX_LEGNTH_IS_NEGATIVE); break; case JColumnInvalidReasons.ForeignKeyTableNotExist: result.AppendFormat(Res.JE_VAL_COLUMN_FK_TABLE_NOT_EXIST); break; case JColumnInvalidReasons.ForeignKeyColumnNotExist: result.AppendFormat(Res.JE_VAL_COLUMN_FK_COLUMN_NOT_EXIST); break; case JColumnInvalidReasons.ForeignKeyColumnTypeNotMatch: result.AppendFormat(Res.JE_VAL_COLUMN_FK_COLUMN_TYPE_NOT_MATCH); break; case JColumnInvalidReasons.AutoGenerateKeyWithRestrict: result.AppendFormat(Res.JE_VAL_COLUMN_AUTO_GENERATE_KEY_WITH_RESTRICT); break; case JColumnInvalidReasons.AutoGenerateKeyWithInappropriateType: result.AppendFormat(Res.JE_VAL_COLUMN_AUTO_GENERATE_KEY_WITH_INAPPROPRIATE_TYPE); break; case JColumnInvalidReasons.ChoiceTypeChoicesNotExist: result.AppendFormat(Res.JE_VAL_COLUMN_CHOICE_TYPE_CHOICES_NOT_EXISTS); break; } RabbitCouriers.SentErrorMessage(result.ToString(), Res.JE_TMI_LOAD_JSON_FILES, JFI.InvalidReason.ToString()); }
public static void ScanCSVFilesFailed(JTable jt, Exception ex) => RabbitCouriers.SentErrorMessageByResource("JE_ERR_SCAN_CSV_FILE_FAILED_DEFAULT", Res.JE_ERR_DEFAULT_TITLE, jt.Name, ex.Message);
public static void JsonConvertDeserializeObjectFailed(string fileName, Exception ex) => RabbitCouriers.SentErrorMessageByResource("JE_ERR_JSONCONVERT_DESERIALIZE_OBJECT_FAILED_DEFAULT", Res.JE_ERR_DEFAULT_TITLE, fileName, ex.Message);
public static void OpenJsonFileFailed(string filePath, Exception ex) => RabbitCouriers.SentErrorMessageByResource("JE_ERR_LOAD_JSON_FILE_FAILED_DEFAULT", Res.JE_ERR_DEFAULT_TITLE, filePath);