public async Task <IHttpActionResult> ReorderFields(Guid id, [FromBody] OrderedIds newOrders) { var entity = await DbContext.Entities.Include(e => e.Fields).SingleOrDefaultAsync(e => e.EntityId == id); if (entity == null) { return(NotFound()); } var newOrder = (short)0; foreach (var itemId in newOrders.ids) { var field = entity.Fields.SingleOrDefault(o => o.FieldId == itemId); if (field == null) { return(BadRequest("Field was not found")); } DbContext.Entry(field).State = EntityState.Modified; field.FieldOrder = newOrder; newOrder++; } DbContext.Database.Log = Console.WriteLine; DbContext.SaveChanges(); return(Ok()); }
public async Task <IHttpActionResult> UpdateOrders(Guid id, [FromBody] OrderedIds newOrders) { var lookup = await DbContext.Lookups.Include(o => o.LookupOptions).SingleOrDefaultAsync(o => o.LookupId == id); if (lookup == null) { return(NotFound()); } var newOrder = (byte)0; foreach (var itemId in newOrders.ids) { var option = lookup.LookupOptions.SingleOrDefault(o => o.LookupOptionId == itemId); if (option == null) { return(BadRequest("Key was not found: " + itemId)); } DbContext.Entry(option).State = EntityState.Modified; option.SortOrder = newOrder; newOrder++; } DbContext.SaveChanges(); return(Ok()); }