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()); }
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()); }
/// <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()); }
public void DeleteByKey(MetaDataKeys key) { var metadataCategory = _dbContext.Query <MetadataCategory>() .FirstOrDefault(x => x.Name == key.ToString()); if (metadataCategory != null) { _dbContext.Remove(metadataCategory); } }
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>()); }
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); }
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)); }