aktueller Stand
This commit is contained in:
@@ -240,13 +240,12 @@ namespace C4IT.FASD.Cockpit.Communication
|
||||
Name = record.DisplayName,
|
||||
Summary = record.Summary,
|
||||
Status = status,
|
||||
AffectedUser = detail.AffectedUser ?? record.UserDisplayName,
|
||||
Asset = detail.Asset,
|
||||
Category = detail.Category,
|
||||
Classification = detail.Classification,
|
||||
Description = detail.Description,
|
||||
DescriptionHtml = detail.DescriptionHtml,
|
||||
Solution = detail.Solution,
|
||||
AffectedUser = detail.AffectedUser ?? record.UserDisplayName,
|
||||
Asset = detail.Asset,
|
||||
Category = detail.Category,
|
||||
Description = detail.Description,
|
||||
DescriptionHtml = detail.DescriptionHtml,
|
||||
Solution = detail.Solution,
|
||||
SolutionHtml = detail.SolutionHtml,
|
||||
CreationDate = createdAt.ToLocalTime(),
|
||||
CreationDaysSinceNow = Math.Max(0, (int)(DateTime.UtcNow - createdAt).TotalDays),
|
||||
@@ -1442,9 +1441,6 @@ namespace C4IT.FASD.Cockpit.Communication
|
||||
if (writeParams.Values.TryGetValue("Category", out var category))
|
||||
output.Category = category.ToString();
|
||||
|
||||
if (writeParams.Values.TryGetValue("Classification", out var classification))
|
||||
output.Classification = classification.ToString();
|
||||
|
||||
if (writeParams.Values.TryGetValue("CreationSource", out var creationSourceObj))
|
||||
if (Enum.TryParse(creationSourceObj.ToString(), out cF4SDTicket.enumTicketCreationSource creationSource))
|
||||
output.CreationSource = creationSource;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -77,21 +77,21 @@
|
||||
"Name": {
|
||||
"ColumnName": "Name",
|
||||
"Values": [
|
||||
"Anmeldung nicht möglich",
|
||||
"Anmeldung nicht m\u00f6glich",
|
||||
"Bildschirm bleibt schwarz",
|
||||
"CRM Störung",
|
||||
"CRM St\u00f6rung",
|
||||
"Dateityp kann nicht gelesen werden",
|
||||
"Druckerstörung",
|
||||
"E-Mail-Versand nicht mehr möglich",
|
||||
"F4SD Störung",
|
||||
"Internetverbindung gestört",
|
||||
"Druckerst\u00f6rung",
|
||||
"E-Mail-Versand nicht mehr m\u00f6glich",
|
||||
"F4SD St\u00f6rung",
|
||||
"Internetverbindung gest\u00f6rt",
|
||||
"Jalousiensteuerung defekt",
|
||||
"Klimatisierungsstörung - Raumtemperatur zu hoch",
|
||||
"Klimatisierungsst\u00f6rung - Raumtemperatur zu hoch",
|
||||
"Lampe ist defekt",
|
||||
"Netzwerklaufwerk nicht erreichbar",
|
||||
"Passcode vergessen, Mobilgerät ist gesperrt",
|
||||
"Passcode vergessen, Mobilger\u00e4t ist gesperrt",
|
||||
"Software-Service arbeitet nicht mehr korrekt",
|
||||
"Telefonstörung"
|
||||
"Telefonst\u00f6rung"
|
||||
],
|
||||
"IsIncomplete": false,
|
||||
"IsWritable": false
|
||||
@@ -101,19 +101,19 @@
|
||||
"Values": [
|
||||
"Der Anwender kann sich nicht mehr anmelden",
|
||||
"Der Bildschirm bleibt schwarz, Computer startet nicht mehr",
|
||||
"CRM Störung",
|
||||
"CRM St\u00f6rung",
|
||||
"Ein bestimmter Dateityp kann nicht verarbeitet werden",
|
||||
"Ein Drucker arbeitet nicht mehr zufriedenstellend oder ist kaputt",
|
||||
"Der Versand von E-Mails ist nicht mehr möglich",
|
||||
"F4SD Störung",
|
||||
"Der Versand von E-Mails ist nicht mehr m\u00f6glich",
|
||||
"F4SD St\u00f6rung",
|
||||
"Der Anwender kommt nicht mehr ins Internet",
|
||||
"Die automatischen Sonnenschutzvorrichtungen funktionieren nicht mehr",
|
||||
"Die Raumklimatisierung funktioniert nicht mehr korrekt",
|
||||
"Lampe ausgefallen oder schwach",
|
||||
"Ein Netzwerklaufwerk kann vom Anwender nicht mehr erreicht werden",
|
||||
"Das mobile Endgerät des Anwenders ist gesperrt, der Passcode vergessen",
|
||||
"Das mobile Endger\u00e4t des Anwenders ist gesperrt, der Passcode vergessen",
|
||||
"Ein Software-Service funktioniert nicht mehr richtig",
|
||||
"Das Telefon des Anwenders ist gestört"
|
||||
"Das Telefon des Anwenders ist gest\u00f6rt"
|
||||
],
|
||||
"IsIncomplete": false,
|
||||
"IsWritable": false
|
||||
@@ -183,28 +183,6 @@
|
||||
],
|
||||
"IsIncomplete": false,
|
||||
"IsWritable": false
|
||||
},
|
||||
"Classification": {
|
||||
"ColumnName": "Classification",
|
||||
"Values": [
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"IsIncomplete": false,
|
||||
"IsWritable": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
"AffectedUser": "Ticket, Timo",
|
||||
"Asset": "C4-NB00015",
|
||||
"Category": "Demo / Ticketsystem",
|
||||
"Classification": "Incident",
|
||||
"Description": "Der Benutzer meldet, dass die VPN-Verbindung spätestens nach zwei Minuten getrennt wird. Eine stabile Remote-Arbeit ist aktuell nicht möglich.",
|
||||
"DescriptionHtml": "<p>Der Benutzer meldet, dass die VPN-Verbindung spätestens nach zwei Minuten getrennt wird. Eine stabile Remote-Arbeit ist aktuell nicht möglich.</p>",
|
||||
"Priority": 2,
|
||||
@@ -42,7 +41,6 @@
|
||||
"AffectedUser": "Ticket, Timo",
|
||||
"Asset": "C4-NB00015",
|
||||
"Category": "Demo / Kommunikation",
|
||||
"Classification": "Incident",
|
||||
"Description": "Teams-Nachrichten und Meetings starten mit deutlicher Verzögerung. Laut Rückmeldung wirkt der Client zeitweise eingefroren.",
|
||||
"DescriptionHtml": "<p>Teams-Nachrichten und Meetings starten mit deutlicher Verzögerung. Laut Rückmeldung wirkt der Client zeitweise eingefroren.</p>",
|
||||
"Priority": 2,
|
||||
@@ -70,7 +68,6 @@
|
||||
"AffectedUser": "Ticket, Timo",
|
||||
"Asset": "C4-NB00015",
|
||||
"Category": "Demo / Hardware",
|
||||
"Classification": "Request",
|
||||
"Description": "Das bereitgestellte Notebook startet nur unregelmäßig. An manchen Tagen benötigt es mehrere Versuche bis zur Anmeldung.",
|
||||
"DescriptionHtml": "<p>Das bereitgestellte Notebook startet nur unregelmäßig. An manchen Tagen benötigt es mehrere Versuche bis zur Anmeldung.</p>",
|
||||
"Priority": 3,
|
||||
@@ -98,7 +95,6 @@
|
||||
"AffectedUser": "Ticket, Timo",
|
||||
"Asset": "C4-NB00015",
|
||||
"Category": "Demo / Service",
|
||||
"Classification": "Incident",
|
||||
"Description": "Das Ticketsystem reagiert auffallend träge. Ansichten benötigen bis zu 30 Sekunden zum Laden.",
|
||||
"DescriptionHtml": "<p>Das Ticketsystem reagiert auffallend träge. Ansichten benötigen bis zu 30 Sekunden zum Laden.</p>",
|
||||
"Priority": 1,
|
||||
@@ -129,7 +125,6 @@
|
||||
"AffectedUser": "Ticket, Timo",
|
||||
"Asset": "C4-NB00015",
|
||||
"Category": "Demo / Account",
|
||||
"Classification": "Request",
|
||||
"Description": "Der Benutzer hat sein Passwort vergessen und benötigt einen Reset sowie die Aktualisierung am Diensthandy (Outlook/Teams).",
|
||||
"DescriptionHtml": "<p>Der Benutzer hat sein Passwort vergessen und benötigt einen Reset sowie die Aktualisierung am Diensthandy (Outlook/Teams).</p>",
|
||||
"Priority": 3,
|
||||
@@ -157,7 +152,6 @@
|
||||
"AffectedUser": "Ticket, Timo",
|
||||
"Asset": "PRN-3OG-HP-LJ",
|
||||
"Category": "Demo / Drucker",
|
||||
"Classification": "Incident",
|
||||
"Description": "Beim Druck auf den HP-LaserJet im 3. OG kommen nur leere Seiten heraus. Testseite aus Windows zeigt dasselbe Verhalten.",
|
||||
"DescriptionHtml": "<p>Beim Druck auf den HP-LaserJet im 3. OG kommen nur leere Seiten heraus. Testseite aus Windows zeigt dasselbe Verhalten.</p>",
|
||||
"Priority": 2,
|
||||
@@ -185,7 +179,6 @@
|
||||
"AffectedUser": "Ticket, Timo",
|
||||
"Asset": "C4-NB00015",
|
||||
"Category": "Demo / Mail",
|
||||
"Classification": "Incident",
|
||||
"Description": "Der Benutzer kann keine E-Mails mehr senden oder empfangen. Outlook meldet, dass das Postfachkontingent überschritten ist.",
|
||||
"DescriptionHtml": "<p>Der Benutzer kann keine E-Mails mehr senden oder empfangen. Outlook meldet, dass das Postfachkontingent überschritten ist.</p>",
|
||||
"Priority": 2,
|
||||
@@ -213,7 +206,6 @@
|
||||
"AffectedUser": "Ticket, Timo",
|
||||
"Asset": "C4-NB00016",
|
||||
"Category": "Demo / Software",
|
||||
"Classification": "Request",
|
||||
"Description": "Benötigt Visio Standard für Prozessdiagramme. Bitte Installation via Softwareverteilung und Lizenzzuweisung im M365 Admin Center.",
|
||||
"DescriptionHtml": "<p>Benötigt Visio Standard für Prozessdiagramme. Bitte Installation via Softwareverteilung und Lizenzzuweisung im M365 Admin Center.</p>",
|
||||
"Priority": 3,
|
||||
@@ -241,7 +233,6 @@
|
||||
"AffectedUser": "Ticket, Timo",
|
||||
"Asset": "C4-NB00016",
|
||||
"Category": "Demo / Account",
|
||||
"Classification": "Incident",
|
||||
"Description": "Nach mehreren falschen Passworteingaben ist das AD-Konto gesperrt. Benutzer kann sich weder am Notebook noch an M365 anmelden.",
|
||||
"DescriptionHtml": "<p>Nach mehreren falschen Passworteingaben ist das AD-Konto gesperrt. Benutzer kann sich weder am Notebook noch an M365 anmelden.</p>",
|
||||
"Priority": 1,
|
||||
|
||||
@@ -45,12 +45,11 @@ namespace FasdCockpitCommunicationDemo
|
||||
public DateTime? ClosingDate { get; set; }
|
||||
public enumTicketCreationSource CreationSource { get; set; }
|
||||
|
||||
public string Description { get; set; }
|
||||
public string DescriptionHtml { get; set; }
|
||||
public int Priority { get; set; }
|
||||
public string Classification { get; set; } //todo: replace with enum
|
||||
public string Category { get; set; } //todo: replace with tree structure
|
||||
public string Solution { get; set; }
|
||||
public string Description { get; set; }
|
||||
public string DescriptionHtml { get; set; }
|
||||
public int Priority { get; set; }
|
||||
public string Category { get; set; } //todo: replace with tree structure
|
||||
public string Solution { get; set; }
|
||||
public string SolutionHtml { get; set; }
|
||||
public Dictionary<string, string> DirectLinks { get; set; }
|
||||
|
||||
|
||||
@@ -21,7 +21,6 @@ namespace FasdCockpitCommunicationDemo
|
||||
public string AffectedUser { get; set; }
|
||||
public string Asset { get; set; }
|
||||
public string Category { get; set; }
|
||||
public string Classification { get; set; }
|
||||
public string Description { get; set; }
|
||||
public string DescriptionHtml { get; set; }
|
||||
public int? Priority { get; set; }
|
||||
@@ -149,7 +148,6 @@ namespace FasdCockpitCommunicationDemo
|
||||
AffectedUser = source.AffectedUser,
|
||||
Asset = source.Asset,
|
||||
Category = source.Category,
|
||||
Classification = source.Classification,
|
||||
Description = source.Description,
|
||||
DescriptionHtml = source.DescriptionHtml,
|
||||
Priority = source.Priority,
|
||||
|
||||
@@ -584,15 +584,14 @@ namespace FasdDesktopUi.Basics.Services
|
||||
if (source == null)
|
||||
return new DemoTicketDetail();
|
||||
|
||||
return new DemoTicketDetail
|
||||
{
|
||||
AffectedUser = source.AffectedUser,
|
||||
Asset = source.Asset,
|
||||
Category = source.Category,
|
||||
Classification = source.Classification,
|
||||
Description = source.Description,
|
||||
DescriptionHtml = source.DescriptionHtml,
|
||||
Priority = source.Priority,
|
||||
return new DemoTicketDetail
|
||||
{
|
||||
AffectedUser = source.AffectedUser,
|
||||
Asset = source.Asset,
|
||||
Category = source.Category,
|
||||
Description = source.Description,
|
||||
DescriptionHtml = source.DescriptionHtml,
|
||||
Priority = source.Priority,
|
||||
Solution = source.Solution,
|
||||
SolutionHtml = source.SolutionHtml,
|
||||
Journal = source.Journal?.Select(entry => new DemoTicketJournalEntry
|
||||
|
||||
@@ -1209,8 +1209,7 @@ namespace FasdDesktopUi.Basics.UserControls
|
||||
if (quickCallsTable == null) return;
|
||||
|
||||
if (!quickCallsTable.Columns.TryGetValue("Name", out var namesColumn) ||
|
||||
!quickCallsTable.Columns.TryGetValue("id", out var idsColumn) ||
|
||||
!quickCallsTable.Columns.TryGetValue("Classification", out var classificationColumn))
|
||||
!quickCallsTable.Columns.TryGetValue("id", out var idsColumn))
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -1222,17 +1221,10 @@ namespace FasdDesktopUi.Basics.UserControls
|
||||
var id = idsColumn.Values[i].ToString();
|
||||
var name = namesColumn.Values[i].ToString();
|
||||
|
||||
Guid? classification = null;
|
||||
var classificationValue = classificationColumn.Values[i]?.ToString();
|
||||
if (Guid.TryParse(classificationValue, out var parsedClassification))
|
||||
classification = parsedClassification;
|
||||
|
||||
|
||||
quickCallListe.Add(new QuickCallEntry
|
||||
{
|
||||
ID = id,
|
||||
DisplayName = name,
|
||||
Classification = classification
|
||||
DisplayName = name
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1252,7 +1244,6 @@ namespace FasdDesktopUi.Basics.UserControls
|
||||
{
|
||||
public string ID { get; set; }
|
||||
public string DisplayName { get; set; }
|
||||
public Guid? Classification { get; set; }
|
||||
public override string ToString()
|
||||
{
|
||||
return DisplayName.ToString();
|
||||
@@ -1622,17 +1613,11 @@ namespace FasdDesktopUi.Basics.UserControls
|
||||
["Priority"] = 2,
|
||||
};
|
||||
Guid quickcallId = Guid.Empty;
|
||||
Guid? quickCallClassificationId = null;
|
||||
if (QuickTicketSelection.SelectedItem is QuickCallEntry selectedQuickTicketItem)
|
||||
{
|
||||
//ticketValues.Add("Category", selectedQuickTicketItem.DisplayName);
|
||||
ticketValues.Add("QuickCallId", selectedQuickTicketItem.ID);
|
||||
Guid.TryParse(selectedQuickTicketItem.ID?.ToString(), out quickcallId);
|
||||
if (selectedQuickTicketItem.Classification.HasValue)
|
||||
{
|
||||
quickCallClassificationId = selectedQuickTicketItem.Classification;
|
||||
ticketValues["Classification"] = quickCallClassificationId.Value;
|
||||
}
|
||||
}
|
||||
var selectedCategoryId = GetSelectedCategoryGuid();
|
||||
if (selectedCategoryId.HasValue)
|
||||
@@ -1901,7 +1886,6 @@ namespace FasdDesktopUi.Basics.UserControls
|
||||
Summary = TicketSummaryTextBox.Text,
|
||||
DescriptionHtml = htmlCaseNotes.ToString(),
|
||||
Quickcall = quickcallId,
|
||||
Classification = quickCallClassificationId,
|
||||
CopyTemplates = string.IsNullOrWhiteSpace(copyStringHtml) ? copyString : copyStringHtml,
|
||||
SolutionHtml = solutionHtmlString,
|
||||
ErrorType = errorType,
|
||||
|
||||
@@ -169,8 +169,28 @@
|
||||
<StackPanel x:Name="TicketSelectionContainer" />
|
||||
</Border>
|
||||
</Popup>
|
||||
</StackPanel>
|
||||
<StackPanel x:Name="MainStack">
|
||||
</StackPanel>
|
||||
<StackPanel x:Name="MainStack">
|
||||
<StackPanel>
|
||||
<TextBlock Text="{Binding Converter={StaticResource LanguageConverter}, ConverterParameter=Dialog.CloseCase.Template}"
|
||||
Style="{StaticResource MandatoryFieldLabelStyle}" />
|
||||
|
||||
<Border x:Name="QuickTicketValidationBorder"
|
||||
Style="{StaticResource MandatoryFieldBorderStyle}">
|
||||
<ComboBox x:Name="QuickTicketSelection"
|
||||
Background="{Binding Background, RelativeSource={RelativeSource AncestorType=Border}}"
|
||||
BorderBrush="Transparent"
|
||||
BorderThickness="0"
|
||||
SelectedIndex="0"
|
||||
SelectionChanged="QuickTicketSelection_SelectionChanged"
|
||||
PreviewKeyDown="Combobox_PreviewKeyDown"
|
||||
DropDownOpened="DropDownOpened"
|
||||
DropDownClosed="DropDownClosed"
|
||||
AutomationProperties.IsRequiredForForm="True"
|
||||
AutomationProperties.HelpText="{Binding Converter={StaticResource LanguageConverter}, ConverterParameter=Dialog.CloseCase.ValidationErrorQuickCallEmpty}">
|
||||
</ComboBox>
|
||||
</Border>
|
||||
</StackPanel>
|
||||
<StackPanel x:Name="CategoryLabelPanel">
|
||||
<TextBlock Text="{Binding Converter={StaticResource LanguageConverter}, ConverterParameter=Dialog.CloseCase.Category}"
|
||||
Style="{StaticResource MandatoryFieldLabelStyle}" />
|
||||
@@ -189,26 +209,6 @@
|
||||
AutomationProperties.IsRequiredForForm="True"
|
||||
AutomationProperties.HelpText="{Binding Converter={StaticResource LanguageConverter}, ConverterParameter=Dialog.CloseCase.ValidationErrorCategoryEmpty}" />
|
||||
</Border>
|
||||
<StackPanel>
|
||||
<TextBlock Text="{Binding Converter={StaticResource LanguageConverter}, ConverterParameter=Dialog.CloseCase.Template}"
|
||||
Style="{StaticResource MandatoryFieldLabelStyle}" />
|
||||
|
||||
<Border x:Name="QuickTicketValidationBorder"
|
||||
Style="{StaticResource MandatoryFieldBorderStyle}">
|
||||
<ComboBox x:Name="QuickTicketSelection"
|
||||
Background="{Binding Background, RelativeSource={RelativeSource AncestorType=Border}}"
|
||||
BorderBrush="Transparent"
|
||||
BorderThickness="0"
|
||||
SelectedIndex="0"
|
||||
SelectionChanged="QuickTicketSelection_SelectionChanged"
|
||||
PreviewKeyDown="Combobox_PreviewKeyDown"
|
||||
DropDownOpened="DropDownOpened"
|
||||
DropDownClosed="DropDownClosed"
|
||||
AutomationProperties.IsRequiredForForm="True"
|
||||
AutomationProperties.HelpText="{Binding Converter={StaticResource LanguageConverter}, ConverterParameter=Dialog.CloseCase.ValidationErrorQuickCallEmpty}">
|
||||
</ComboBox>
|
||||
</Border>
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock x:Name="SetOrUpdateComputerInTicketLabel"
|
||||
Text="{Binding Converter={StaticResource LanguageConverter}, ConverterParameter=Dialog.CloseCase.SetAffectedAssetLabel}"
|
||||
|
||||
@@ -1282,12 +1282,13 @@ namespace FasdDesktopUi.Basics.UserControls
|
||||
if (quickCallsTable == null) return;
|
||||
|
||||
if (!quickCallsTable.Columns.TryGetValue("Name", out var namesColumn) ||
|
||||
!quickCallsTable.Columns.TryGetValue("id", out var idsColumn) ||
|
||||
!quickCallsTable.Columns.TryGetValue("Classification", out var classificationColumn))
|
||||
!quickCallsTable.Columns.TryGetValue("id", out var idsColumn))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
quickCallsTable.Columns.TryGetValue("Category", out var categoryColumn);
|
||||
|
||||
var quickCallListe = new List<QuickCallEntry>();
|
||||
|
||||
for (int i = 0; i < idsColumn.Values.Count; i++)
|
||||
@@ -1295,17 +1296,19 @@ namespace FasdDesktopUi.Basics.UserControls
|
||||
var id = idsColumn.Values[i].ToString();
|
||||
var name = namesColumn.Values[i].ToString();
|
||||
|
||||
Guid? classification = null;
|
||||
var classificationValue = classificationColumn.Values[i]?.ToString();
|
||||
if (Guid.TryParse(classificationValue, out var parsedClassification))
|
||||
classification = parsedClassification;
|
||||
|
||||
Guid? categoryId = null;
|
||||
if (categoryColumn?.Values != null && i < categoryColumn.Values.Count)
|
||||
{
|
||||
var categoryValue = categoryColumn.Values[i]?.ToString();
|
||||
if (Guid.TryParse(categoryValue, out var parsedCategory))
|
||||
categoryId = parsedCategory;
|
||||
}
|
||||
|
||||
quickCallListe.Add(new QuickCallEntry
|
||||
{
|
||||
ID = id,
|
||||
DisplayName = name,
|
||||
Classification = classification
|
||||
CategoryId = categoryId
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1314,6 +1317,7 @@ namespace FasdDesktopUi.Basics.UserControls
|
||||
QuickTicketSelection.SelectedItem = quickCallListe
|
||||
.FirstOrDefault(x => x.ID == "7bbe64e2-94d0-ee11-4285-00155d010a04");
|
||||
ValidateProperty(ValidationPropertyNames.QuickTicketSelection);
|
||||
ApplyQuickCallCategorySelection();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -1325,13 +1329,47 @@ namespace FasdDesktopUi.Basics.UserControls
|
||||
{
|
||||
public string ID { get; set; }
|
||||
public string DisplayName { get; set; }
|
||||
public Guid? Classification { get; set; }
|
||||
public Guid? CategoryId { get; set; }
|
||||
public override string ToString()
|
||||
{
|
||||
return DisplayName.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
private void ApplyQuickCallCategorySelection()
|
||||
{
|
||||
try
|
||||
{
|
||||
if (!NewTicketPillSelected)
|
||||
return;
|
||||
|
||||
if (!(QuickTicketSelection?.SelectedItem is QuickCallEntry quickCall))
|
||||
return;
|
||||
|
||||
if (!quickCall.CategoryId.HasValue || quickCall.CategoryId.Value == Guid.Empty)
|
||||
return;
|
||||
|
||||
var targetTicket = SelectedTicket ?? _selectTicketRelation;
|
||||
if (targetTicket.Infos == null)
|
||||
targetTicket.Infos = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
targetTicket.Infos[TicketInfoKeys.Category] = quickCall.CategoryId.Value.ToString();
|
||||
|
||||
if (ReferenceEquals(targetTicket, SelectedTicket))
|
||||
{
|
||||
TrySelectTicketCategoryFromTicketInfos();
|
||||
}
|
||||
else if (SelectedTicket == null && ReferenceEquals(targetTicket, _selectTicketRelation))
|
||||
{
|
||||
SelectedTicket = targetTicket;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogException(ex);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void UpdateTicketSelection()
|
||||
{
|
||||
@@ -1467,6 +1505,7 @@ namespace FasdDesktopUi.Basics.UserControls
|
||||
if (selectionPill.IsSelected)
|
||||
{
|
||||
SelectedTicket = _selectTicketRelation;
|
||||
ApplyQuickCallCategorySelection();
|
||||
}
|
||||
ValidateProperty(ValidationPropertyNames.SelectedTicket);
|
||||
ValidateProperty(ValidationPropertyNames.TicketSummaryTextBox);
|
||||
@@ -1695,17 +1734,11 @@ namespace FasdDesktopUi.Basics.UserControls
|
||||
["Priority"] = 2,
|
||||
};
|
||||
Guid quickcallId = Guid.Empty;
|
||||
Guid? quickCallClassificationId = null;
|
||||
if (QuickTicketSelection.SelectedItem is QuickCallEntry selectedQuickTicketItem)
|
||||
{
|
||||
//ticketValues.Add("Category", selectedQuickTicketItem.DisplayName);
|
||||
ticketValues.Add("QuickCallId", selectedQuickTicketItem.ID);
|
||||
Guid.TryParse(selectedQuickTicketItem.ID?.ToString(), out quickcallId);
|
||||
if (selectedQuickTicketItem.Classification.HasValue)
|
||||
{
|
||||
quickCallClassificationId = selectedQuickTicketItem.Classification;
|
||||
ticketValues["Classification"] = quickCallClassificationId.Value;
|
||||
}
|
||||
}
|
||||
var selectedCategoryId = GetSelectedCategoryGuid();
|
||||
if (selectedCategoryId.HasValue)
|
||||
@@ -1974,7 +2007,6 @@ namespace FasdDesktopUi.Basics.UserControls
|
||||
Summary = TicketSummaryTextBox.Text,
|
||||
DescriptionHtml = htmlCaseNotes.ToString(),
|
||||
Quickcall = quickcallId,
|
||||
Classification = quickCallClassificationId,
|
||||
CopyTemplates = string.IsNullOrWhiteSpace(copyStringHtml) ? copyString : copyStringHtml,
|
||||
SolutionHtml = solutionHtmlString,
|
||||
ErrorType = errorType,
|
||||
@@ -2727,6 +2759,7 @@ namespace FasdDesktopUi.Basics.UserControls
|
||||
private void QuickTicketSelection_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||
{
|
||||
ValidateProperty(ValidationPropertyNames.QuickTicketSelection);
|
||||
ApplyQuickCallCategorySelection();
|
||||
}
|
||||
|
||||
private void TransferCaseNotesCheck_Unchecked(object sender, RoutedEventArgs e)
|
||||
|
||||
@@ -13,9 +13,9 @@ using static C4IT.Logging.cLogManager;
|
||||
|
||||
namespace FasdDesktopUi.Pages.TicketCompletion
|
||||
{
|
||||
public partial class TicketCompletion : Window, IBlurInvoker, INotifyPropertyChanged
|
||||
{
|
||||
private bool isCanceled = false;
|
||||
public partial class TicketCompletion : Window, IBlurInvoker, INotifyPropertyChanged
|
||||
{
|
||||
private bool isCanceled = false;
|
||||
|
||||
private bool _WaitForClosing = false;
|
||||
public bool WaitForClosing
|
||||
@@ -101,20 +101,32 @@ namespace FasdDesktopUi.Pages.TicketCompletion
|
||||
return null;
|
||||
}
|
||||
|
||||
#region Close_Click
|
||||
#region Close_Click
|
||||
|
||||
private void Close_Click()
|
||||
{
|
||||
isCanceled = true;
|
||||
TrySetDialogResult(null);
|
||||
Close();
|
||||
}
|
||||
|
||||
private void Close_Click()
|
||||
{
|
||||
DialogResult = null;
|
||||
isCanceled = true;
|
||||
Close();
|
||||
}
|
||||
|
||||
private void CloseButton_Click(object sender, InputEventArgs e) => Close_Click();
|
||||
|
||||
#endregion
|
||||
|
||||
#region Internal Focus Events
|
||||
private void CloseButton_Click(object sender, InputEventArgs e) => Close_Click();
|
||||
|
||||
#endregion
|
||||
|
||||
private void TrySetDialogResult(bool? result)
|
||||
{
|
||||
try
|
||||
{
|
||||
DialogResult = result;
|
||||
}
|
||||
catch (InvalidOperationException)
|
||||
{
|
||||
// Window was not shown as dialog; ignore.
|
||||
}
|
||||
}
|
||||
|
||||
#region Internal Focus Events
|
||||
|
||||
private void ElementGotFocus(object sender, EventArgs e)
|
||||
{
|
||||
@@ -200,15 +212,15 @@ namespace FasdDesktopUi.Pages.TicketCompletion
|
||||
|
||||
bool closedSuccessfull = await CloseCaseDialogUc.CloseCaseAsync(_dataProvider.Identities.FirstOrDefault(identity => identity.Class == enumFasdInformationClass.User).Id);
|
||||
|
||||
if (closedSuccessfull)
|
||||
{
|
||||
SuccessPage.SuccessPage successPage = new SuccessPage.SuccessPage();
|
||||
successPage.Show();
|
||||
await _dataProvider?.CloseCaseAsync();
|
||||
DialogResult = true;
|
||||
Close();
|
||||
}
|
||||
}
|
||||
if (closedSuccessfull)
|
||||
{
|
||||
SuccessPage.SuccessPage successPage = new SuccessPage.SuccessPage();
|
||||
successPage.Show();
|
||||
await _dataProvider?.CloseCaseAsync();
|
||||
TrySetDialogResult(true);
|
||||
Close();
|
||||
}
|
||||
}
|
||||
catch (Exception E)
|
||||
{
|
||||
LogException(E);
|
||||
|
||||
Reference in New Issue
Block a user