示例#1
0
        public int Salvar()
        {
            var ret = 0;

            var model = RecuperarPeloId(this.Id);

            using (var db = new ContextoBD())
            {
                if (model == null)
                {
                    db.Usuarios.Add(this);
                }
                else
                {
                    db.Usuarios.Attach(this);
                    db.Entry(this).State = EntityState.Modified;

                    if (string.IsNullOrEmpty(this.Senha))
                    {
                        db.Entry(this).Property(x => x.Senha).IsModified = false;
                    }
                    else
                    {
                        this.Senha = CriptoHelper.HashMD5(this.Senha);
                    }
                }

                db.SaveChanges();
                ret = this.Id;
            }

            return(ret);
        }
示例#2
0
        public bool AlterarSenha(string novaSenha)
        {
            var ret = false;

            using (var db = new ContextoBD())
            {
                this.Senha = CriptoHelper.HashMD5(novaSenha);
                db.Usuarios.Attach(this);
                db.Entry(this).Property(x => x.Senha).IsModified = true;
                db.SaveChanges();
                //var sql = "UPDATE usuario set senha = @senha WHERE id = @id";
                //var parametros = new { id = this.Id, senha = CriptoHelper.HashMD5(novaSenha) };
                //ret = (db.Database.Connection.Execute(sql, parametros) > 0);
                //using (var comando = new SqlCommand())
                //{
                //    comando.Connection = conexao;
                //    comando.CommandText = "UPDATE usuario set senha = @senha WHERE id = @id";

                //    comando.Parameters.Add("@id", SqlDbType.Int).Value = this.Id;
                //    comando.Parameters.Add("@senha", SqlDbType.VarChar).Value = CriptoHelper.HashMD5(novaSenha);

                //    ret = (comando.ExecuteNonQuery() > 0);
                //}
            }
            return(ret);
        }
示例#3
0
        public int Salvar()
        {
            var ret = 0;

            var model = RecuperarPeloId(this.Id);

            using (var db = new ContextoBD())
            {
                if (model == null)
                {
                    db.Usuarios.Add(this);
                }
                else
                {
                    db.Usuarios.Attach(this);
                    db.Entry(this).State = EntityState.Modified;

                    // TODO: alterar ou não a senha
                }

                db.SaveChanges();
                ret = this.Id;
            }

            return(ret);
        }
        public static bool SalvarInventario(List <ItemInventarioViewModel> dados)
        {
            var ret = true;

            try
            {
                var data = DateTime.Now;

                using (var db = new ContextoBD())
                {
                    foreach (var produtoInventario in dados)
                    {
                        db.InventariosEstoque.Add(new InventarioEstoqueModel
                        {
                            Data                 = data,
                            IdProduto            = produtoInventario.IdProduto,
                            QuantidadeEstoque    = produtoInventario.QuantidadeEstoque,
                            QuantidadeInventario = produtoInventario.QuantidadeInventario,
                            Motivo               = produtoInventario.Motivo
                        });
                    }

                    db.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                ret = false;
            }

            return(ret);
        }
        public static bool ExcluirPeloId(int id)
        {
            var ret = false;

            if (RecuperarPeloId(id) != null)
            {
                using (var db = new ContextoBD())
                {
                    var estado = new EstadoModel {
                        Id = id
                    };
                    db.Estados.Attach(estado);
                    db.Entry(estado).State = EntityState.Deleted;
                    db.SaveChanges();
                    ret = true;
                }
            }
            return(ret);
            //using (var conexao = new SqlConnection())
            //{
            //    conexao.ConnectionString = ConfigurationManager.ConnectionStrings["principal"].ConnectionString;
            //    conexao.Open();
            //    var sql = "DELETE FROM estado WHERE (id = @id)";
            //    var parametros = new { id };
            //    ret = (conexao.Execute(sql, parametros) > 0);
            //using (var comando = new SqlCommand())
            //{
            //    comando.Connection = conexao;
            //    comando.CommandText = "DELETE FROM estado WHERE (id = @id)";

            //    comando.Parameters.Add("@id", SqlDbType.Int).Value = id;
            //    ret = (comando.ExecuteNonQuery() > 0);
            //}
            // }
        }
        public int Salvar()
        {
            var ret = 0;

            var model = RecuperarPeloId(this.Id);

            using (var db = new ContextoBD())
            {
                //conexao.ConnectionString = ConfigurationManager.ConnectionStrings["principal"].ConnectionString;
                //conexao.Open();

                if (model == null)
                {
                    db.LocaisArmazenamentos.Add(this);
                    //var sql = "INSERT INTO tb_locaisArmazenamentos (nome, ativo) VALUES (@nome, @ativo); SELECT CONVERT(INT, SCOPE_IDENTITY())";
                    //var parametros = new { nome = this.Nome, ativo = (this.Ativo ? 1 : 0) };
                    //ret = conexao.ExecuteScalar<int>(sql, parametros);
                }
                else
                {
                    db.LocaisArmazenamentos.Attach(this);
                    db.Entry(this).State = EntityState.Modified;
                    //var sql = "UPDATE tb_locaisArmazenamentos SET nome = @nome, ativo=@ativo WHERE id = @id";
                    //var parametros = new { nome = this.Nome, ativo = (this.Ativo ? 1 : 0), id = this.Id };
                    //if (conexao.Execute(sql, parametros) > 0)
                    //{
                    //    ret = this.Id;
                    //}
                }
                db.SaveChanges();
                ret = this.Id;
            }
            return(ret);
            //using (var comando = new SqlCommand())
            //{
            //    comando.Connection = conexao;

            //    if (model == null)
            //    {
            //        comando.CommandText = "INSERT INTO tb_locaisArmazenamentos (nome, ativo) VALUES (@nome, @ativo); SELECT CONVERT(INT, SCOPE_IDENTITY())";

            //        comando.Parameters.Add("@nome", SqlDbType.VarChar).Value = this.Nome;
            //        comando.Parameters.Add("@ativo", SqlDbType.VarChar).Value = (this.Ativo ? 1 : 0);
            //        ret = (int)comando.ExecuteScalar();
            //    }
            //    else
            //    {
            //        comando.CommandText = "UPDATE tb_locaisArmazenamentos SET nome = @nome, ativo=@ativo WHERE id = @id";

            //        comando.Parameters.Add("@nome", SqlDbType.VarChar).Value = this.Nome;
            //        comando.Parameters.Add("@ativo", SqlDbType.VarChar).Value = (this.Ativo ? 1 : 0);
            //        comando.Parameters.Add("@id", SqlDbType.Int).Value = this.Id;
            //        if (comando.ExecuteNonQuery() > 0)
            //        {
            //            ret = this.Id;
            //        }
            //    }
            //}
        }
        public static bool SalvarInventario(List <ItemInventarioViewModel> dados)
        {
            var ret = true;

            try
            {
                var data = DateTime.Now;

                using (var db = new ContextoBD())
                {
                    foreach (var produtoInventario in dados)
                    {
                        db.InventariosEstoques.Add(new InventarioEstoqueModel
                        {
                            Data                 = data,
                            IdProduto            = produtoInventario.IdProduto,
                            QuantidadeEstoque    = produtoInventario.QuantidadeEstoque,
                            QuantidadeInventario = produtoInventario.QuantidadeInventario,
                            Motivo               = produtoInventario.Motivo
                        });
                    }
                    db.SaveChanges();
                    //using (var transacao = db.Database.Connection.BeginTransaction())
                    //{
                    //    foreach (var produtoInventario in dados)
                    //    {
                    //        var sql = "insert into inventario_estoque (data, id_produto, " +
                    //            "quant_estoque, quant_inventario, motivo) values (@data, " +
                    //            "@id_produto, @quant_estoque, @quant_inventario, @motivo)";
                    //        var parametros = new
                    //        {
                    //            data,
                    //            id_produto = produtoInventario.IdProduto,
                    //            quant_estoque = produtoInventario.QuantidadeEstoque,
                    //            quant_inventario = produtoInventario.QuantidadeInventario,
                    //            motivo = produtoInventario.Motivo
                    //        };
                    //        //comando.Parameters.Add("@data", SqlDbType.DateTime).Value = data;
                    //        //comando.Parameters.Add("@id_produto", SqlDbType.Int).Value = produtoInventario.IdProduto;
                    //        //comando.Parameters.Add("@quant_estoque", SqlDbType.Int).Value = produtoInventario.QuantidadeEstoque;
                    //        //comando.Parameters.Add("@quant_inventario", SqlDbType.Int).Value = produtoInventario.QuantidadeInventario;
                    //        //comando.Parameters.Add("@motivo", SqlDbType.VarChar).Value = produtoInventario.Motivo ?? "";
                    //        ret = (db.Database.Connection.Execute(sql, parametros, transacao) > 0);
                    //        //comando.ExecuteNonQuery();
                    //    }
                    //    transacao.Commit();
                    //}
                }
            }
            catch (Exception ex)
            {
                ret = false;
            }
            return(ret);
        }
示例#8
0
        public int Salvar()
        {
            var ret = 0;

            using (var db = new ContextoBD())
            {
                var model = db.PerfisUsuarios
                            .Include(x => x.Usuarios)
                            .Where(x => x.Id == this.Id)
                            .SingleOrDefault();

                if (model == null)
                {
                    if (this.Usuarios != null && this.Usuarios.Count > 0)
                    {
                        foreach (var usuario in this.Usuarios)
                        {
                            db.Usuarios.Attach(usuario);
                            db.Entry(usuario).State = EntityState.Unchanged;
                        }
                    }

                    db.PerfisUsuarios.Add(this);
                }
                else
                {
                    model.Nome  = this.Nome;
                    model.Ativo = this.Ativo;

                    if (this.Usuarios != null)
                    {
                        foreach (var usuario in model.Usuarios.FindAll(x => !this.Usuarios.Exists(u => u.Id == x.Id)))
                        {
                            model.Usuarios.Remove(usuario);
                        }

                        foreach (var usuario in this.Usuarios.FindAll(x => x.Id > 0 && !model.Usuarios.Exists(u => u.Id == x.Id)))
                        {
                            db.Usuarios.Attach(usuario);
                            db.Entry(usuario).State = EntityState.Unchanged;
                            model.Usuarios.Add(usuario);
                        }
                    }
                }

                db.SaveChanges();
                ret = this.Id;
            }

            return(ret);
        }
        public bool AlterarSenha(string novaSenha)
        {
            var ret = false;

            using (var db = new ContextoBD())
            {
                this.Senha = CriptoHelper.HashMD5(novaSenha);
                db.Usuarios.Attach(this);
                db.Entry(this).Property(x => x.Senha).IsModified = true;
                db.SaveChanges();
            }

            return(ret);
        }
示例#10
0
        public static bool ExcluirPeloId(int id)
        {
            var ret = false;

            if (RecuperarPeloId(id) != null)
            {
                using (var db = new ContextoBD())
                {
                    var perfil = new PerfilModel { Id = id };
                    db.PerfisUsuarios.Attach(perfil);
                    db.Entry(perfil).State = EntityState.Deleted;
                    db.SaveChanges();
                    ret = true;
                }
            }

            return ret;
        }
示例#11
0
        public static bool ExcluirPeloId(int id)
        {
            var ret = false;

            if (RecuperarPeloId(id) != null)
            {
                using (var db = new ContextoBD())
                {
                    var unidadeMedida = new UnidadeMedidaModel {
                        Id = id
                    };
                    db.UnidadesMedidas.Attach(unidadeMedida);
                    db.Entry(unidadeMedida).State = EntityState.Deleted;
                    db.SaveChanges();
                    ret = true;
                }
            }
            return(ret);
        }
        public static bool ExcluirPeloId(int id)
        {
            var ret = false;

            if (RecuperarPeloId(id) != null)
            {
                using (var db = new ContextoBD())
                {
                    var produto = new ProdutoModel {
                        Id = id
                    };
                    db.Produtos.Attach(produto);
                    db.Entry(produto).State = EntityState.Deleted;
                    db.SaveChanges();
                    ret = true;
                }
            }
            return(ret);
        }
示例#13
0
        public int Salvar()
        {
            var ret = 0;

            var model = RecuperarPeloId(this.Id);

            using (var db = new ContextoBD())
            {
                if (model == null)
                {
                    db.PerfisUsuarios.Add(this);
                }
                else
                {
                    db.PerfisUsuarios.Attach(this);
                    db.Entry(this).State = EntityState.Modified;
                }

                // TODO: salva os usuários do perfil
                //if (this.Usuarios != null && this.Usuarios.Count > 0)
                //{
                //    var sql = "delete from perfil_usuario where (id_perfil = @id_perfil)";
                //    var parametros = new { id_perfil = this.Id };
                //    conexao.Execute(sql, parametros, transacao);

                //    if (this.Usuarios[0].Id != -1)
                //    {
                //        foreach (var usuario in this.Usuarios)
                //        {
                //            sql = "insert into perfil_usuario (id_perfil, id_usuario) values (@id_perfil, @id_usuario)";
                //            var parametrosUsuario = new { id_perfil = this.Id, id_usuario = usuario.Id };
                //            conexao.Execute(sql, parametrosUsuario, transacao);
                //        }
                //    }
                //}

                db.SaveChanges();
                ret = this.Id;
            }

            return ret;
        }
        public static bool ExcluirPeloId(int id)
        {
            var ret = false;

            if (RecuperarPeloId(id) != null)
            {
                using (var db = new ContextoBD())
                {
                    var fornecedor = new FornecedorModel {
                        Id = id
                    };
                    db.Fornecedores.Attach(fornecedor);
                    db.Entry(fornecedor).State = EntityState.Deleted;
                    db.SaveChanges();
                    ret = true;
                }
            }

            return(ret);
        }
示例#15
0
        public static bool ExcluirPeloId(int id)
        {
            var ret = false;

            if (RecuperarPeloId(id) != null)
            {
                using (var db = new ContextoBD())
                {
                    var local = new LocalArmazenamentoModel {
                        Id = id
                    };
                    db.LocaisArmazenamentos.Attach(local);
                    db.Entry(local).State = EntityState.Deleted;
                    db.SaveChanges();
                    ret = true;
                }
            }

            return(ret);
        }
        public int Salvar()
        {
            var ret = 0;

            var model = RecuperarPeloId(this.Id);

            using (var db = new ContextoBD())
            {
                if (model == null)
                {
                    db.MarcasProdutos.Add(this);
                }
                else
                {
                    db.MarcasProdutos.Attach(this);
                    db.Entry(this).State = EntityState.Modified;
                }
                db.SaveChanges();
                ret = this.Id;
            }
            return(ret);
        }
        public static bool SalvarLancamentoPerda(List <LancamentoPerdaViewModel> dados)
        {
            var ret = true;

            try
            {
                using (var db = new ContextoBD())
                {
                    foreach (var lanc in dados)
                    {
                        var inventario = db.InventariosEstoques.Find(lanc.Id);
                        inventario.Motivo = lanc.Motivo;
                    }
                    db.SaveChanges();
                }
            }
            catch (Exception e)
            {
                ret = false;
            }
            return(ret);
        }
        public int Salvar()
        {
            var ret = 0;

            var model = RecuperarPeloId(this.Id);

            using (var db = new ContextoBD())
            {
                //conexao.ConnectionString = ConfigurationManager.ConnectionStrings["principal"].ConnectionString;
                //conexao.Open();
                if (model == null)
                {
                    db.Fornecedores.Add(this);
                    //var sql = "INSERT INTO Fornecedor " +
                    //    "(nome, razao_social, num_documento, tipo, " +
                    //    "telefone, contato, logradouro, numero, " +
                    //    "complemento, cep, id_pais, id_estado, " +
                    //    "id_cidade, ativo) VALUES (@nome, @razao_social, " +
                    //    "@num_documento, @tipo, @telefone, @contato, @logradouro, " +
                    //    "@numero, @complemento, @cep, @id_pais, @id_estado, @id_cidade, " +
                    //    "@ativo); SELECT CONVERT(INT, SCOPE_IDENTITY())";
                    //var parametros = new
                    //{
                    //    nome = this.Nome,
                    //    razao_social = this.RazaoSocial ?? "",
                    //    num_documento = this.NumDocumento ?? "",
                    //    tipo = this.Tipo,
                    //    telefone = this.Telefone ?? "",
                    //    contato = this.Contato ?? "",
                    //    logradouro = this.Logradouro ?? "",
                    //    numero = this.Numero ?? "",
                    //    complemento = this.Complemento ?? "",
                    //    cep = this.Cep ?? "",
                    //    id_pais = this.IdPais,
                    //    id_estado = this.IdEstado,
                    //    id_cidade = this.IdCidade,
                    //    ativo = (this.Ativo ? 1 : 0)
                    //};
                    //ret = conexao.ExecuteScalar<int>(sql, parametros);
                }
                else
                {
                    db.Fornecedores.Attach(this);
                    db.Entry(this).State = EntityState.Modified;
                    //var sql = "UPDATE Fornecedor SET nome = @nome, " +
                    //    "razao_social=@razao_social, num_documento=@num_documento, " +
                    //    "tipo=@tipo, telefone=@telefone, contato=@contato, logradouro=@logradouro, " +
                    //    "numero=@numero, complemento=@complemento, cep=@cep, " +
                    //    "id_pais=@id_pais, id_estado=@id_estado, id_cidade=@id_cidade, " +
                    //    "ativo=@ativo WHERE id = @id";
                    //var parametros = new
                    //{
                    //    nome = this.Nome,
                    //    razao_social = this.RazaoSocial ?? "",
                    //    num_documento = this.NumDocumento ?? "",
                    //    tipo = this.Tipo,
                    //    telefone = this.Telefone ?? "",
                    //    contato = this.Contato ?? "",
                    //    logradouro = this.Logradouro ?? "",
                    //    numero = this.Numero ?? "",
                    //    complemento = this.Complemento ?? "",
                    //    cep = this.Cep ?? "",
                    //    id_pais = this.IdPais,
                    //    id_estado = this.IdEstado,
                    //    id_cidade = this.IdCidade,
                    //    ativo = (this.Ativo ? 1 : 0),
                    //    id = this.Id
                    //};

                    //if (conexao.Execute(sql, parametros) > 0)
                    //{
                    //    ret = this.Id;
                    //}
                    //using (var comando = new SqlCommand())
                    //{
                    //    comando.Connection = conexao;

                    //    if (model == null)
                    //    {
                    //        comando.CommandText = "INSERT INTO Fornecedor " +
                    //            "(nome, razao_social, num_documento, tipo, " +
                    //            "telefone, contato, logradouro, numero, " +
                    //            "complemento, cep, id_pais, id_estado, " +
                    //            "id_cidade, ativo) VALUES (@nome, @razao_social, " +
                    //            "@num_documento, @tipo, @telefone, @contato, @logradouro, " +
                    //            "@numero, @complemento, @cep, @id_pais, @id_estado, @id_cidade, " +
                    //            "@ativo); SELECT CONVERT(INT, SCOPE_IDENTITY())";
                    //        comando.Parameters.Add("@nome", SqlDbType.VarChar).Value = this.Nome;
                    //        comando.Parameters.Add("@razao_social", SqlDbType.VarChar).Value = this.RazaoSocial ?? "";
                    //        comando.Parameters.Add("@num_documento", SqlDbType.VarChar).Value = this.NumDocumento ?? "";
                    //        comando.Parameters.Add("@tipo", SqlDbType.Int).Value = this.Tipo;
                    //        comando.Parameters.Add("@telefone", SqlDbType.VarChar).Value = this.Telefone ?? "";
                    //        comando.Parameters.Add("@contato", SqlDbType.VarChar).Value = this.Contato ?? "";
                    //        comando.Parameters.Add("@logradouro", SqlDbType.VarChar).Value = this.Logradouro ?? "";
                    //        comando.Parameters.Add("@numero", SqlDbType.VarChar).Value = this.Numero ?? "";
                    //        comando.Parameters.Add("@complemento", SqlDbType.VarChar).Value = this.Complemento ?? "";
                    //        comando.Parameters.Add("@cep", SqlDbType.VarChar).Value = this.Cep ?? "";
                    //        comando.Parameters.Add("@id_pais", SqlDbType.Int).Value = this.IdPais;
                    //        comando.Parameters.Add("@id_estado", SqlDbType.Int).Value = this.IdEstado;
                    //        comando.Parameters.Add("@id_cidade", SqlDbType.Int).Value = this.IdCidade;
                    //        comando.Parameters.Add("@ativo", SqlDbType.VarChar).Value = (this.Ativo ? 1 : 0);
                    //        ret = (int)comando.ExecuteScalar();
                    //    }
                    //    else
                    //    {
                    //        comando.CommandText = "UPDATE Fornecedor SET nome = @nome, " +
                    //            "razao_social=@razao_social, num_documento=@num_documento, " +
                    //            "tipo=@tipo, telefone=@telefone, contato=@contato, logradouro=@logradouro, " +
                    //            "numero=@numero, complemento=@complemento, cep=@cep, " +
                    //            "id_pais=@id_pais, id_estado=@id_estado, id_cidade=@id_cidade, " +
                    //            "ativo=@ativo WHERE id = @id";

                    //        comando.Parameters.Add("@nome", SqlDbType.VarChar).Value = this.Nome;
                    //        comando.Parameters.Add("@razao_social", SqlDbType.VarChar).Value = this.RazaoSocial ?? "";
                    //        comando.Parameters.Add("@num_documento", SqlDbType.VarChar).Value = this.NumDocumento ?? "";
                    //        comando.Parameters.Add("@tipo", SqlDbType.Int).Value = this.Tipo;
                    //        comando.Parameters.Add("@telefone", SqlDbType.VarChar).Value = this.Telefone ?? "";
                    //        comando.Parameters.Add("@contato", SqlDbType.VarChar).Value = this.Contato ?? "";
                    //        comando.Parameters.Add("@logradouro", SqlDbType.VarChar).Value = this.Logradouro ?? "";
                    //        comando.Parameters.Add("@numero", SqlDbType.VarChar).Value = this.Numero ?? "";
                    //        comando.Parameters.Add("@complemento", SqlDbType.VarChar).Value = this.Complemento ?? "";
                    //        comando.Parameters.Add("@cep", SqlDbType.VarChar).Value = this.Cep ?? "";
                    //        comando.Parameters.Add("@id_pais", SqlDbType.Int).Value = this.IdPais;
                    //        comando.Parameters.Add("@id_estado", SqlDbType.Int).Value = this.IdEstado;
                    //        comando.Parameters.Add("@id_cidade", SqlDbType.Int).Value = this.IdCidade;
                    //        comando.Parameters.Add("@ativo", SqlDbType.VarChar).Value = (this.Ativo ? 1 : 0);
                    //        comando.Parameters.Add("@id", SqlDbType.Int).Value = this.Id;

                    //        if (comando.ExecuteNonQuery() > 0)
                    //        {
                    //            ret = this.Id;
                    //        }
                    //    }
                    //}
                }
                db.SaveChanges();
                ret = this.Id;
            }
            return(ret);
        }
示例#19
0
        public int Salvar()
        {
            var ret = 0;

            var model = RecuperarPeloId(this.Id);

            using (var db = new ContextoBD())
            {
                if (model == null)
                {
                    if (!string.IsNullOrEmpty(this.Senha))
                    {
                        this.Senha = CriptoHelper.HashMD5(this.Senha);
                    }
                    db.Usuarios.Add(this);
                    //var sql = "INSERT INTO Usuario (nome, login, senha, email) VALUES (@nome, @login, @senha, @email); SELECT CONVERT(INT, SCOPE_IDENTITY())";
                    //var parametros = new
                    //{
                    //    nome = this.Nome,
                    //    login = this.Login,
                    //    senha = CriptoHelper.HashMD5(this.Senha),
                    //    email = this.Email
                    //};
                    //ret = db.Database.Connection.ExecuteScalar<int>(sql, parametros);
                }
                else
                {
                    db.Usuarios.Attach(this);
                    db.Entry(this).State = EntityState.Modified;

                    if (string.IsNullOrEmpty(this.Senha))
                    {
                        db.Entry(this).Property(x => x.Senha).IsModified = false;
                    }
                    else
                    {
                        this.Senha = CriptoHelper.HashMD5(this.Senha);
                    }
                    //if (!string.IsNullOrEmpty(this.Senha))
                    //{
                    //    var sql =
                    //    "UPDATE Usuario SET nome = @nome, login = @login, email = @email" +
                    //    ", senha = @senha" +
                    //    " WHERE id = @id";

                    //    var parametros = new
                    //    {
                    //        nome = this.Nome,
                    //        login = this.Login,
                    //        senha = CriptoHelper.HashMD5(this.Senha),
                    //        email = this.Email
                    //    };
                    //    if (db.Database.Connection.Execute(sql, parametros) > 0)
                    //    {
                    //        ret = this.Id;
                    //    }
                    //}
                    //else
                    //{
                    //    var sql =
                    //    "UPDATE Usuario SET nome = @nome, login = @login, email = @email" +
                    //    " WHERE id = @id";

                    //    var parametros = new
                    //    {
                    //        nome = this.Nome,
                    //        login = this.Login,
                    //        senha = CriptoHelper.HashMD5(this.Senha),
                    //        email = this.Email
                    //    };
                    //    if (db.Database.Connection.Execute(sql, parametros) > 0)
                    //    {
                    //        ret = this.Id;
                    //    }
                    //}
                }
                db.SaveChanges();
                ret = this.Id;
                //using (var comando = new SqlCommand())
                //{
                //    comando.Connection = conexao;

                //    if (model == null)
                //    {
                //        comando.CommandText = "INSERT INTO Usuario (nome, login, senha, email) VALUES (@nome, @login, @senha, @email); SELECT CONVERT(INT, SCOPE_IDENTITY())";

                //        comando.Parameters.Add("@nome", SqlDbType.VarChar).Value = this.Nome;
                //        comando.Parameters.Add("@login", SqlDbType.VarChar).Value = this.Login;
                //        comando.Parameters.Add("@senha", SqlDbType.VarChar).Value = CriptoHelper.HashMD5(this.Senha);
                //        comando.Parameters.Add("@email", SqlDbType.VarChar).Value = this.Email;
                //        ret = (int)comando.ExecuteScalar();
                //    }
                //    else
                //    {
                //        comando.CommandText =
                //            "UPDATE Usuario SET nome = @nome, login = @login, email=@email" +
                //            (!string.IsNullOrEmpty(this.Senha) ? ", senha = @senha" : "") +
                //            " WHERE id = @id";

                //        comando.Parameters.Add("@nome", SqlDbType.VarChar).Value = this.Nome;
                //        comando.Parameters.Add("@login", SqlDbType.VarChar).Value = this.Login;
                //        comando.Parameters.Add("@email", SqlDbType.VarChar).Value = this.Email;

                //        if (!string.IsNullOrEmpty(this.Senha))
                //        {
                //            comando.Parameters.Add("@senha", SqlDbType.VarChar).Value = CriptoHelper.HashMD5(this.Senha);
                //        }

                //        comando.Parameters.Add("@id", SqlDbType.Int).Value = this.Id;

                //        if (comando.ExecuteNonQuery() > 0)
                //        {
                //            ret = this.Id;
                //        }
                //    }
                //}
            }
            return(ret);
        }
示例#20
0
        public int Salvar()
        {
            // Criar variável de retorno
            var ret = 0;

            // Criar variável para armazena o método RecuperarPeloId()
            //var model = RecuperarPeloId(this.Id);

            // Instânciar objeto para conexão com o banco de dados
            using (var db = new ContextoBD())
            {
                var model = db.Perfis
                            .Include(x => x.Usuarios)
                            .Where(x => x.Id == this.Id)
                            .SingleOrDefault();

                /* Se o model for nulo, ou seja, não retornou nada do método
                 * RecuperarPeloId(), insere registro
                 */
                if (model == null)
                {
                    if (this.Usuarios != null && this.Usuarios.Count > 0)
                    {
                        foreach (var usuario in this.Usuarios)
                        {
                            db.Usuarios.Attach(usuario);
                            db.Entry(usuario).State = EntityState.Unchanged;
                        }
                    }
                    db.Perfis.Add(this);
                }
                // Senão, altera o registro
                else
                {
                    model.Nome  = this.Nome;
                    model.Ativo = this.Ativo;

                    foreach (var usuario in model.Usuarios.FindAll(x => !this.Usuarios.Exists(u => u.Id == x.Id)))
                    {
                        model.Usuarios.Remove(usuario);
                    }
                    foreach (var usuario in this.Usuarios.FindAll(x => x.Id > 0 && !model.Usuarios.Exists(u => u.Id == x.Id)))
                    {
                        db.Usuarios.Attach(usuario);
                        db.Entry(usuario).State = EntityState.Unchanged;
                        model.Usuarios.Add(usuario);
                    }
                    //db.Perfis.Attach(this);
                    //db.Entry(this).State = EntityState.Modified;
                }
                // Salva as alterações feitas
                db.SaveChanges();
                ret = this.Id;

                // Se a lista de usuários não forem nulas e a contagem maior que 0 (zero)
                //if (this.Usuarios != null && this.Usuarios.Count > 0)
                //{
                //    // Passar a instrução SQL
                //    var sql = "delete from perfil_usuario where (id_perfil = @id_perfil)";

                //    // Passar o parâmetro
                //    var parametros = new { id_perfil = this.Id };

                //    // Executa a query
                //    db.Database.Connection.Execute(sql, parametros, transacao);

                //    // Se o primeiro usuário que vier na lista não tiver o ID igual a -1
                //    if (this.Usuarios[0].Id != -1)
                //    {
                //        /* Laço de repetição foreach
                //         * Criar variável para armazenar o que vier na lista de usuários
                //         */
                //        foreach (var usuario in this.Usuarios)
                //        {
                //            // Passar a instrução SQL
                //            sql = "insert into perfil_usuario (id_perfil, id_usuario) values (@id_perfil, @id_usuario)";

                //            // Passar os parâmetros
                //            var parametrosUsuarios = new { id_perfil = this.Id, id_usuario = usuario.Id };

                //            // Executa a query
                //            db.Database.Connection.Execute(sql, parametrosUsuarios, transacao);
                //        }
                //    }
                //}
            }
            // Retorna o que vier na variável de retorno
            return(ret);

            //if (model == null)
            //{
            //    // Passar a instrução SQL
            //    comando.CommandText = "insert into perfil (nome, ativo) values (@nome, @ativo); select convert(int, scope_identity())";

            //    // Passar os parâmetros
            //    comando.Parameters.Add("@nome", SqlDbType.VarChar).Value = this.Nome;
            //    comando.Parameters.Add("@ativo", SqlDbType.VarChar).Value = (this.Ativo ? 1 : 0);

            //    // Passar para a variável de retorno um valor escalar
            //    ret = (int)comando.ExecuteScalar();

            //    // Popula o ID com esse valor
            //    this.Id = ret;
            //}
            //// Senão, altera o registro
            //else
            //{
            //    // Passar a instrução SQL
            //    comando.CommandText = "update perfil set nome=@nome, ativo=@ativo where id = @id";

            //    // Passar os parâmetros
            //    comando.Parameters.Add("@nome", SqlDbType.VarChar).Value = this.Nome;
            //    comando.Parameters.Add("@ativo", SqlDbType.VarChar).Value = (this.Ativo ? 1 : 0);
            //    comando.Parameters.Add("@id", SqlDbType.Int).Value = this.Id;

            //    // Se o número de linha retornada é maior que 0 (zero)
            //    if (comando.ExecuteNonQuery() > 0)
            //    {
            //        // Popula a variável de retorno com o ID
            //        ret = this.Id;
            //    }
            //}

            //         Se a lista de usuários não forem nulas e a contagem maior que 0 (zero)
            //            if (this.Usuarios != null && this.Usuarios.Count > 0)
            //            {
            //    Instânciar objeto de comando para exclusão do perfil de usuário
            //    using (var comandoExclusaoPerfilUsuario = new SqlCommand())
            //    {
            //        Pasar a conexão
            //        comandoExclusaoPerfilUsuario.Connection = conexao;

            //        Passar a transação
            //        comandoExclusaoPerfilUsuario.Transaction = transacao;

            //        Passar a instrução SQL
            //        comandoExclusaoPerfilUsuario.CommandText = "delete from perfil_usuario where (id_perfil = @id_perfil)";

            //        Passar o parâmetro
            //        comandoExclusaoPerfilUsuario.Parameters.Add("@id_perfil", SqlDbType.Int).Value = this.Id;

            //        Executa a query retornando valor escalar
            //        comandoExclusaoPerfilUsuario.ExecuteScalar();
            //    }

            //    Se o primeiro usuário que vier na lista não tiver o ID igual a -1
            //    if (this.Usuarios[0].Id != -1)
            //    {
            //        /* Laço de repetição foreach
            //         * Criar variável para armazenar o que vier na lista de usuários
            //         */
            //        foreach (var usuario in this.Usuarios)
            //        {
            //            Instânciar objeto de comando para inclusão de perfil de usuário
            //            using (var usuarioInclusaoPerfilUsuario = new SqlCommand())
            //            {
            //                Passar a conexão
            //                usuarioInclusaoPerfilUsuario.Connection = conexao;

            //                Passar a transação
            //                usuarioInclusaoPerfilUsuario.Transaction = transacao;

            //                Passar a instrução SQL
            //                usuarioInclusaoPerfilUsuario.CommandText = "insert into perfil_usuario (id_perfil, id_usuario) values (@id_perfil, @id_usuario)";

            //                Passar os parâmetros
            //                usuarioInclusaoPerfilUsuario.Parameters.Add("@id_perfil", SqlDbType.Int).Value = this.Id;
            //                usuarioInclusaoPerfilUsuario.Parameters.Add("@id_usuario", SqlDbType.Int).Value = usuario.Id;

            //                Executa a query retornando valor escalar
            //                usuarioInclusaoPerfilUsuario.ExecuteScalar();
            //            }
            //        }
            //    }
            //}

            //Salva as alterações feitas
            //transacao.Commit();
            //}
            //}

            //             Retorna o que vier na variável de retorno
            //            return ret;
            //        }
            //}
            //}
        }