示例#1
0
 public JArray Lista()
 {
     using (var db = new Dados.DB())
     {
         return(JArray.FromObject(db.Formulario.ToList()));
     }
 }
示例#2
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()));
     }
 }
示例#3
0
        public JObject GravaPreenchimento([FromBody] JObject preenchimento)
        {
            using (var db = new Dados.DB())
            {
                int?    id       = preenchimento["Id"]?.ToObject <int>();
                JObject conteudo = (JObject)preenchimento["Conteudo"];
                if (id == null || conteudo == null)
                {
                    throw new Exception("valores de preencimento incorretos");
                }
                var formulario = db.Formulario.Find(id);
                if (formulario == null)
                {
                    throw new Exception("id do formulário não localizado");
                }

                Dados.EtdPreenchimento form = new Dados.EtdPreenchimento();
                form.IdFormulario    = (int)id;
                form.Hora            = DateTime.Now;
                form.IP              = Request.HttpContext.Connection.RemoteIpAddress.ToString();
                form.Preenchimento   = conteudo.ToString();
                db.Entry(form).State = EntityState.Added;
                db.SaveChanges();
                JObject retorno = JObject.FromObject(form);
                retorno["Formulario"] = JObject.FromObject(formulario);
                return(retorno);
            }
        }
示例#4
0
        public JObject Ultimos100(int id)
        {
            JObject retorno = new JObject();

            using (var db = new Dados.DB())
            {
                var formulario = db.Formulario.Where(p => p.Id == id).Include(p => p.Campos).FirstOrDefault();
                if (formulario == null)
                {
                    throw new Exception("formulário não localizado");
                }
                System.Text.StringBuilder sql = new System.Text.StringBuilder();
                sql.Append("select id, hora, ip ");

                JArray colunas = new JArray();
                colunas.Add(JObject.Parse("{'header':'Id', 'field':'id'}"));
                colunas.Add(JObject.Parse("{'header':'Hora', 'field':'hora'}"));
                colunas.Add(JObject.Parse("{'header':'IP', 'field':'ip'}"));
                foreach (Dados.EtdCampos campo in formulario.Campos.OrderBy(p => p.Ordem))
                {
                    JObject coluna = new JObject();
                    coluna["header"] = campo.Nome;
                    coluna["field"]  = campo.NomeUtil;
                    colunas.Add(coluna);
                    sql.AppendFormat(", preenchimento->\'{0}\' as \"{1}\"", campo.NomeUtil, campo.Nome);
                }

                sql.Append(" from preenchimento order by id desc limit 100");
                retorno["sql"]        = sql.ToString();
                retorno["colunas"]    = colunas;
                retorno["formulario"] = JObject.FromObject(formulario);
                var    valores = db.Preenchimento.Where(p => p.IdFormulario == id).OrderByDescending(p => p.Id).Take(100);
                JArray linhas  = new JArray();
                foreach (var vlr in valores)
                {
                    JObject linha = new JObject();
                    linha["id"]   = vlr.Id;
                    linha["hora"] = vlr.Hora;
                    linha["ip"]   = vlr.IP;
                    JObject valcolunas = JObject.Parse(vlr.Preenchimento);
                    foreach (var campo in formulario.Campos)
                    {
                        try
                        {
                            linha[campo.NomeUtil] = valcolunas[campo.NomeUtil];
                        }
                        catch (Exception ex)
                        {
                        }
                    }
                    linhas.Add(linha);
                }
                retorno["dados"] = linhas;


                return(retorno);
            }
        }
示例#5
0
 public JObject Busca(int id)
 {
     using (var db = new Dados.DB())
     {
         Dados.EtdFormulario localizado = db.Formulario.Where(p => p.Id == id).Include(p => p.Campos).FirstOrDefault();
         if (localizado == null)
         {
             throw new Exception("Formulário não localizado");
         }
         localizado.Campos = localizado.Campos.OrderBy(p => p.Ordem).ToList();
         return(JObject.FromObject(localizado));
     }
 }
示例#6
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()));
     }
 }
示例#7
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()));
            }
        }
示例#8
0
 public JObject Grava([FromBody] Dados.EtdFormulario item)
 {
     using (var db = new Dados.DB())
     {
         if (item.Id == 0)
         {
             db.Entry(item).State = EntityState.Added;
             db.SaveChanges();
             return(JObject.FromObject(item));
         }
         else
         {
             var localizado = db.Formulario.Find(item.Id);
             if (localizado == null)
             {
                 throw new Exception("Formulário não localizado");
             }
             localizado.Nome = item.Nome;
             db.Update(localizado);
             db.SaveChanges();
             return(JObject.FromObject(localizado));
         }
     }
 }