예제 #1
0
 public JArray GravaCampo([FromBody] Dados.EtdCampos item)
 {
     using (var db = new Dados.DB())
     {
         if (item.Id == 0)
         {
             item.Ordem           = (int)db.Campo.Where(p => p.IdFormulario == item.IdFormulario).Count() + 1;
             db.Entry(item).State = EntityState.Added;
             db.SaveChanges();
         }
         else
         {
             Dados.EtdCampos localizado = db.Campo.Find(item.Id);
             if (localizado == null)
             {
                 throw new Exception("item não localizado");
             }
             localizado.Nome        = item.Nome;
             localizado.Obrigatorio = item.Obrigatorio;
             localizado.Tipo        = item.Tipo;
             localizado.TipoDado    = item.TipoDado;
             localizado.Tamanho     = item.Tamanho;
             localizado.strOpcoes   = item.strOpcoes;
             db.Update(localizado);
             db.SaveChanges();
         }
         return(JArray.FromObject(db.Campo.Where(p => p.IdFormulario == item.IdFormulario).OrderBy(p => p.Ordem).ToList()));
     }
 }
예제 #2
0
 public JArray ExcluiCampo(int id)
 {
     using (var db = new Dados.DB())
     {
         Dados.EtdCampos localizado = db.Campo.Where(p => p.Id == id).Include(p => p.Formulario).FirstOrDefault();
         if (localizado == null)
         {
             throw new Exception("campo não localizado");
         }
         Dados.EtdFormulario form = db.Formulario.Where(p => p.Id == localizado.Formulario.Id).Include(p => p.Campos).FirstOrDefault();
         form.Campos.Remove(localizado);
         int ct = 1;
         foreach (var cp in form.Campos.OrderBy(p => p.Ordem))
         {
             cp.Ordem = ct;
             ct++;
         }
         db.Update(form);
         db.SaveChanges();
         return(JArray.FromObject(form.Campos.OrderBy(p => p.Ordem).ToList()));
     }
 }
예제 #3
0
        public JArray MoveCampo(int id, bool up)
        {
            using (var db = new Dados.DB())
            {
                Dados.EtdCampos campo = db.Campo.Find(id);
                if (campo == null)
                {
                    throw new Exception("campo não localizado");
                }
                Dados.EtdFormulario form = db.Formulario.Where(p => p.Id == campo.IdFormulario).Include(p => p.Campos).FirstOrDefault();
                if (!up & form.Campos.Max(p => p.Ordem) == campo.Ordem)
                {
                    throw new Exception("o campo já é o último");
                }
                if (up & form.Campos.Min(p => p.Ordem) == campo.Ordem)
                {
                    throw new Exception("O campo já é o primeiro");
                }

                Dados.EtdCampos campoalvo = form.Campos.Where(p => p.Id == campo.Id).FirstOrDefault();
                Dados.EtdCampos campotroca;
                if (up)
                {
                    campotroca        = form.Campos.Where(p => p.Ordem == campo.Ordem - 1).FirstOrDefault();
                    campoalvo.Ordem  -= 1;
                    campotroca.Ordem += 1;
                }
                else
                {
                    campotroca        = form.Campos.Where(p => p.Ordem == campo.Ordem + 1).FirstOrDefault();
                    campoalvo.Ordem  += 1;
                    campotroca.Ordem -= 1;
                }
                db.Update(form);
                db.SaveChanges();
                return(JArray.FromObject(form.Campos.OrderBy(p => p.Ordem).ToList()));
            }
        }