public int Gravar(Funcionario funcionario)
 {
     if (funcionario.Nome != "" && funcionario.Sobrenome != "")
     {
         return new FuncionarioBD().Gravar(funcionario);
     }
     else
         return -1;
 }
        protected void btnGravar_Click(object sender, EventArgs e)
        {
            if (txtNome.Text.Trim() != "")
            {
                string[] nome = txtNome.Text.Split(' ');
                Funcionario f = new Funcionario();
                f.Nome = nome[0];
                f.Sobrenome = nome[nome.Length - 1];
                f.Cargo = txtCargo.Text;
                f.Pais = txtPais.Text;

                FuncionarioController cFuncionario = new FuncionarioController();
                List<Territorio> territorios = new List<Territorio>();
                foreach (string t in ucRegiaoTerritorios.CodigosTerritorios)
                    territorios.Add(new TerritorioController().Obter(t));

                f.Territorios = territorios;
                if (cFuncionario.Gravar(f) > 0)
                    btnCancelar_Click(null, null);
            }
        }
Exemplo n.º 3
0
        internal int Gravar(Funcionario funcionario)
        {
            ComandoSQL.Parameters.Clear();
            ComandoSQL.CommandText = @"insert into Employees (FirstName, LastName, Title, Country)
                    values (@nome, @sobrenome, @cargo, @pais);select @@IDENTITY";
            ComandoSQL.Parameters.AddWithValue("@nome", funcionario.Nome);
            ComandoSQL.Parameters.AddWithValue("@sobrenome", funcionario.Sobrenome);
            ComandoSQL.Parameters.AddWithValue("@cargo", funcionario.Cargo);
            ComandoSQL.Parameters.AddWithValue("@pais", funcionario.Pais);

            if (funcionario.Territorios == null || funcionario.Territorios.Count == 0)
                return ExecutaComando(false);
            else
            {
                int retorno = 1;
                int codigoFuncionario = 0;
                if (ExecutaComando(true, out codigoFuncionario) > 0)
                {
                    foreach (Territorio t in funcionario.Territorios)
                    {
                        ComandoSQL.Parameters.Clear();
                        ComandoSQL.CommandText = @"insert into EmployeeTerritories (EmployeeID, TerritoryID)
                                    values (@funcionario, @territorio)";
                        ComandoSQL.Parameters.AddWithValue("@funcionario", codigoFuncionario);
                        ComandoSQL.Parameters.AddWithValue("@territorio", t.Id);
                        if (ExecutaComando(true) <= 0)
                        {
                            FinalizaTransacao(false);
                            retorno = 0;
                            break;
                        }
                    }
                    if (retorno == 1)
                        FinalizaTransacao(true);
                    return retorno;
                }
                else
                    return -1;
            }
        }