// GET api/<controller> public IEnumerable <dynamic> Get() { using (var cnt = new MvContext()) { var items = cnt.Lists.Select(t => new { Id = t.Id, Title = t.Title }).ToArray(); return(items); } }
// DELETE api/values/5 public void Delete(int id) { using (var cnt = new MvContext()) { var item = cnt.Items.Where(t => t.Id == id).SingleOrDefault(); if (item != null) { cnt.Items.Remove(item); cnt.SaveChanges(); } } }
// GET api/values public IEnumerable <dynamic> Get(int listId, bool singleValue = false) { using (var cnt = new MvContext()) { var query = cnt.Fields.Include("Options").Where(t => t.ListId == listId); if (singleValue) { query = query.Where(t => t.Format != (int)MvFieldType.Multiple); } var items = query.ToArray(); return(items.Select(t => new { Id = t.Id, Format = (MvFieldType)t.Format, Title = t.Title, Required = t.IsRequired, Order = t.Order, Options = t.Options.Select(it => new { Id = it.Id, Title = it.Title, Order = it.Order }).OrderBy(it => it.Order) }).OrderBy(t => t.Order)); } }
// GET api/<controller>/5 public dynamic Get(int id, bool fieldsSingleValue = false) { using (var cnt = new MvContext()) { var item = cnt.Lists.Where(t => t.Id == id).Select(t => new { Id = t.Id, Title = t.Title }).SingleOrDefault(); if (item != null) { var fieldsQuery = cnt.Fields.Include("Options").Where(t => t.ListId == id); if (fieldsSingleValue) { fieldsQuery = fieldsQuery.Where(t => t.Format != (int)MvFieldType.Multiple); } var fields = fieldsQuery.ToArray(); return(new { Id = item.Id, Title = item.Title, Fields = fields.Select(t => new { Id = t.Id, Format = (MvFieldType)t.Format, Title = t.Title, IsRequired = t.IsRequired, Order = t.Order, Options = t.Options.Select(it => new { Id = it.Id, Title = it.Title, Order = it.Order }).OrderBy(it => it.Order) }).OrderBy(t => t.Order) }); } return(null); } }
public dynamic Put(int id, MvItemInput input) { if (ModelState.IsValid && input != null) { using (var cnt = new MvContext()) { var item = cnt.Items.Include("Values").Where(t => t.Id == id).SingleOrDefault(); if (item != null) { item.Modified = DateTime.Now; var inputValues = input.Values.Where(t => t.Id > 0).ToDictionary(t => t.Id, t => t); foreach (var value in item.Values.Where(t => inputValues.ContainsKey(t.Id)).ToArray()) { var inputValue = inputValues[value.Id]; value.StringValue = inputValue.StringValue; value.IntValue = inputValue.IntValue; value.DateValue = inputValue.DateValue; value.OptionId = inputValue.OptionId; value.Modified = DateTime.Now; } var removeValues = item.Values.Where(t => !inputValues.ContainsKey(t.Id)).ToArray(); foreach (var value in removeValues) { cnt.Values.Remove(value); } var newValues = input.Values.Where(t => t.Id == 0).Select(t => new MvValue() { FieldId = t.FieldId, StringValue = t.StringValue, DateValue = t.DateValue, IntValue = t.IntValue, OptionId = t.OptionId, Modified = DateTime.Now }).ToArray(); foreach (var value in newValues) { item.Values.Add(value); } cnt.SaveChanges(); return(new { Id = item.Id }); } } } return(new { }); }
public dynamic Put(int id, MvOptionInput input) { if (ModelState.IsValid && input != null) { using (var cnt = new MvContext()) { var item = cnt.Options.Where(t => t.Id == id).SingleOrDefault(); if (item != null) { item.Title = input.Title; item.Order = input.Order; item.Modified = DateTime.Now; cnt.SaveChanges(); return(new { Id = item.Id }); } } } return(new { }); }
public dynamic Post(int fieldId, MvOptionInput input) { if (ModelState.IsValid && input != null) { using (var cnt = new MvContext()) { if (cnt.Fields.Any(t => t.Id == fieldId)) { var item = new MvOption() { FieldId = fieldId, Title = input.Title, Order = input.Order, Modified = DateTime.Now }; cnt.Options.Add(item); cnt.SaveChanges(); return(new { Id = item.Id }); } } } return(new { }); }
// GET api/values public dynamic Get(int id) { using (var cnt = new MvContext()) { var item = cnt.Items.Include("Values").Where(t => t.Id == id).Select(t => new { Id = t.Id, Values = t.Values.Select(it => new { Id = it.Id, FieldId = it.FieldId, StringValue = it.StringValue, DateValue = it.DateValue, IntValue = it.IntValue, OptionId = it.OptionId }) }).SingleOrDefault(); return(item); } }
// POST api/values public dynamic Post(int listId, MvFieldInput input) { if (ModelState.IsValid && input != null) { using (var cnt = new MvContext()) { if (cnt.Lists.Any(t => t.Id == listId)) { var field = new MvField() { ListId = listId, Format = (int)input.Format, IsRequired = input.IsRequired, Title = input.Title, Order = input.Order, Modified = DateTime.Now }; cnt.Fields.Add(field); cnt.SaveChanges(); return(new { Id = field.Id }); } } } return(new { }); }
public dynamic Post(MvListInput input) { if (ModelState.IsValid && input != null) { using (var cnt = new MvContext()) { var item = cnt.Lists.Where(t => t.Id == input.Id).SingleOrDefault(); if (item == null) { item = new MvList(); cnt.Lists.Add(item); } item.Title = input.Title; item.Modified = DateTime.Now; cnt.SaveChanges(); return(new { Id = item.Id }); } } return(new { }); }
public IEnumerable <dynamic> Get(int listId, bool listValues) { using (var cnt = new MvContext()) { var items = cnt.Items.AsNoTracking().Where(t => t.ListId == listId).Select(t => new { Id = t.Id, Values = t.Values.Where(it => it.Field.Format != (int)MvFieldType.Multiple).Select(it => new { Id = it.Id, FieldId = it.FieldId, StringValue = it.StringValue, DateValue = it.DateValue, IntValue = it.IntValue, OptionId = it.OptionId, OptionTitle = it.Option.Title }) }).ToArray(); return(items); } }
// POST api/values public dynamic Post(int listId, MvItemInput input) { if (ModelState.IsValid && input != null) { using (var cnt = new MvContext()) { if (cnt.Lists.Any(t => t.Id == listId)) { var values = input.Values.Select(t => new MvValue() { FieldId = t.FieldId, StringValue = t.StringValue, DateValue = t.DateValue, IntValue = t.IntValue, OptionId = t.OptionId, Modified = DateTime.Now }).ToList(); var item = new MvItem() { ListId = listId, Values = values, Modified = DateTime.Now }; cnt.Items.Add(item); cnt.SaveChanges(); return(new { Id = item.Id }); } } } return(new { }); }