My user table (IdCargo) references the cargo table (IdCargo and Description) so that the Combobox presents the available positions to choose from.
However, when trying to save stops on line as pictured and informs the error message, my program is done in layers.
I would like the help of the community to solve this error. Note: My Position Object is an object within an object.
Thank you!
BLL = Business layer for insertion
public String Inserir(Usuario usuario)
{
try
{
acessoBancoDeDadosSqlServer.LimparParametros();
//acessoBancoDeDadosSqlServer.AdicionarParametros("@IdUsuario", usuario.IdUsuario);
acessoBancoDeDadosSqlServer.AdicionarParametros("@Nome", usuario.Nome);
acessoBancoDeDadosSqlServer.AdicionarParametros("@StatusUsu", usuario.StatusUsu);
acessoBancoDeDadosSqlServer.AdicionarParametros("@CPF", usuario.CPF);
//acessoBancoDeDadosSqlServer.AdicionarParametros("@DataCadastro", usuario.DataCadastro);
acessoBancoDeDadosSqlServer.AdicionarParametros("@LoginUsu", usuario.LoginUsu);
acessoBancoDeDadosSqlServer.AdicionarParametros("@Senha", usuario.Senha);
acessoBancoDeDadosSqlServer.AdicionarParametros("@ConfirmarSenha", usuario.ConfirmarSenha);
acessoBancoDeDadosSqlServer.AdicionarParametros("@IdCargo", usuario.Cargo.IdCargo);
String idUsuario = acessoBancoDeDadosSqlServer.ExecutarManipulacao(CommandType.StoredProcedure, "uspUsuarioInserir").ToString();
return idUsuario;
}
catch ( Exception exception )
{
return exception.Message;
}
DTO = Transfer Object
namespace ObjetoTransferencia
{
public class Usuario
{
public Int32 IdUsuario { get; set; }
public String Nome { get; set; }
public String CPF { get; set; }
public DateTime DataCadastro { get; set; }
public String LoginUsu { get; set; }
public String Senha { get; set; }
public String ConfirmarSenha { get; set; }
public Cargo Cargo { get; set; }
public Boolean StatusUsu { get; set; }
}
}
GUI = Presentation
private void toolStripSalvar_Click_1(object sender, EventArgs e)
{
Usuario usuario = new Usuario();
usuario.CPF = Convert.ToString(maskedTextBoxCpf.Text);
usuario.Nome = Convert.ToString(txtNome.Text).ToUpper();
usuario.LoginUsu = Convert.ToString(txtLogin.Text);
Cargo cargo = new Cargo();
usuario.Cargo.IdCargo = Convert.ToInt32(usuario.Cargo.IdCargo);
usuario.Cargo.Descricao = Convert.ToString(usuario.Cargo.Descricao);
usuario.Senha = Convert.ToString(txtSenha.Text);
usuario.ConfirmarSenha = Convert.ToString(txtConfirmarSenha.Text);
if ( radioButtonAtivo.Checked == true)
{
usuario.StatusUsu = true;
}
else
{
usuario.StatusUsu = false;
}
UsuarioNegocios usuarioNegocios = new UsuarioNegocios();
String retorno = usuarioNegocios.Inserir(usuario);
try
{
Int32 idUsuario = Convert.ToInt32(retorno);
MessageBox.Show("Usuário inserido com sucesso.\n\nCódigo: " + idUsuario.ToString(), "SUCESSO !", MessageBoxButtons.OK, MessageBoxIcon.Information);
AtualizarGrid();
}
catch
{
MessageBox.Show("Não foi possível inserir registro.\n\nDetalhes: " + retorno, "ERRO !", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}