Exemplo n.º 1
0
 // 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);
     }
 }
Exemplo n.º 2
0
 // 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();
         }
     }
 }
Exemplo n.º 3
0
 // 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));
     }
 }
Exemplo n.º 4
0
 // 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);
     }
 }
Exemplo n.º 5
0
        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 { });
        }
Exemplo n.º 6
0
 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 { });
 }
Exemplo n.º 7
0
 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 { });
 }
Exemplo n.º 8
0
 // 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);
     }
 }
Exemplo n.º 9
0
 // 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 { });
 }
Exemplo n.º 10
0
 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 { });
 }
Exemplo n.º 11
0
 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);
     }
 }
Exemplo n.º 12
0
 // 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 { });
 }