Esempio n. 1
0
        public IHttpActionResult Post([FromUri] MetaDataKeys key, [FromBody] List <object> value)
        {
            if (!ModelState.IsValid || value == null)
            {
                return(this.Error().InvalidParameters());
            }

            if (key == MetaDataKeys.ProgramCategories)
            {
                _programmeCategoryHierarchyRepository.AddRange(value.Select(m => new ProgrammeCategoryHierarchy {
                    Name = m.ToString()
                }));
            }
            else
            {
                var dictionaryValue = AppendId(value);
                var metadataModel   = _metadataRepository.GetAll() ?? new MetadataModel();

                if (metadataModel.ContainsKey(key))
                {
                    metadataModel[key] = dictionaryValue;
                }
                else
                {
                    metadataModel.Add(key, dictionaryValue);
                }

                _metadataRepository.Add(metadataModel);
                _metadataRepository.SaveChanges();
            }
            return(Ok());
        }
Esempio n. 2
0
        public IHttpActionResult Delete([FromUri] MetaDataKeys key)
        {
            if (!ModelState.IsValid)
            {
                return(this.Error().InvalidParameters());
            }

            if (key == MetaDataKeys.ProgramCategories)
            {
                _programmeCategoryHierarchyRepository.Truncate();
            }
            else
            {
                var metadataModel = _metadataRepository.GetAll();

                if (metadataModel == null || !metadataModel.Any())
                {
                    return(this.NoContent());
                }

                if (metadataModel.ContainsKey(key))
                {
                    metadataModel.Remove(key);
                }

                _metadataRepository.Add(metadataModel);
                _metadataRepository.SaveChanges();
            }

            return(Ok());
        }
Esempio n. 3
0
        /// <summary>
        /// Get metadata by key
        /// </summary>
        /// <param name="key">metadata key</param>
        /// <returns></returns>
        public List <Data> GetByKey(MetaDataKeys key)
        {
            List <Data> value = null;

            GetAll()?.TryGetValue(key, out value);
            return(value);
        }
 protected CallMethodResult DeleteByKey(MetaDataKeys key)
 {
     DbContext.WaitForIndexesAfterSaveChanges();
     Repository.DeleteByKey(key);
     DbContext.SaveChanges();
     return(CallMethodResult.CreateHandled());
 }
Esempio n. 5
0
        public void DeleteByKey(MetaDataKeys key)
        {
            var metadataCategory = _dbContext.Query <MetadataCategory>()
                                   .FirstOrDefault(x => x.Name == key.ToString());

            if (metadataCategory != null)
            {
                _dbContext.Remove(metadataCategory);
            }
        }
Esempio n. 6
0
        public List <Data> GetByKey(MetaDataKeys key)
        {
            var values = _dbContext
                         .Query <MetadataCategory>().Include(e => e.MetadataValues)
                         .FirstOrDefault(e => e.Name == key.ToString())
                         ?.MetadataValues;

            return(values?.Any() ?? false
                ? _mapper.Map <List <Data> >(values)
                : new List <Data>());
        }
Esempio n. 7
0
        public void DeleteByKey(MetaDataKeys key)
        {
            var metadataModel = GetAll();

            if (metadataModel.ContainsKey(key))
            {
                metadataModel[key] = new List <Data>();
            }
            var metadata = _session.Query <Metadata>().FirstOrDefault() ?? GetDefaultMetadata();

            metadataModel.ApplyToMetadata(metadata);
            _session.Store(metadata);
        }
Esempio n. 8
0
        public IHttpActionResult Get([FromUri] MetaDataKeys key)
        {
            List <Data> metadata = null;

            if (key == MetaDataKeys.ProgramCategories)
            {
                var programmeCategories = _programmeCategoryHierarchyRepository.GetAll().ToList();
                if (programmeCategories.Any())
                {
                    metadata = new List <Data>(programmeCategories.Select(programmeCategory => new Data {
                        Id = programmeCategory.Id, Value = programmeCategory.Name
                    }));
                }
            }
            else
            {
                metadata = _metadataRepository.GetByKey(key);
            }
            return(metadata == null || !metadata.Any()  ? this.NoContent() : Ok(metadata));
        }