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())); } }
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())); } }
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())); } }