public SamplesSchemaViewModel Clone() { SamplesSchemaViewModel obj = new SamplesSchemaViewModel() { HasChild = HasChild, Id = Id, IsCategory = IsCategory, Name = Name, Path = Path, SpiteClass = SpiteClass, CreatedById = CreatedById, Url = Url }; if (Samples != null) { obj.Samples = new List <SamplesSchemaViewModel>(); foreach (var item in Samples) { obj.Samples.Add(item.Clone()); } } return(obj); }
public SamplesSchemaViewModel FillSamplesSchema(SamplesSchemaViewModel parent) { var response = JsonConvert.DeserializeObject <List <APIResponse> >(new DashboardModel().GetDataSources()); if (parent.Samples == null) { parent.Samples = new List <SamplesSchemaViewModel>(); } foreach (var item in _samplesModel.Samples.Where(i => i.CategoryId == parent.Id)) { if (!parent.Samples.Any(i => i.Id == item.Id)) { SamplesSchemaViewModel sampleItem = new SamplesSchemaViewModel(); sampleItem.Id = item.Id; sampleItem.Name = item.Name; sampleItem.Title = item.Title; sampleItem.HasChild = CheckItHasChildOrNot(item.Id); sampleItem.Path = item.Path; sampleItem.DashboardPath = item.DashboardPath; sampleItem.CreatedById = item.CreatedById; sampleItem.IsPublic = item.IsPublic; sampleItem.ItemID = item.ItemID; sampleItem.CanRead = item.CanRead; sampleItem.CanDelete = item.CanDelete; sampleItem.CanWrite = item.CanWrite; sampleItem.Url = "/sample" + getSampleHierarchyUrl(GetCategoryName(item.CategoryId), "") + "/" + sampleItem.Name; parent.Samples.Add(sampleItem); } else { File.WriteAllText(AppDomain.CurrentDomain.RelativeSearchPath + "\\duplicateItemsLog.txt", "Sample ID wrong in" + item.Name + "\n\n\n"); } } if (response != null && response.Count > 0) { if (parent.DataSources == null) { parent.DataSources = new List <SamplesSchemaViewModel>(); } foreach (var item in response) { var sampleItem = new SamplesSchemaViewModel(); { sampleItem.Name = item.Name; sampleItem.DashboardPath = item.DashboardPath; sampleItem.CreatedById = item.CreatedById; sampleItem.IsPublic = item.IsPublic; sampleItem.CanRead = item.CanRead; sampleItem.CanDelete = item.CanDelete; sampleItem.CanWrite = item.CanWrite; }; parent.DataSources.Add(sampleItem); } } return(parent); }
public List <SamplesSchemaViewModel> GetSchemaViewModel() { List <SamplesSchemaViewModel> schemas = new List <SamplesSchemaViewModel>(); foreach (var item in _samplesModel.Categories) { if (!schemas.Any(i => i.Id == item.Id)) { SamplesSchemaViewModel categoryItem = new SamplesSchemaViewModel(); categoryItem.Id = item.Id; categoryItem.Name = item.Name; categoryItem.SpiteClass = item.SpiteClass; categoryItem.Path = item.Path; categoryItem.DashboardPath = item.DashboardPath; categoryItem.HasChild = CheckItHasChildOrNot(item.Id); categoryItem.AsTab = item.AsTab; categoryItem.IsCategory = true; if (categoryItem.HasChild) { FillSamplesSchema(categoryItem); } if (item.ParentId == null) { schemas.Add(categoryItem); } else { var subSchema = schemas.FirstOrDefault(i => i.Id == item.ParentId); if (subSchema == null) { foreach (SamplesSchemaViewModel schema in schemas) { if (schema.Samples.Any(j => j.Id == item.ParentId)) { subSchema = schema.Samples.FirstOrDefault(f => f.Id == item.ParentId); break; } } } if (subSchema.Samples == null) { subSchema.Samples = new List <SamplesSchemaViewModel>(); } subSchema.Samples.Add(categoryItem); } } else { File.WriteAllText(AppDomain.CurrentDomain.RelativeSearchPath + "\\duplicateItemsLog.txt", "Sample ID wrong in" + item.Name + "\n\n\n"); } } // Requested Changes to categorize the Change Connection String first. //schemas[0].Samples = schemas[0].Samples.OrderBy(i => i.Id).ToList(); return(schemas); }