Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }