Skip to content

Commit 2cc2fe1

Browse files
committed
- Fixed Issue #2
- Updated Generate page to properly set selected resource type - Updated Generate Name logging to include full resource type name
1 parent 71feeb6 commit 2cc2fe1

File tree

3 files changed

+74
-18
lines changed

3 files changed

+74
-18
lines changed

src/Helpers/GeneralHelper.cs

+22-10
Original file line numberDiff line numberDiff line change
@@ -121,27 +121,39 @@ public static string SetTextEnabledClass(bool enabled)
121121

122122
public static bool IsNotNull([NotNullWhen(true)] object? obj) => obj != null;
123123

124-
public static string FormatResoureType(string type)
124+
public static string[] FormatResoureType(string type)
125125
{
126+
String[] returntype = new String[3];
127+
// Make sure it is a full resource type name
128+
if (type.Contains("("))
129+
{
130+
returntype[0] = type.Substring(0, type.IndexOf("(")).Trim();
131+
}
126132
try
127133
{
128-
// trim any details out of the value
129-
if (type.Contains("-"))
134+
if ((GeneralHelper.IsNotNull(type)) && (GeneralHelper.IsNotNull(returntype[0])))
130135
{
131-
type = type.Substring(0, type.IndexOf("-")).Trim();
132-
}
136+
// trim any details out of the value
137+
if (returntype[0].Contains(" -"))
138+
{
139+
returntype[1] = returntype[0].Substring(0, returntype[0].IndexOf(" -")).Trim();
140+
}
133141

134-
// trim any details out of the value
135-
if (type.Contains("("))
136-
{
137-
type = type.Substring(0, type.IndexOf("(")).Trim();
142+
// trim any details out of the value
143+
if ((type.Contains("(")) && (type.Contains(")")))
144+
{
145+
{
146+
int intstart = type.IndexOf("(") + 1;
147+
returntype[2] = String.Concat(type.Substring(intstart).TakeWhile(x => x != ')'));
148+
}
149+
}
138150
}
139151
}
140152
catch (Exception ex)
141153
{
142154
AdminLogService.PostItem(new AdminLogMessage() { Title = "ERROR", Message = ex.Message });
143155
}
144-
return type;
156+
return returntype;
145157
}
146158
}
147159
}

src/Pages/Generate.razor

+45-8
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@
107107
<span class="input-group-text" id="addon-wrapping">
108108
<span class="oi oi-magnifying-glass" id="addon-wrapping"></span>
109109
</span>
110-
<input @bind-value="@selectedResourceType" @oninput="(EventArgs) => { OnTypeChanged(EventArgs.Value!.ToString()!);}" class="@GetControlStyle()" list="typeslist" id="generatetypes" placeholder="Type to search resource types..." autocomplete="off">
110+
<input @bind-value="@selectedResourceTypeDisplayName" @oninput="(EventArgs) => { OnTypeChanged(EventArgs.Value!.ToString()!);}" class="@GetControlStyle()" list="typeslist" id="generatetypes" placeholder="Type to search resource types..." autocomplete="off">
111111
<datalist id="typeslist">
112112
@foreach (var type in @ResourceTypeService.GetFilteredResourceTypes(servicesData.ResourceTypes, selectedResourceTypeCategory))
113113
{
@@ -492,8 +492,11 @@
492492
private string selectedResourceLocation = String.Empty;
493493
private string selectedResourceOrg = String.Empty;
494494
private string selectedResourceProjAppSvc = String.Empty;
495+
private String[] selectedResourceTypeFull = new String[2];
495496
private string selectedResourceTypeCategory = String.Empty;
496497
private string selectedResourceType = String.Empty;
498+
private string selectedResourceTypeShortName = String.Empty;
499+
private string selectedResourceTypeDisplayName = String.Empty;
497500
private string selectedResourceTypeExclude = String.Empty;
498501
private string selectedResourceTypeOptional = String.Empty;
499502
private Dictionary<string, string> selectedCustomComponents = new();
@@ -607,8 +610,24 @@
607610
{
608611
// Single type generation
609612
StringBuilder sbName = new();
610-
selectedResourceType = GeneralHelper.FormatResoureType(selectedResourceType);
611-
resourceType = servicesData.ResourceTypes!.Find(x => x.Resource == selectedResourceType)!;
613+
selectedResourceTypeFull = GeneralHelper.FormatResoureType(selectedResourceTypeDisplayName);
614+
if (GeneralHelper.IsNotNull(selectedResourceTypeFull[1]))
615+
{
616+
selectedResourceType = selectedResourceTypeFull[1];
617+
}
618+
else
619+
{
620+
selectedResourceType = selectedResourceTypeFull[0];
621+
}
622+
selectedResourceTypeShortName = selectedResourceTypeFull[2];
623+
if (GeneralHelper.IsNotNull(selectedResourceTypeShortName))
624+
{
625+
resourceType = servicesData.ResourceTypes!.Find(x => x.Resource == selectedResourceType && x.ShortName == selectedResourceTypeShortName)!;
626+
}
627+
else
628+
{
629+
resourceType = servicesData.ResourceTypes!.Find(x => x.Resource == selectedResourceType)!;
630+
}
612631
if (GeneralHelper.IsNotNull(resourceType))
613632
{
614633
resourceNameRequest.ResourceType = resourceType.ShortName;
@@ -805,14 +824,29 @@
805824
}
806825
resourceNameRequestResponse = new();
807826
// Assign the selected value to the Model
808-
selectedResourceType = value;
827+
selectedResourceTypeDisplayName = value;
809828

810-
if (!String.IsNullOrEmpty(selectedResourceType))
829+
if (!String.IsNullOrEmpty(selectedResourceTypeDisplayName))
811830
{
812-
selectedResourceType = GeneralHelper.FormatResoureType(selectedResourceType);
831+
selectedResourceTypeFull = GeneralHelper.FormatResoureType(selectedResourceTypeDisplayName);
832+
if(GeneralHelper.IsNotNull(selectedResourceTypeFull[1]))
833+
{
834+
selectedResourceType = selectedResourceTypeFull[1];
835+
}
836+
else
837+
{
838+
selectedResourceType = selectedResourceTypeFull[0];
839+
}
840+
selectedResourceTypeShortName = selectedResourceTypeFull[2];
841+
if (GeneralHelper.IsNotNull(selectedResourceTypeShortName))
842+
{
843+
currentResourceType = servicesData.ResourceTypes!.Find(x => x.Resource == selectedResourceType && x.ShortName == selectedResourceTypeShortName)!;
844+
}
845+
else
846+
{
847+
currentResourceType = servicesData.ResourceTypes!.Find(x => x.Resource == selectedResourceType)!;
848+
}
813849

814-
// Find the selected resoruce type
815-
currentResourceType = servicesData.ResourceTypes!.Find((t) => t.Resource == selectedResourceType);
816850
if (GeneralHelper.IsNotNull(currentResourceType))
817851
{
818852
// Set the optional components
@@ -1107,6 +1141,9 @@
11071141
private void ResetForm(bool clearselection)
11081142
{
11091143
selectedResourceTypeCategory = String.Empty;
1144+
Array.Clear(selectedResourceTypeFull);
1145+
selectedResourceTypeShortName = String.Empty;
1146+
selectedResourceTypeDisplayName = String.Empty;
11101147
selectedResourceType = String.Empty;
11111148
componentsVisible = "collapse show";
11121149
currentResourceType = null;

src/Services/ResourceNamingRequestService.cs

+7
Original file line numberDiff line numberDiff line change
@@ -747,6 +747,13 @@ public static async Task<ResourceNameResponse> RequestName(ResourceNameRequest r
747747
ResourceTypeName = resourceType.Resource,
748748
User = request.CreatedBy
749749
};
750+
751+
// Check if the property should be appended to name
752+
if(!String.IsNullOrEmpty(resourceType.Property))
753+
{
754+
generatedName.ResourceTypeName += " - " + resourceType.Property;
755+
}
756+
750757
ServiceResponse responseGenerateName = await GeneratedNamesService.PostItem(generatedName);
751758
if (responseGenerateName.Success)
752759
{

0 commit comments

Comments
 (0)