public async Task <IHttpActionResult> Add(MemoryEntity item) { if (item == null) { return(BadRequest("no model provided")); } return(Ok(await _memoryRepo.CreateOrUpdate(item))); }
public IEnumerable <T> LoadEntities <T>(IEnumerable <Guid> ids, IEnumerable <EntityField> fields, IEnumerable <EntityField> nestedFields) where T : IEntity { List <T> result = new List <T>(); foreach (Guid id in ids) { MemoryEntity me = entities[id]; Type matchingType = Utility.GetMatchingEntityType <T>(me.Type); T entity = (T)Activator.CreateInstance(matchingType); IEnumerable <EntityField> filteredFields = fields.Where(x => x.Property.DeclaringType.IsAssignableFrom(matchingType)); entity.GrantInitializeEntityDelegate(this); initializeEntityDelegate(me.Id, me.Revision, me.Author, me.Created, me.Updated, LoadEntityFields(me.Revision, filteredFields, nestedFields)); result.Add(entity); } return(result); }
public void CreateEntity(string type, Guid id, Guid revision, Guid?author, string label, DateTime created, bool isProtected, IEnumerable <EntityFieldValue> fieldValues) { MemoryEntity entity = new MemoryEntity() { Id = id, Revision = revision, Author = author, Type = type, Label = label, Created = created, Updated = created, IsProtected = isProtected }; entities.Add(id, entity); MemoryEntityDataManager.savedFieldValues.Add(revision, new Dictionary <string, object>()); foreach (EntityFieldValue efv in fieldValues) { MemoryEntityDataManager.savedFieldValues[revision].Add(efv.Field.Name, efv.Value); } }