public void LoadReferenceData(string parentId, MixEnums.MixAttributeSetDataType parentType, MixCmsContext _context = null, IDbContextTransaction _transaction = null) { var refFields = Values.Where(m => m.DataType == MixEnums.MixDataType.Reference).OrderBy(v => v.Priority).ToList(); foreach (var item in refFields) { item.Field = item.Field ?? MixAttributeFields.ReadViewModel.Repository.GetSingleModel(m => m.Id == item.AttributeFieldId , _context, _transaction).Data; Expression <Func <MixRelatedAttributeData, bool> > predicate = model => (model.AttributeSetId == item.Field.ReferenceId) && (model.ParentId == parentId && model.ParentType == parentType.ToString()) && model.Specificulture == Specificulture ; var getData = MixRelatedAttributeDatas.NavigationViewModel.Repository.GetModelListBy(predicate, _context, _transaction); JArray arr = new JArray(); foreach (var nav in getData.Data.OrderBy(d => d.Priority)) { nav.Data.Obj.Add(new JProperty("data", nav.Data.Obj)); arr.Add(nav.Data.Obj); } if (Obj.ContainsKey(item.AttributeFieldName)) { Obj[item.AttributeFieldName] = arr; } else { Obj.Add(new JProperty(item.AttributeFieldName, arr)); } } }
public static void CreateTerminalControls() { if (controls_created) { return; } controls_created = true; if (ComboListBox == null) { ComboListBox = MyAPIGateway.TerminalControls.CreateControl <IMyTerminalControlCombobox, IMyTextPanel>("Script List"); ComboListBox.Enabled = ControlEnabled; ComboListBox.Title = MyStringId.GetOrCompute("Channel List"); ComboListBox.Visible = ControlVisible; ComboListBox.ComboBoxContent = (x) => GetContent(x); ComboListBox.SupportsMultipleBlocks = SupportsMultipleBlocks; ComboListBox.Setter = Setter; ComboListBox.Getter = (x) => Getter(x); MyAPIGateway.TerminalControls.AddControl <IMyTextPanel>(ComboListBox); var LineItem = new MyTerminalControlComboBoxItem(); LineItem.Key = 0; LineItem.Value = None; Obj.Add(LineItem); SteamIdGetter.Add(LineItem.Key, 0); LineGetter.Add(0, LineItem.Key); } }
private void AddItems() { for (var i = 0; i < _count; i++) { Obj.Add(new TreatmentType(GetRandom.Object <TreatmentTypeData>())).GetAwaiter(); } }
public void AddTest() { var expected = Obj.Get(_data.Id).GetAwaiter().GetResult(); Assert.IsNull(expected.Data); Obj.Add(new TreatmentType(_data)).GetAwaiter(); expected = Obj.Get(_data.Id).GetAwaiter().GetResult(); TestArePropertyValuesEqual(_data, expected.Data); }
public void AddTest() { var s = GetRandom.String(); Obj.AddRange(GetRandom.Strings()); var c = Obj.Count; Obj.Add(s); TestDoOnChange("Add", s, null, 0); Assert.AreEqual(c + 1, Obj.Count); }
public void IndexOfTest() { AddTest(); var s = GetRandom.String(); Assert.AreEqual(-1, Obj.IndexOf(s)); Obj.Add(s); ClearDoOnChanged(); Assert.AreEqual(Obj.Count - 1, Obj.IndexOf(s)); TestDoOnChange(); }
public void ContainsTest() { AddTest(); var s = GetRandom.String(); Assert.IsFalse(Obj.Contains(s)); Obj.Add(s); ClearDoOnChanged(); Assert.IsTrue(Obj.Contains(s)); TestDoOnChange(); }
public void GetTest() { var s1 = GetRandom.String(); var s2 = s1 + GetRandom.String(); AddTest(); Obj.Insert(0, s1); Obj.Add(s2); Assert.AreEqual(s1, Obj.Get(0)); Assert.AreEqual(s2, Obj.Get(Obj.Count - 1)); Assert.AreEqual(null, Obj.Get(Obj.Count)); }
public static void AddLineItem(MyStringId Item, ulong steamid) { if (LineGetter.ContainsKey(steamid)) { return; } var LineItem = new MyTerminalControlComboBoxItem(); LineItem.Key = Obj.Count; LineItem.Value = Item; Obj.Add(LineItem); SteamIdGetter.Add(LineItem.Key, steamid); LineGetter.Add(steamid, LineItem.Key); }
public void FindTest() { var s = GetRandom.String(); Func <string> test = () => Obj.Find(o => o.StartsWith(s.Substring(0, 10))); AddTest(); var a = test(); Assert.IsNull(a); Obj.Add(s); a = test(); Assert.AreEqual(s, a); }
public void FindLastIndexTest() { var s1 = GetRandom.String(); var s2 = s1 + GetRandom.String(); Func <int> test = () => Obj.FindLastIndex(o => o.StartsWith(s1.Substring(0, 10))); AddTest(); var a = test(); Assert.AreEqual(-1, a); Obj.Insert(0, s1); Obj.Add(s2); a = test(); Assert.AreEqual(Obj.Count - 1, a); }
public void FindLastTest() { var s1 = GetRandom.String(); var s2 = s1 + GetRandom.String(); Func <string> test = () => Obj.FindLast(o => o.StartsWith(s1.Substring(0, 10))); AddTest(); var a = test(); Assert.IsNull(a); Obj.Insert(0, s1); Obj.Add(s2); a = test(); Assert.AreEqual(s2, a); }
public void FindAllTest() { var s1 = GetRandom.String(); var s2 = s1 + GetRandom.String(); AddTest(); Func <Archetypes <string> > test = () => Obj.FindAll(o => o.StartsWith(s1.Substring(0, 10))); var a = test(); Assert.AreEqual(0, a.Count); Obj.Insert(0, s1); Obj.Add(s2); a = test(); Assert.AreEqual(2, a.Count); Assert.AreEqual(s1, a[0]); Assert.AreEqual(s2, a[1]); }
public void SetScript(uint localID, UUID itemID, InstanceData id) { lock (scriptLock) { // Create object if it doesn't exist if (Scripts.ContainsKey(localID) == false) { Scripts.Add(localID, new Dictionary <UUID, InstanceData>()); } // Delete script if it exists Dictionary <UUID, InstanceData> Obj; Scripts.TryGetValue(localID, out Obj); if (Obj.ContainsKey(itemID) == true) { Obj.Remove(itemID); } // Add to object Obj.Add(itemID, id); } }
private void MemAddScript(ScriptStructure script) { lock (scriptLock) { // Create object if it doesn't exist if (!Scripts.ContainsKey(script.LocalID)) { Scripts.Add(script.LocalID, new Dictionary <UUID, ScriptStructure>()); } // Delete script if it exists Dictionary <UUID, ScriptStructure> Obj; if (Scripts.TryGetValue(script.LocalID, out Obj)) { if (Obj.ContainsKey(script.ItemID) == true) { Obj.Remove(script.ItemID); } } // Add to object Obj.Add(script.ItemID, script); } }
public override MixAttributeSetData ParseModel(MixCmsContext _context = null, IDbContextTransaction _transaction = null) { if (string.IsNullOrEmpty(Id)) { Id = Guid.NewGuid().ToString(); CreatedDateTime = DateTime.UtcNow; Priority = Repository.Count(m => m.AttributeSetName == AttributeSetName && m.Specificulture == Specificulture, _context, _transaction).Data + 1; } if (string.IsNullOrEmpty(AttributeSetName)) { AttributeSetName = _context.MixAttributeSet.First(m => m.Id == AttributeSetId)?.Name; } if (AttributeSetId == 0) { AttributeSetId = _context.MixAttributeSet.First(m => m.Name == AttributeSetName)?.Id ?? 0; } Values = Values ?? MixAttributeSetValues.UpdateViewModel .Repository.GetModelListBy(a => a.DataId == Id && a.Specificulture == Specificulture, _context, _transaction).Data.OrderBy(a => a.Priority).ToList(); Fields = MixAttributeFields.UpdateViewModel.Repository.GetModelListBy(f => f.AttributeSetId == AttributeSetId, _context, _transaction).Data; foreach (var field in Fields.OrderBy(f => f.Priority)) { var val = Values.FirstOrDefault(v => v.AttributeFieldId == field.Id); if (val == null) { val = new MixAttributeSetValues.UpdateViewModel( new MixAttributeSetValue() { AttributeFieldId = field.Id, AttributeFieldName = field.Name, } , _context, _transaction) { StringValue = field.DefaultValue, Priority = field.Priority, Field = field }; Values.Add(val); } val.Priority = field.Priority; val.AttributeSetName = AttributeSetName; if (Obj[val.AttributeFieldName] != null) { if (val.Field.DataType == MixEnums.MixDataType.Reference) { var arr = Obj[val.AttributeFieldName].Value <JArray>(); if (arr != null) { foreach (JObject objData in arr) { string id = objData["id"]?.Value <string>(); // if have id => update data, else add new if (!string.IsNullOrEmpty(id)) { var getData = Repository.GetSingleModel(m => m.Id == id && m.Specificulture == Specificulture, _context, _transaction); if (getData.IsSucceed) { getData.Data.Obj = objData["obj"].Value <JObject>(); RefData.Add(getData.Data); } } else { RefData.Add(new FormPortalViewModel() { Specificulture = Specificulture, AttributeSetId = field.ReferenceId.Value, Obj = objData["obj"].Value <JObject>() }); } } } } else { ParseModelValue(Obj[val.AttributeFieldName], val); } } else { Obj.Add(ParseValue(val, _context, _transaction)); } } // Save Edm html var getAttrSet = Mix.Cms.Lib.ViewModels.MixAttributeSets.ReadViewModel.Repository.GetSingleModel(m => m.Name == AttributeSetName, _context, _transaction); var getEdm = Lib.ViewModels.MixTemplates.UpdateViewModel.GetTemplateByPath(getAttrSet.Data.EdmTemplate, Specificulture); var edmField = Values.FirstOrDefault(f => f.AttributeFieldName == "edm"); if (edmField != null && getEdm.IsSucceed && !string.IsNullOrEmpty(getEdm.Data.Content)) { string body = getEdm.Data.Content; foreach (var prop in Obj.Properties()) { body = body.Replace($"[[{prop.Name}]]", Obj[prop.Name].Value <string>()); } var edmFile = new FileViewModel() { Content = body, Extension = ".html", FileFolder = "edms", Filename = $"{getAttrSet.Data.EdmSubject}-{Id}" }; if (FileRepository.Instance.SaveWebFile(edmFile)) { Obj["edm"] = edmFile.WebPath; edmField.StringValue = edmFile.WebPath; } } //End save edm return(base.ParseModel(_context, _transaction));; }
public override MixAttributeSetData ParseModel(MixCmsContext _context = null, IDbContextTransaction _transaction = null) { if (string.IsNullOrEmpty(Id)) { Id = Guid.NewGuid().ToString(); CreatedDateTime = DateTime.UtcNow; Priority = Repository.Count(m => m.AttributeSetName == AttributeSetName && m.Specificulture == Specificulture, _context, _transaction).Data + 1; } if (string.IsNullOrEmpty(AttributeSetName)) { AttributeSetName = _context.MixAttributeSet.First(m => m.Id == AttributeSetId)?.Name; } if (AttributeSetId == 0) { AttributeSetId = _context.MixAttributeSet.First(m => m.Name == AttributeSetName)?.Id ?? 0; } Values ??= MixAttributeSetValues.UpdateViewModel .Repository.GetModelListBy(a => a.DataId == Id && a.Specificulture == Specificulture , _context, _transaction) .Data.OrderBy(a => a.Priority).ToList(); Fields ??= MixAttributeFields.UpdateViewModel.Repository.GetModelListBy( f => f.AttributeSetId == AttributeSetId, _context, _transaction).Data; foreach (var field in Fields.OrderBy(f => f.Priority)) { var val = Values.FirstOrDefault(v => v.AttributeFieldId == field.Id); if (val == null) { val = new MixAttributeSetValues.UpdateViewModel( new MixAttributeSetValue() { AttributeFieldId = field.Id, AttributeFieldName = field.Name, } , _context, _transaction) { StringValue = field.DefaultValue, Priority = field.Priority, Field = field }; Values.Add(val); } else { val.LastModified = DateTime.UtcNow; } val.CreatedBy = CreatedBy; val.Status = Status; val.Priority = field.Priority; val.AttributeSetName = AttributeSetName; if (Obj[val.AttributeFieldName] != null) { if (val.Field.DataType == MixDataType.Reference) { var arr = Obj[val.AttributeFieldName].Value <JArray>(); if (arr != null) { foreach (JObject objData in arr) { string id = objData["id"]?.Value <string>(); // if have id => update data, else add new if (!string.IsNullOrEmpty(id)) { var getData = Repository.GetSingleModel( m => m.Id == id && m.Specificulture == Specificulture, _context, _transaction); if (getData.IsSucceed) { getData.Data.Obj = objData["obj"].Value <JObject>(); RefData.Add(getData.Data); } } else { RefData.Add(new ImportViewModel() { Specificulture = Specificulture, AttributeSetId = field.ReferenceId.Value, Obj = objData["obj"].Value <JObject>() }); } } } } else { val.ToModelValue(Obj[val.AttributeFieldName]); } } else { Obj.Add(val.Model.ToJProperty(_context, _transaction)); } } return(base.ParseModel(_context, _transaction));; }