void OnCheckedItemsChanged(object sender, ListChangedEventArgs e) { foreach (string item in CheckedItems) { if (CurveList.IndexOfTag(item) < 0) { AddItem(item); } } List <string> itemsToRemove = new List <string>(); foreach (LogGraphCurveItem item in CurveList) { if (!CheckedItems.Contains(item.ItemID)) { itemsToRemove.Add(item.ItemID); } } foreach (string item in itemsToRemove) { RemoveItem(item); } }
private void CheckBoxTreeViewItem_Checked(object sender, RoutedEventArgs e) { TViewItem checkBoxTreeViewItem = sender as TViewItem; Action action = () => { if (!CheckedItems.Contains((TreeViewItemViewModel)checkBoxTreeViewItem.Header)) { CheckedItems.Add((TreeViewItemViewModel)checkBoxTreeViewItem.Header); } }; this.Dispatcher.BeginInvoke(action, DispatcherPriority.ContextIdle); }
private void DeletedAssets_ItemPropertyChanged(object sender, ItemPropertyChangedEventArgs e) { TVDeletedAssetViewModel _asset = DeletedAssets[e.CollectionIndex]; if (CheckedItems.Contains(_asset.Asset)) { if (_asset.IsChecked == false) { CheckedItems.Remove(_asset.Asset); } } else { if (_asset.IsChecked == true) { CheckedItems.Add(_asset.Asset); } } }
private void checkedListBoxSeries_ItemCheck(object sender, ItemCheckEventArgs e) { int index = e.Index; DBSeries item = (DBSeries)checkedListBoxSeries.Items[index]; // Add/Remove items from list if (item != null) { // Item state before item was clicked if (checkedListBoxSeries.GetItemChecked(index)) { // Store items changes if (!UnCheckedItems.Contains(item)) { UnCheckedItems.Add(item); } if (CheckedItems.Contains(item)) { CheckedItems.Remove(item); } CheckedCount -= 1; labelSeriesSelected.Text = (CheckedCount).ToString() + " Series Selected"; } else { // Store items changes if (!CheckedItems.Contains(item)) { CheckedItems.Add(item); } if (UnCheckedItems.Contains(item)) { UnCheckedItems.Remove(item); } CheckedCount += 1; labelSeriesSelected.Text = (CheckedCount).ToString() + " Series Selected"; } } }
public void GeneratorCode() { var webApiCode = string.Empty; var @class = EntityName.ToLower(); var Class = EntityName; webApiCode += $"var {ProjectName};\r\n"; webApiCode += $"(function ({ProjectName}) {{\r\n"; webApiCode += $"\t'use strict';\r\n"; webApiCode += $"\t{ProjectName}.{Class}Api = function (e) {{\r\n"; webApiCode += $"\t\tvar EMPTY_STRING = '';\r\n"; webApiCode += $"\t\tvar f = '@OData.Community.Display.V1.FormattedValue';\r\n"; var webapi = Utility.ReadEmbeddedResource("DynamicsCrm.DevKit.Resources.WebApi.js"); webApiCode += webapi; webApiCode += $"\t\tvar {@class} = {{\r\n"; foreach (var crmAttribute in Fields) { if (crmAttribute.IsDeprecated) { continue; } if (crmAttribute.AttributeOf != null && crmAttribute.FieldType == AttributeTypeCode.Virtual && crmAttribute.LogicalName != "entityimage") { continue; } if (crmAttribute.FieldType == AttributeTypeCode.EntityName || crmAttribute.FieldType == AttributeTypeCode.PartyList) { continue; } if (crmAttribute.AttributeOf != null && crmAttribute.AttributeOf.ToLower() + "name" == crmAttribute.LogicalName) { continue; } if (crmAttribute.AttributeOf != null && crmAttribute.LogicalName.EndsWith("yominame") && !crmAttribute.IsValidForCreate && !crmAttribute.IsValidForUpdate) { continue; } if (crmAttribute.FieldType == AttributeTypeCode.Memo || crmAttribute.FieldType == AttributeTypeCode.String || crmAttribute.FieldType == AttributeTypeCode.Picklist || crmAttribute.FieldType == AttributeTypeCode.State || crmAttribute.FieldType == AttributeTypeCode.Status || crmAttribute.FieldType == AttributeTypeCode.Uniqueidentifier || crmAttribute.FieldType == AttributeTypeCode.Boolean || crmAttribute.FieldType == AttributeTypeCode.Integer || crmAttribute.FieldType == AttributeTypeCode.BigInt || crmAttribute.FieldType == AttributeTypeCode.Double || crmAttribute.FieldType == AttributeTypeCode.Decimal || crmAttribute.FieldType == AttributeTypeCode.Money ) { webApiCode += $"\t\t\t{crmAttribute.SchemaName}: {{ a: \"{crmAttribute.LogicalName}\" }},\r\n"; } else if (crmAttribute.IsMultiSelectPicklist) { webApiCode += $"\t\t\t{crmAttribute.SchemaName}: {{ a: \"{crmAttribute.LogicalName}\", g: true }},\r\n"; } else if (crmAttribute.FieldType == AttributeTypeCode.DateTime) { if (crmAttribute.DateTimeBehavior == DateTimeBehavior.DateOnly) { webApiCode += $"\t\t\t{crmAttribute.SchemaName}_DateOnly: {{ a: \"{crmAttribute.LogicalName}\" }},\r\n"; } else if (crmAttribute.DateTimeBehavior == DateTimeBehavior.TimeZoneIndependent) { if (crmAttribute.DateTimeFormat == DateTimeFormat.DateOnly) { webApiCode += $"\t\t\t{crmAttribute.SchemaName}_TimezoneDateOnly: {{ a: \"{crmAttribute.LogicalName}\" }},\r\n"; } else { webApiCode += $"\t\t\t{crmAttribute.SchemaName}_TimezoneDateAndTime: {{ a: \"{crmAttribute.LogicalName}\" }},\r\n"; } } else if (crmAttribute.DateTimeBehavior == DateTimeBehavior.UserLocal) { if (crmAttribute.DateTimeFormat == DateTimeFormat.DateOnly) { webApiCode += $"\t\t\t{crmAttribute.SchemaName}_UtcDateOnly: {{ a: \"{crmAttribute.LogicalName}\" }},\r\n"; } else { webApiCode += $"\t\t\t{crmAttribute.SchemaName}_UtcDateAndTime: {{ a: \"{crmAttribute.LogicalName}\" }},\r\n"; } } } else if (crmAttribute.FieldType == AttributeTypeCode.Lookup || crmAttribute.FieldType == AttributeTypeCode.Customer) { var entities = crmAttribute.EntityReferenceLogicalName.Split(";".ToCharArray()); crmAttribute.LogicalCollectionName = GetLogicalCollectionName(crmAttribute); crmAttribute.NavigationPropertyName = GetNavigationPropertyName(crmAttribute); var collections = crmAttribute.LogicalCollectionName.Split(";".ToCharArray()); var navigations = crmAttribute.NavigationPropertyName.Split(";".ToCharArray()); if (entities.Length == 1) { if (crmAttribute.IsCustomAttribute) { webApiCode += $"\t\t\t{crmAttribute.SchemaName}: {{ b: \"{crmAttribute.SchemaName}\", a: \"_{crmAttribute.LogicalName}_value\", c: \"{collections[0]}\", d: \"{entities[0]}\" }},\r\n"; } else { webApiCode += $"\t\t\t{crmAttribute.SchemaName}: {{ b: \"{crmAttribute.LogicalName}\", a: \"_{crmAttribute.LogicalName}_value\", c: \"{collections[0]}\", d: \"{entities[0]}\" }},\r\n"; } } else { if (entities.Length != collections.Length || entities.Length != navigations.Length || collections.Length != navigations.Length) { continue; } var j = 0; foreach (var e in entities) { if (crmAttribute.EntityName == "audit" && e == "externalparty") { continue; } webApiCode += $"\t\t\t{navigations[j]}: {{ b: \"{navigations[j]}\", a: \"_{crmAttribute.LogicalName}_value\", c: \"{collections[j]}\", d: \"{entities[j]}\" }},\r\n"; j++; } } } else if (crmAttribute.FieldType == AttributeTypeCode.Owner) { webApiCode += $"\t\t\tOwnerId_systemuser: {{ b: \"ownerid\", a: \"_ownerid_value\", c: \"systemusers\", d: \"systemuser\" }},\r\n"; webApiCode += $"\t\t\tOwnerId_team: {{ b: \"ownerid\", a: \"_ownerid_value\", c: \"teams\", d: \"team\" }},\r\n"; } else if (crmAttribute.FieldType == AttributeTypeCode.ManagedProperty) { webApiCode += $"\t\t\t{crmAttribute.SchemaName}: {{ a: \"{crmAttribute.LogicalName}\" }},\r\n"; } else { if (crmAttribute.SchemaName == "EntityImage" || crmAttribute.SchemaName == "FullImageData" || crmAttribute.SchemaName == "ImageData") { webApiCode += $"\t\t\t{crmAttribute.SchemaName}: {{ a: \"{crmAttribute.LogicalName}\" }},\r\n"; } else { webApiCode += $"\t\t\t{crmAttribute.SchemaName}: {{ a: ?????????? }},\r\n"; } } if (!(crmAttribute.IsValidForCreate || crmAttribute.IsValidForUpdate)) { webApiCode = webApiCode.TrimEnd(" },\r\n".ToCharArray()); webApiCode += $", r: true }},\r\n"; } } webApiCode = webApiCode.TrimEnd(",\r\n".ToCharArray()) + "\r\n"; webApiCode += $"\t\t}};\r\n"; webApiCode += $"\t\tif (e === undefined) e = {{}};\r\n"; webApiCode += $"\t\tvar u = {{}};\r\n"; webApiCode += $"\t\tfor (var field in {@class}) {{\r\n"; webApiCode += $"\t\t\tvar a = {@class}[field].a;\r\n"; webApiCode += $"\t\t\tvar b = {@class}[field].b;\r\n"; webApiCode += $"\t\t\tvar c = {@class}[field].c;\r\n"; webApiCode += $"\t\t\tvar d = {@class}[field].d;\r\n"; webApiCode += $"\t\t\tvar g = {@class}[field].g;\r\n"; webApiCode += $"\t\t\tvar r = {@class}[field].r;\r\n"; webApiCode += $"\t\t\t{@class}[field] = webApiField(e, a, b, c, d, r, u, g);\r\n"; webApiCode += $"\t\t}}\r\n"; var hasPartyList = Fields.Where(f => f.FieldType == AttributeTypeCode.PartyList).Any(); if (hasPartyList) { var logicalName = IsCustomEntity ? $"{Class}_activity_parties" : $"{@class}_activity_parties"; webApiCode += $"\t\tObject.defineProperty({@class}, 'ActivityParties', {{\r\n"; webApiCode += $"\t\t\tget: function () {{ return e['{logicalName}']; }},\r\n"; webApiCode += $"\t\t\tset: function (value) {{\r\n"; webApiCode += $"\t\t\t\te['{logicalName}'] = value;\r\n"; webApiCode += $"\t\t\t\tu['{logicalName}'] = value;\r\n"; webApiCode += $"\t\t\t}}\r\n"; webApiCode += $"\t\t}});\r\n"; } webApiCode += $"\t\t{@class}.Entity = u;\r\n"; webApiCode += $"\t\t{@class}.EntityName = \"{@class}\";\r\n"; webApiCode += $"\t\t{@class}.EntityCollectionName = \"{GetLogicalCollectionName(@class)}\";\r\n"; webApiCode += $"\t\t{@class}[\"@odata.etag\"] = e[\"@odata.etag\"];\r\n"; //webApiCode += JsOptionSetFormCode; //webApiCode += $"\t\t{@class}.OptionSet = optionSet;\r\n"; webApiCode += $"\t\t{@class}.getAliasedValue = function (alias, isMultiOptionSet) {{\r\n"; webApiCode += $"\t\t\tif (e[alias] === undefined || e[alias] === null) {{\r\n"; webApiCode += $"\t\t\t\treturn null;\r\n"; webApiCode += $"\t\t\t}}\r\n"; webApiCode += $"\t\t\tif (isMultiOptionSet) {{\r\n"; webApiCode += $"\t\t\t\treturn e[alias].toString().split(',').map(function (item) {{ return parseInt(item, 10); }});\r\n"; webApiCode += $"\t\t\t}}\r\n"; webApiCode += $"\t\t\treturn e[alias];\r\n"; webApiCode += $"\t\t}}\r\n"; webApiCode += $"\t\t{@class}.getAliasedFormattedValue = function (alias, isMultiOptionSet) {{\r\n"; webApiCode += $"\t\t\tif (e[alias + f] === undefined || e[alias + f] === null) {{\r\n"; webApiCode += $"\t\t\t\treturn EMPTY_STRING;\r\n"; webApiCode += $"\t\t\t}}\r\n"; webApiCode += $"\t\t\tif (isMultiOptionSet) {{\r\n"; webApiCode += $"\t\t\t\treturn e[alias + f].toString().split(';').map(function (item) {{ return item.trim(); }});\r\n"; webApiCode += $"\t\t\t}}\r\n"; webApiCode += $"\t\t\treturn e[alias + f];\r\n"; webApiCode += $"\t\t}}\r\n"; webApiCode += $"\t\treturn {@class};\r\n"; webApiCode += $"\t}};\r\n"; webApiCode += $"}})({ProjectName} || ({ProjectName} = {{}}));"; webApiCode = webApiCode.Replace("\"", "'"); webApiCode = webApiCode.Replace("'*'", "\"*\""); if (!IsDebugWebApi) { webApiCode = Uglify.Js(webApiCode).Code; webApiCode = webApiCode.Replace("\"", "'"); webApiCode = webApiCode.Replace("'*'", "\"*\""); } var code = string.Empty; code += $"'use strict';\r\n"; code += $"/** @namespace {ProjectName} */\r\n"; code += webApiCode; code = code + "\r\n"; var optionSet = Utility.ReadEmbeddedResource("DynamicsCrm.DevKit.Resources.OptionSet.js"); optionSet = optionSet.Replace("[[EntityOptionSet]]", OptionSet_For_d_ts); var optionSetMin = optionSet; if (!IsDebugWebApi) { optionSetMin = Uglify.Js(optionSet).Code; } code += $"/** @namespace OptionSet */\r\n"; code += optionSetMin; WebApiCode = code; var processForms = new List <SystemForm>(); foreach (var form in Forms) { if (CheckedItems.Contains($"{form.Name}")) { processForms.Add(form); } } WebApiCodeTypeScriptDeclaration = GetWebApiCodeTypeScriptDeclaration(processForms, IsDebugForm, true, IsDebugWebApi); }