/// <summary> /// grava um novo registro de funcionário /// </summary> private void CadastrarNovoFuncionario() { //abre a transação using (TransactionScope trans = new TransactionScope()) { try { //atribui os dados da página para o registro de funcionário e salva no banco Funcionario funcionario = new Funcionario(); funcionario.Nome = txtNome.Text.Trim(); funcionario.Endereco = txtEndereco.Text.Trim(); funcionario.CPF = txtCpf.Text.Trim(); funcionario.RG = txtRG.Text.Trim(); funcionario.Telefone = txtTelefone.Text.Trim(); funcionario.DataNascimento = DateTime.Parse(txtDataNascimento.Text.Trim()); funcionario.DataAdmissao = DateTime.Parse(txtDataContratacao.Text.Trim()); funcionario.NumeroCarteiraTrabalho = txtCarteiratrabalho.Text.Trim(); funcionario.Cargo = txtCargo.Text.Trim(); funcionario.CreateAndFlush(); if (txtSalario.Text.Trim() != string.Empty) { decimal valor = decimal.Parse(txtSalario.Text.Trim()); if (valor != 0) { //cria o registro do salário Salario salario = new Salario(); salario.InicioVigencia = DateTime.Parse(txtDataContratacao.Text.Trim()); salario.Vigente = true; salario.Valor = valor; salario.FuncionarioDoSalario = funcionario; salario.CreateAndFlush(); } } //commit da transação trans.VoteCommit(); } catch (Exception ex) { //rollback da transação trans.VoteRollBack(); //sobe o erro para o método que o chamou, onde será gravado em um arquivo de texto throw ex; } finally { //fecha a transasção trans.Flush(); } } }
/// <summary> /// funcionalidade de edição de um registro de funcionario /// </summary> /// <param name="id"></param> private void EditarFuncionario(int id) { //abre a transação using (TransactionScope trans = new TransactionScope()) { try { //consulta o funcionário pelo ID Funcionario funcionario = Funcionario.FindByPrimaryKey(id); //atribui os dados que estão na página funcionario.Nome = Request.Form["ctl00$ContentPlaceHolder1$txtNome"]; //txtNome.Text.Trim(); funcionario.Endereco = Request.Form["ctl00$ContentPlaceHolder1$txtEndereco"]; //txtEndereco.Text.Trim(); funcionario.CPF = Request.Form["ctl00$ContentPlaceHolder1$txtCpf"]; //txtCpf.Text.Trim(); funcionario.RG = Request.Form["ctl00$ContentPlaceHolder1$txtRG"]; //txtRG.Text.Trim(); funcionario.Telefone = Request.Form["ctl00$ContentPlaceHolder1$txtTelefone"]; //txtTelefone.Text.Trim(); funcionario.DataNascimento = DateTime.Parse(Request.Form["ctl00$ContentPlaceHolder1$txtDataNascimento"]); funcionario.DataAdmissao = DateTime.Parse(Request.Form["ctl00$ContentPlaceHolder1$txtDataContratacao"]); funcionario.NumeroCarteiraTrabalho = Request.Form["ctl00$ContentPlaceHolder1$txtCarteiratrabalho"];// txtCarteiratrabalho.Text.Trim(); funcionario.Cargo = Request.Form["ctl00$ContentPlaceHolder1$txtCargo"];// txtCargo.Text.Trim(); //atualiza o funcionário funcionario.UpdateAndFlush(); if (Request.Form["ctl00$ContentPlaceHolder1$txtSalario"].Trim() != string.Empty) { //verifica se tem salário e se houve alteração do valor decimal valor = decimal.Parse(Request.Form["ctl00$ContentPlaceHolder1$txtSalario"]); if (funcionario.SalarioVigente != null) { if (funcionario.SalarioVigente.Valor != valor) { //atribui o valor da salário funcionario.SalarioVigente.FinalVigencia = DateTime.Today; funcionario.SalarioVigente.Vigente = false; //atualiza o registro funcionario.SalarioVigente.UpdateAndFlush(); if (valor != 0) { Salario salario = new Salario(); salario.InicioVigencia = DateTime.Today; salario.Vigente = true; salario.Valor = valor; salario.FuncionarioDoSalario = funcionario; salario.CreateAndFlush(); } } } } else { if (funcionario.SalarioVigente != null) { funcionario.SalarioVigente.FinalVigencia = DateTime.Today; funcionario.SalarioVigente.Vigente = false; funcionario.SalarioVigente.UpdateAndFlush(); } } //commit da transação trans.VoteCommit(); } catch (Exception ex) { //rollback da transação trans.VoteRollBack(); throw ex; } finally { trans.Flush(); } } }
/// <summary> /// funcionalidade de edição de um registro de funcionario /// </summary> /// <param name="id"></param> private void EditarFuncionario(int id) { //abre a transação using (TransactionScope trans = new TransactionScope()) { try { //consulta o funcionário pelo ID Funcionario funcionario = Funcionario.FindByPrimaryKey(id); //atribui os dados que estão na página funcionario.Nome = Request.Form["ctl00$ContentPlaceHolder1$txtNome"]; //txtNome.Text.Trim(); funcionario.Endereco = Request.Form["ctl00$ContentPlaceHolder1$txtEndereco"]; //txtEndereco.Text.Trim(); funcionario.CPF = Request.Form["ctl00$ContentPlaceHolder1$txtCpf"]; //txtCpf.Text.Trim(); funcionario.RG = Request.Form["ctl00$ContentPlaceHolder1$txtRG"]; //txtRG.Text.Trim(); funcionario.Telefone = Request.Form["ctl00$ContentPlaceHolder1$txtTelefone"]; //txtTelefone.Text.Trim(); funcionario.DataNascimento = DateTime.Parse(Request.Form["ctl00$ContentPlaceHolder1$txtDataNascimento"]); funcionario.DataAdmissao = DateTime.Parse(Request.Form["ctl00$ContentPlaceHolder1$txtDataContratacao"]); funcionario.NumeroCarteiraTrabalho = Request.Form["ctl00$ContentPlaceHolder1$txtCarteiratrabalho"]; // txtCarteiratrabalho.Text.Trim(); funcionario.Cargo = Request.Form["ctl00$ContentPlaceHolder1$txtCargo"]; // txtCargo.Text.Trim(); //atualiza o funcionário funcionario.UpdateAndFlush(); if (Request.Form["ctl00$ContentPlaceHolder1$txtSalario"].Trim() != string.Empty) { //verifica se tem salário e se houve alteração do valor decimal valor = decimal.Parse(Request.Form["ctl00$ContentPlaceHolder1$txtSalario"]); if (funcionario.SalarioVigente != null) { if (funcionario.SalarioVigente.Valor != valor) { //atribui o valor da salário funcionario.SalarioVigente.FinalVigencia = DateTime.Today; funcionario.SalarioVigente.Vigente = false; //atualiza o registro funcionario.SalarioVigente.UpdateAndFlush(); if (valor != 0) { Salario salario = new Salario(); salario.InicioVigencia = DateTime.Today; salario.Vigente = true; salario.Valor = valor; salario.FuncionarioDoSalario = funcionario; salario.CreateAndFlush(); } } } } else { if (funcionario.SalarioVigente != null) { funcionario.SalarioVigente.FinalVigencia = DateTime.Today; funcionario.SalarioVigente.Vigente = false; funcionario.SalarioVigente.UpdateAndFlush(); } } //commit da transação trans.VoteCommit(); } catch (Exception ex) { //rollback da transação trans.VoteRollBack(); throw ex; } finally { trans.Flush(); } } }