//
 // GET: /Fields/Create
 public ActionResult Create(int id)
 {
     Field model = new Field();
     model.FormId = id;
     ViewBag.FieldTypes = new SelectList(Repository.GetFieldTypes(), "FieldTypeId", "Name");
     return View(model);
 }
        public ActionResult Create(Field model, FormCollection collection)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    Repository.Add(model);
                    Repository.Save();
                    return RedirectToAction("Index", new { id = model.FormId });
                }
                ViewBag.FieldTypes = new SelectList(Repository.GetFieldTypes(), "FieldTypeId", "Name");
                return View(model);

            }
            catch
            {
                Field model2 = new Field();
                model2.FormId = model.FormId;
                ViewBag.FieldTypes = new SelectList(Repository.GetFieldTypes(), "FieldTypeId", "Name");
                return View(model2);
            }
        }
 //
 // Insert/Delete Methods
 public void Add(Field item)
 {
     db.Fields.Add(item);
 }
 public void Delete(Field item)
 {
     db.Fields.Remove(item);
 }
        public FieldNewModel Get(string data,string fieldColumn,int? fieldOrder,int? fieldTypeId,int formId,string name,bool required, string username, string password)
        {
            AccountNewModel account = MyAuthentication.authentication(username, password);
            FieldNewModel model = new FieldNewModel
            {
                IsAuthenticated = account.IsAuthenticated,
                Roles = account.Roles,
                FormId = formId
            };

            if (account.IsAuthenticated)
            {
                Field field = new Field{
                    Data = data,
                    FieldColumn = fieldColumn,
                    FieldOrder = 0,
                    FieldTypeId = 0,
                    FormId = formId,
                    Name = name,
                    Required = required
                };
                if (fieldTypeId.HasValue)
                    field.FieldTypeId = fieldTypeId.Value;
                if (fieldOrder.HasValue)
                    field.FieldOrder = fieldOrder.Value;
                db.Fields.Add(field);
                db.SaveChanges();
            }
            return model;
        }