public static DescriptionEntry GenerateDescriptionEntry(Dictionary <string, string> values, int maxHyperlinkLength) { DateTime now = DateTime.UtcNow; DescriptionTextRenderType renderType = DescriptionTextRenderType.Plaintext; string text = values[FieldNames.Incident.Description]; if (text.IndexOf("html", StringComparison.OrdinalIgnoreCase) >= 0) { // Try to convert from HTML to XHTML, if failed, just leave it as plain text string xhtmlValid; string errors; if (XmlSanitizer.TryMakeXHtml(text, out xhtmlValid, out errors)) { string xhtmlSanitized; if (XmlSanitizer.SanitizeXml(xhtmlValid, false, false, out xhtmlSanitized, out errors)) { text = xhtmlSanitized; renderType = DescriptionTextRenderType.Html; } } if (!string.IsNullOrEmpty(errors)) { Logger.Info("Failed to convert message body to HTML. Defaulting to plain text. Conversion message: " + errors); } else if (text.Length > DescriptionLengthMax) { // Truncate string if too long. IcM limits the number of characters in the DescriptionEntry.Text property. text = TruncateXml(text, DescriptionLengthMax, maxHyperlinkLength); } } else if (text.Length > DescriptionLengthMax) { // Truncate string if too long. IcM limits the number of characters in the DescriptionEntry.Text property. text = text.Substring(0, DescriptionLengthMax); text += TruncationMessage; } var descriptionEntry = new DescriptionEntry { Cause = DescriptionEntryCause.Created, Date = now, ChangedBy = values[FieldNames.Incident.CreatedBy], SubmitDate = now, SubmittedBy = values[FieldNames.Incident.CreatedBy], Text = text, RenderType = renderType, }; return(descriptionEntry); }
public void GenerateDescriptionEntry() { Dictionary <string, string> values = new Dictionary <string, string> { { FieldNames.Incident.Description, "" }, { FieldNames.Incident.CreatedBy, "" }, { FieldNames.Incident.CreateDate, "" } }; DescriptionEntry result = IcmWorkItemManagment.GenerateDescriptionEntry(values, -1); Assert.Inconclusive(); }
public ActivityPage() { InitializeComponent(); _vm = new ActivityViewModel(this); BindingContext = _vm; DescriptionLabel.IsVisible = false; DateLabel.IsVisible = false; DescriptionEntry.IsVisible = true; DescriptionEntry.Placeholder = "Enter description"; DescriptionEntry.Focus(); AddToolbarButtons("Save"); }
public AlertSourceIncident CreateIncidentWithDefaults(Dictionary <string, string> values) { AlertSourceIncident incident = new AlertSourceIncident(); incident.ImpactStartDate = Convert.ToDateTime(values[FieldNames.Incident.CreateDate]); incident.Title = values[FieldNames.Incident.Title]; incident.Severity = incidentDefaults.Severity; int maxHyperlinkLength = config.WorkItemSettings.RemoveHyperlinkExceedingNCharacters ?? -1; DescriptionEntry descriptionEntry = GenerateDescriptionEntry(values, maxHyperlinkLength); incident.DescriptionEntries = new [] { descriptionEntry }; incident.Keywords = values["ConverstionID"]; incident.Source = new AlertSourceInfo { CreatedBy = values[FieldNames.Incident.CreatedBy], CreateDate = DateTime.UtcNow, IncidentId = Guid.NewGuid().ToString(), ModifiedDate = DateTime.UtcNow, Origin = incidentDefaults.Source.Origin }; incident.OccurringLocation = new IncidentLocation { DataCenter = incidentDefaults.OccurringLocation.DataCenter, DeviceGroup = incidentDefaults.OccurringLocation.DeviceGroup, DeviceName = incidentDefaults.OccurringLocation.DeviceName, Environment = incidentDefaults.OccurringLocation.Environment, ServiceInstanceId = incidentDefaults.OccurringLocation.ServiceInstanceId }; incident.RaisingLocation = new IncidentLocation { DataCenter = incidentDefaults.RaisingLocation.DataCenter, DeviceGroup = incidentDefaults.RaisingLocation.DeviceGroup, DeviceName = incidentDefaults.RaisingLocation.DeviceName, Environment = incidentDefaults.RaisingLocation.Environment, ServiceInstanceId = incidentDefaults.RaisingLocation.ServiceInstanceId }; incident.RoutingId = config.IcmClientConfig.RoutingId; incident.Status = incidentDefaults.Status; if (values["CorrelationId"] != "0") { incident.CorrelationId = values["CorrelationId"]; } return(incident); }
private void AddToolbarButtons(string name = "Edit") { var editButton = new ToolbarItem { Text = name, Order = ToolbarItemOrder.Primary, Priority = 0 }; editButton.Clicked += (sender, args) => { var button = sender as ToolbarItem; if (button == null) { return; } if (string.Equals(button.Text, "Edit")) { button.Text = "Save"; DescriptionLabel.IsVisible = false; DescriptionEntry.IsVisible = true; DescriptionEntry.Focus(); } else { button.Text = "Edit"; DescriptionEntry.IsVisible = false; DescriptionLabel.IsVisible = true; DescriptionLabel.Focus(); OnSave(); } }; ToolbarItems.Add(editButton); }
public static DescriptionEntry CreateDescriptionEntry(long descriptionEntryId) { DescriptionEntry descriptionEntry = new DescriptionEntry(); descriptionEntry.DescriptionEntryId = descriptionEntryId; return descriptionEntry; }
public void AddTodescriptionEntries(DescriptionEntry descriptionEntry) { base.AddObject("descriptionEntries", descriptionEntry); }
protected override void OnAppearing() { base.OnAppearing(); DescriptionEntry.Focus(); }