diff --git a/app/MindWork AI Studio/Assistants/EDI/AssistantEDI.razor b/app/MindWork AI Studio/Assistants/EDI/AssistantEDI.razor index 52412baf..dd994681 100644 --- a/app/MindWork AI Studio/Assistants/EDI/AssistantEDI.razor +++ b/app/MindWork AI Studio/Assistants/EDI/AssistantEDI.razor @@ -18,4 +18,17 @@ + + + @foreach (var language in Enum.GetValues()) + { + @language.Name() + } + + @if (this.selectedProgrammingLanguage is ProgrammingLanguages.OTHER) + { + + } + + \ No newline at end of file diff --git a/app/MindWork AI Studio/Assistants/EDI/AssistantEDI.razor.cs b/app/MindWork AI Studio/Assistants/EDI/AssistantEDI.razor.cs index b1809517..267c86b7 100644 --- a/app/MindWork AI Studio/Assistants/EDI/AssistantEDI.razor.cs +++ b/app/MindWork AI Studio/Assistants/EDI/AssistantEDI.razor.cs @@ -1,7 +1,5 @@ using AIStudio.Chat; -using Microsoft.AspNetCore.Components; - namespace AIStudio.Assistants.EDI; public partial class AssistantEDI : AssistantBaseCore @@ -43,4 +41,29 @@ public partial class AssistantEDI : AssistantBaseCore { return false; } + + private ProgrammingLanguages selectedProgrammingLanguage = ProgrammingLanguages.NONE; + private string otherProgrammingLanguage = string.Empty; + + private string? ValidateProgrammingLanguage(ProgrammingLanguages language) + { + if (language == ProgrammingLanguages.OTHER) + return null; + + if (language == ProgrammingLanguages.NONE) + return "Please select a programming language for the EDI server."; + + return null; + } + + private string? ValidateOtherLanguage(string language) + { + if(this.selectedProgrammingLanguage != ProgrammingLanguages.OTHER) + return null; + + if(string.IsNullOrWhiteSpace(language)) + return "Please specify the custom programming language for the EDI server."; + + return null; + } } \ No newline at end of file diff --git a/app/MindWork AI Studio/Assistants/EDI/ProgrammingLanguages.cs b/app/MindWork AI Studio/Assistants/EDI/ProgrammingLanguages.cs new file mode 100644 index 00000000..c39f00d7 --- /dev/null +++ b/app/MindWork AI Studio/Assistants/EDI/ProgrammingLanguages.cs @@ -0,0 +1,20 @@ +namespace AIStudio.Assistants.EDI; + +public enum ProgrammingLanguages +{ + NONE, + + C, + CPP, + CSHARP, + GO, + JAVA, + JAVASCRIPT, + JULIA, + MATLAB, + PHP, + PYTHON, + RUST, + + OTHER, +} \ No newline at end of file diff --git a/app/MindWork AI Studio/Assistants/EDI/ProgrammingLanguagesExtensions.cs b/app/MindWork AI Studio/Assistants/EDI/ProgrammingLanguagesExtensions.cs new file mode 100644 index 00000000..e839ac22 --- /dev/null +++ b/app/MindWork AI Studio/Assistants/EDI/ProgrammingLanguagesExtensions.cs @@ -0,0 +1,24 @@ +namespace AIStudio.Assistants.EDI; + +public static class ProgrammingLanguagesExtensions +{ + public static string Name(this ProgrammingLanguages language) => language switch + { + ProgrammingLanguages.NONE => "None", + + ProgrammingLanguages.C => "C", + ProgrammingLanguages.CPP => "C++", + ProgrammingLanguages.CSHARP => "C#", + ProgrammingLanguages.GO => "Go", + ProgrammingLanguages.JAVA => "Java", + ProgrammingLanguages.JAVASCRIPT => "JavaScript", + ProgrammingLanguages.JULIA => "Julia", + ProgrammingLanguages.MATLAB => "MATLAB", + ProgrammingLanguages.PHP => "PHP", + ProgrammingLanguages.PYTHON => "Python", + ProgrammingLanguages.RUST => "Rust", + + ProgrammingLanguages.OTHER => "Other", + _ => "Unknown" + }; +} \ No newline at end of file diff --git a/app/MindWork AI Studio/Settings/DataModel/DataEDI.cs b/app/MindWork AI Studio/Settings/DataModel/DataEDI.cs index 8aa119a5..dcfd8fde 100644 --- a/app/MindWork AI Studio/Settings/DataModel/DataEDI.cs +++ b/app/MindWork AI Studio/Settings/DataModel/DataEDI.cs @@ -1,4 +1,4 @@ -using AIStudio.Assistants.Coding; +using AIStudio.Assistants.EDI; using AIStudio.Provider; namespace AIStudio.Settings.DataModel; @@ -13,7 +13,7 @@ public sealed class DataEDI /// /// Preselect the language for implementing the EDI? /// - public CommonCodingLanguages PreselectedProgrammingLanguage { get; set; } + public ProgrammingLanguages PreselectedProgrammingLanguage { get; set; } /// /// Do you want to preselect any other language?