/// <summary></summary> private void excluido() { // REMOVER CAMPOS // 1º - Remover na Tabela Opcoes var opcoes_rm = (from o in _context.Opcoes join co in _context.CamposOpcoes on o.Id equals co.OpcoesId join c in _context.Campos on co.CamposId equals c.Id join fc in _context.FormularioCampos on c.Id equals fc.CamposId where fc.FormularioId == _formulario.Id select o).ToList(); // 2º - Remover na Tabela CamposOpcoes var camposOpcoes_rm = (from co in _context.CamposOpcoes join c in _context.Campos on co.CamposId equals c.Id join fc in _context.FormularioCampos on c.Id equals fc.CamposId where fc.FormularioId == _formulario.Id select co).ToList(); _context.CamposOpcoes.RemoveRange(camposOpcoes_rm); _context.SaveChanges(); _context.Opcoes.RemoveRange(opcoes_rm); _context.SaveChanges(); // 3º - Remover na Tabela Campos var campos = (from c in _context.Campos join fc in _context.FormularioCampos on c.Id equals fc.CamposId where fc.FormularioId == _formulario.Id select c).ToList(); _context.Campos.RemoveRange(campos); _context.SaveChanges(); // 4º - RRemover na Tabela FormularioCampos var formulariosCampos = _context.FormularioCampos.Where(x => x.FormularioId == _formulario.Id).ToList(); _context.FormularioCampos.RemoveRange(formulariosCampos); _context.SaveChanges(); // 5º - Remover na Tabela EmpresaFormularios var empresaFormularios = _context.EmpresaFormularios.Where(x => x.FormularioId == _formulario.Id).ToList(); _context.EmpresaFormularios.RemoveRange(empresaFormularios); _context.SaveChanges(); //var local = this._context.Formulario.FirstOrDefault(x => x.Id == _formulario.Id); //// SOLUÇÃO PARA O PROBLEMA DE INSTANCIA DUPLICADA //this._context.Entry(local).State = EntityState.Detached; //this._context.Entry(_formulario).State = EntityState.Deleted; // 6º - Remover na Tabela Formulario this._context.Formulario.Remove(_formulario); this._context.SaveChanges(); }
public void excluir() { var usuarioId = this._cadastroUsuarioDTO.Id; var empresaId = this._cadastroUsuarioDTO.IdEmpresaSelecionada; var usuarioEmpresa = _context.UsuarioEmpresa.Where(ue => ue.UsuarioId.Equals(usuarioId) && ue.EmpresaId.Equals(empresaId)).FirstOrDefault(); if (usuarioEmpresa != null) { var qtd = _context.UsuarioEmpresa.Where(ue => ue.UsuarioId.Equals(usuarioId)).Count(); if (qtd > 1) { _context.UsuarioEmpresa.Remove(usuarioEmpresa); _context.SaveChanges(); } else { var usuario = new Usuario() { Id = _cadastroUsuarioDTO.Id }; var isAuditoria = _context.Auditoria.Where(x => x.UsuarioId.Equals(usuario.Id)).Count(); if (isAuditoria > 1) { usuario.Status = 0; _context.Usuario.Update(usuario); _context.SaveChanges(); } else { _context.Usuario.Remove(usuario); _context.SaveChanges(); } } } }
/// <summary>Commit do Regitsro</summary> /// <returns></returns> public bool SaveChanges() { return(_context.SaveChanges() > 0); }
private void editarFormularioBaseDto(FormularioDTO formularioDTO) { var formulario = _context.Formulario.Where(x => x.Id == formularioDTO.Id).FirstOrDefault(); formulario.Nome = formularioDTO.Nome; this._context.Formulario.Update(formulario); this._context.SaveChanges(); // REMOVER CAMPOS // 1º - REMOVER NA TABELA CamposOpcoes var camposOpcoes_rm = (from co in _context.CamposOpcoes join c in _context.Campos on co.CamposId equals c.Id join fc in _context.FormularioCampos on c.Id equals fc.CamposId where fc.FormularioId == formulario.Id select co).ToList(); // 2º - REMOVER NA TABELA CamposOpcoes var opcoes_rm = (from o in _context.Opcoes join co in _context.CamposOpcoes on o.Id equals co.OpcoesId join c in _context.Campos on co.CamposId equals c.Id join fc in _context.FormularioCampos on c.Id equals fc.CamposId where fc.FormularioId == formulario.Id select o).ToList(); _context.CamposOpcoes.RemoveRange(camposOpcoes_rm); _context.SaveChanges(); _context.Opcoes.RemoveRange(opcoes_rm); _context.SaveChanges(); // 3º - REMOVER NA TABELA Campos var campos = (from c in _context.Campos join fc in _context.FormularioCampos on c.Id equals fc.CamposId where fc.FormularioId == formulario.Id select c).ToList(); _context.Campos.RemoveRange(campos); _context.SaveChanges(); // 4º - REMOVER NA TABELA FormularioCampos var formulariosCampos = _context.FormularioCampos.Where(x => x.FormularioId == formulario.Id).ToList(); _context.FormularioCampos.RemoveRange(formulariosCampos); _context.SaveChanges(); // 5º - ADICIONAR NA TABELA Opcoes foreach (CamposDTO item in formularioDTO.CamposDTO) { Campos campo = new Campos(item.Value, item.Key, item.Label, item.Required, item.Order, item.ControlType, item.Type, item.Mask, item.Placeholder); this._context.Campos.Add(campo); this._context.SaveChanges(); var formularioCampos = new FormularioCampos(); formularioCampos.FormularioId = formulario.Id; formularioCampos.CamposId = campo.Id; this._context.FormularioCampos.Add(formularioCampos); this._context.SaveChanges(); foreach (Opcoes opcao in item.Options) { Opcoes opcoes = new Opcoes(opcao.Key, opcao.Value); this._context.Opcoes.Add(opcoes); this._context.SaveChanges(); // 5º - ADICIONAR NA TABELA CamposOpcoes CamposOpcoes camposOpcoes = new CamposOpcoes(campo.Id, opcoes.Id); this._context.CamposOpcoes.Add(camposOpcoes); this._context.SaveChanges(); } } }