/// <summary> /// Inserta nuevo Cliente a la base de datos /// </summary> /// <param name="cliente"></param> public static void Insert(Cliente cliente) { Methods.GenerateLogsDebug("ClienteDal", "Insertar", string.Format("{0} Info: {1}", DateTime.Now.ToLongDateString(), "Empezando a ejecutar el metodo acceso a datos para Insertar un paciente")); //List<SqlCommand> commands = new List<SqlCommand>(); SqlCommand command = null; // Proporcionar la cadena de consulta string queryString = @"INSERT INTO Cliente(IdPersona, Nit, Razon, FechaRegistro) VALUES(@idPersona, @nit, @razon, @fechaRagistro)"; try { //Registro Usuario UsuarioDal.Insertar(cliente.Usuario); cliente.Usuario.IdUsuario = Methods.GetActIDTable("Usuario"); //Registro Persona Persona persona = cliente; PersonaDal.Insertar(persona); cliente.IdPersona = Methods.GetActIDTable("Persona"); //Registro Cliente command = Methods.CreateBasicCommand(queryString); command.Parameters.AddWithValue("@idPersona", cliente.IdPersona); command.Parameters.AddWithValue("@nit", cliente.Nit); command.Parameters.AddWithValue("@razon", cliente.Razon); command.Parameters.AddWithValue("@fechaRagistro", DateTime.Now); Methods.ExecuteBasicCommand(command); foreach (Telefono telefono in cliente.Telefonos) { TelefonoDal.Insertar(telefono, cliente.IdPersona); } foreach (Direccion direccion in cliente.Direcciones) { DireccionDal.Insertar(direccion, cliente.IdPersona); } foreach (Correo correo in cliente.Correos) { CorreoDal.Insertar(correo, cliente.IdPersona); } //Methods } catch (SqlException ex) { Methods.GenerateLogsRelease("ClienteDal", "Insertar", string.Format("{0} {1} Error: {2}", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString(), ex.Message)); throw ex; } catch (Exception ex) { Methods.GenerateLogsRelease("ClienteDal", "Insertar", string.Format("{0} {1} Error: {2}", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString(), ex.Message)); throw ex; } Methods.GenerateLogsDebug("ClienteDal", "Insertar", string.Format("{0} {1} Info: {2}", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString(), "Termino de ejecutar el metodo acceso a datos para insertar un Cliente")); }
/// <summary> /// Obtiene Lista de Personal /// </summary> /// <returns>Lista de Objetos Personal</returns> public static List <Personal> GetList() { List <Personal> res = new List <Personal>(); SqlCommand cmd = null; SqlDataReader dr = null; string query = @"SELECT * FROM Personal INNER JOIN Persona ON Personal.IdPersona = Persona.IdPersona WHERE Persona.Borrado = 0"; try { cmd = Methods.CreateBasicCommand(query); dr = Methods.ExecuteDataReaderCommand(cmd); while (dr.Read()) { int idPersona = dr.GetInt32(0); Persona persona = PersonaDal.Get(idPersona); res.Add(new Personal() { IdPersona = idPersona, Ci = persona.Ci, Nombre = persona.Nombre, PrimerApellido = persona.PrimerApellido, SegundoApellido = persona.SegundoApellido, Sexo = persona.Sexo, FechaNacimiento = persona.FechaNacimiento, Correos = persona.Correos, Usuario = persona.Usuario, Direcciones = persona.Direcciones, Telefonos = persona.Telefonos, Borrado = persona.Borrado, CodPersonal = dr.GetString(1), FechaIngreso = dr.GetDateTime(2), Cargo = CargoDal.Get(dr.GetInt32(3)), Sueldo = dr.GetDecimal(4) }); } } catch (SqlException ex) { Methods.GenerateLogsRelease("PersonalDal", "ObtenerLista", ex.Message + " " + ex.StackTrace); throw ex; } catch (Exception ex) { Methods.GenerateLogsRelease("PersonalDal", "ObtenerLista", ex.Message + " " + ex.StackTrace); throw ex; } finally { cmd.Connection.Close(); } return(res); }
/// <summary> /// Actualiza un Cliente de la base de datos /// </summary> /// <param name="cliente"></param> public static void Actualizar(Cliente cliente) { Methods.GenerateLogsDebug("ClienteDal", "Actualizar", string.Format("{0} Info: {1}", DateTime.Now.ToLongDateString(), "Empezando a ejecutar el metodo acceso a datos para Actualizar un Cliente")); SqlCommand command = null; // Proporcionar la cadena de consulta string queryString = @"UPDATE Cliente SET Nit=@nit, Razon=@razon WHERE @IdPersona=@idPersona"; try { //Actualiza Usuario UsuarioDal.Actualizar(cliente.Usuario); //Actualiza Persona Persona persona = cliente; PersonaDal.Actualizar(persona); //Actualiza Cliente command = Methods.CreateBasicCommand(queryString); command.Parameters.AddWithValue("@nit", cliente.Nit); command.Parameters.AddWithValue("@razon", cliente.Razon); command.Parameters.AddWithValue("@idPersona", cliente.IdPersona); Methods.ExecuteBasicCommand(command); //Actualiza Correos foreach (Correo correo in cliente.Correos) { CorreoDal.Actualizar(correo); } //Actualiza Telefonos foreach (Telefono telefono in cliente.Telefonos) { TelefonoDal.Actualizar(telefono); } //Actuliza Direcciones foreach (Direccion direccion in cliente.Direcciones) { DireccionDal.Actualizar(direccion); } } catch (SqlException ex) { Methods.GenerateLogsRelease("ClienteDal", "Actualizar", string.Format("{0} {1} Error: {2}", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString(), ex.Message)); throw ex; } catch (Exception ex) { Methods.GenerateLogsRelease("ClienteDal", "Actualizar", string.Format("{0} {1} Error: {2}", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString(), ex.Message)); throw ex; } Methods.GenerateLogsDebug("ClienteDal", "Insertar", string.Format("{0} {1} Info: {2}", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString(), "Termino de ejecutar el metodo acceso a datos para Actualizar un paciente")); }
/// <summary> /// Obtiene la informacion de un personal /// </summary> /// <param name="id">identificador del personal </param> /// <returns></returns> public static Personal Get(int id) { Personal res = new Personal(); SqlCommand cmd = null; SqlDataReader dr = null; string query = "SELECT * FROM Personal WHERE IdPersona = @id"; try { cmd = Methods.CreateBasicCommand(query); cmd.Parameters.AddWithValue("@id", id); dr = Methods.ExecuteDataReaderCommand(cmd); while (dr.Read()) { res = new Personal() { IdPersona = dr.GetInt32(0), CodPersonal = dr.GetString(1), FechaIngreso = dr.GetDateTime(2), Cargo = CargoDal.Get(dr.GetInt32(3)), Sueldo = dr.GetDecimal(4) }; } Persona persona = PersonaDal.Get(res.IdPersona); res.Ci = persona.Ci; res.Nombre = persona.Nombre; res.PrimerApellido = persona.PrimerApellido; res.SegundoApellido = persona.SegundoApellido; res.Sexo = persona.Sexo; res.FechaNacimiento = persona.FechaNacimiento; res.Usuario = persona.Usuario; res.Borrado = persona.Borrado; res.Correos = CorreoDal.GetList(res.IdPersona); res.Telefonos = TelefonoDal.GetList(res.IdPersona); res.Direcciones = DireccionDal.GetList(res.IdPersona); } catch (Exception ex) { Methods.GenerateLogsRelease("PersonalDal", "Obtener", string.Format("{0} {1} Error: {2}", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString(), ex.Message)); throw ex; } finally { cmd.Connection.Close(); } return(res); }
/// <summary> /// Actualiza los datos del personal en la base de datos /// </summary> /// <param name="personal"></param> public static void Actualizar(Personal personal) { Methods.GenerateLogsDebug("PersonalDal", "Actualizar", string.Format("{0} Info: {1}", DateTime.Now.ToLongDateString(), "Empezando a ejecutar el metodo acceso a datos para Actualizar un personal")); SqlCommand command = null; //realizar la consulta de actualiza a personal Persona persona = personal; PersonaDal.Actualizar(persona); // Proporcionar la cadena de consulta string queryString = @"UPDATE Personal SET CodPersonal=@codPersonal, FechaIngreso=@fechaIngreso, Cargo=@cargo, Sueldo=@sueldo WHERE IdPersona=@idPersona"; try { command = Methods.CreateBasicCommand(queryString); command.Parameters.AddWithValue("@codPersonal", personal.CodPersonal); command.Parameters.AddWithValue("@fechaIngreso", personal.FechaIngreso); command.Parameters.AddWithValue("@cargo", personal.Cargo.IdCargo); command.Parameters.AddWithValue("@sueldo", personal.Sueldo); command.Parameters.AddWithValue("@idPersona", personal.IdPersona); Methods.ExecuteBasicCommand(command); } catch (SqlException ex) { Methods.GenerateLogsRelease("PersonalDal", "Actualizar", string.Format("{0} {1} Error: {2}", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString(), ex.Message)); throw ex; } catch (Exception ex) { Methods.GenerateLogsRelease("PersonalDal", "Actualizar", string.Format("{0} {1} Error: {2}", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString(), ex.Message)); throw ex; } Methods.GenerateLogsDebug("PersonalDal", "Actualizar", string.Format("{0} {1} Info: {2}", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString(), "Termino de ejecutar el metodo acceso a datos para Actualizar un personal")); }
public static void Insertar(Personal personal) { Methods.GenerateLogsDebug("PersonalDal", "InsertarPersonal", string.Format("{0} Info: {1}", DateTime.Now.ToLongDateString(), "Empezando a ejecutar el metodo acceso a datos para crear un personal")); SqlCommand command = null; SqlTransaction trans = null; //Consulta para insertar datos de personal string queryString = @"INSERT INTO Personal(IdPersona, CodPersonal, FechaIngreso, Cargo, Sueldo) VALUES (@idPersona ,@codPersonal, @fechaIngreso, @cargo, @sueldo)"; SqlConnection conexion = Methods.ObtenerConexion(); try { conexion.Open(); SqlCommand usuarioInsertcmd = UsuarioDal.InsertarOUTPUT(personal.Usuario); //Inicio de Conexion a la Base de Datos trans = conexion.BeginTransaction(); usuarioInsertcmd.Connection = conexion; usuarioInsertcmd.Transaction = trans; personal.Usuario.IdUsuario = Convert.ToInt32(usuarioInsertcmd.ExecuteScalar()); Persona persona = personal; SqlCommand personaInsertcmd = PersonaDal.InsertarOUTPUT(persona); personaInsertcmd.Connection = conexion; personaInsertcmd.Transaction = trans; personal.IdPersona = Convert.ToInt32(personaInsertcmd.ExecuteScalar()); // Creacion de Personal Commando y ejecutado command = new SqlCommand(queryString); command.Parameters.AddWithValue("@idPersona", personal.IdPersona); command.Parameters.AddWithValue("@codPersonal", personal.CodPersonal); command.Parameters.AddWithValue("@fechaIngreso", personal.FechaIngreso); command.Parameters.AddWithValue("@cargo", personal.Cargo.IdCargo); command.Parameters.AddWithValue("@sueldo", personal.Sueldo); command.Connection = conexion; command.Transaction = trans; command.ExecuteNonQuery(); //Insertar telefonos foreach (Telefono telf in personal.Telefonos) { SqlCommand telfcmd = TelefonoDal.InsertarOUTPUT(telf, personal.IdPersona); telfcmd.Connection = conexion; telfcmd.Transaction = trans; telfcmd.ExecuteNonQuery(); } //Insertar direcciones foreach (Direccion direc in personal.Direcciones) { SqlCommand direccmd = DireccionDal.InsertarOUTPUT(direc, personal.IdPersona); direccmd.Connection = conexion; direccmd.Transaction = trans; direccmd.ExecuteNonQuery(); } //Insertar correos foreach (Correo correo in persona.Correos) { SqlCommand correocmd = CorreoDal.InsertarOUTPUT(correo, personal.IdPersona); correocmd.Connection = conexion; correocmd.Transaction = trans; correocmd.ExecuteNonQuery(); } trans.Commit(); } catch (SqlException ex) { trans.Rollback(); Methods.GenerateLogsRelease("PersonalDal", "InsertarPersonal", string.Format("{0} {1} Error: {2}", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString(), ex.Message)); throw ex; } catch (Exception ex) { trans.Rollback(); Methods.GenerateLogsRelease("PersonalDal", "InsertarPersonal", string.Format("{0} {1} Error: {2}", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString(), ex.Message)); throw ex; } finally { conexion.Close(); } Methods.GenerateLogsDebug("PersonalDal", "InsertarPersonal", string.Format("{0} {1} Info: {2}", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString(), "Termino de ejecutar el metodo acceso a datos para insertar un personal")); }
//Eliminado logico de Personal public static void Eliminar(int id) { PersonaDal.Eliminar(id); Methods.GenerateLogsDebug("PersonalDal", "Eliminar", string.Format("{0} {1} Info: {2}", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString(), "Termino de ejecutar el metodo acceso a datos para insertar un personal")); }
public static void Insertar(Cliente cliente) { Methods.GenerateLogsDebug("ClienteDal", "InsertarCliente", string.Format("{0} Info: {1}", DateTime.Now.ToLongDateString(), "Empezando a ejecutar el metodo acceso a datos para crear un Cliente")); SqlCommand command = null; SqlTransaction trans = null; //Consulta para insertar datos de Cliente string queryString = @"INSERT INTO Cliente(IdPersona, Nit, Razon, FechaRegistro) VALUES(@idPersona, @nit, @razon, @fechaRagistro)"; SqlConnection conexion = Methods.ObtenerConexion(); try { conexion.Open(); SqlCommand usuarioInsertcmd = UsuarioDal.InsertarOUTPUT(cliente.Usuario); //Inicio de Conexion a la Base de Datos trans = conexion.BeginTransaction(); usuarioInsertcmd.Connection = conexion; usuarioInsertcmd.Transaction = trans; cliente.Usuario.IdUsuario = Convert.ToInt32(usuarioInsertcmd.ExecuteScalar()); Persona persona = cliente; SqlCommand personaInsertcmd = PersonaDal.InsertarOUTPUT(persona); personaInsertcmd.Connection = conexion; personaInsertcmd.Transaction = trans; cliente.IdPersona = Convert.ToInt32(personaInsertcmd.ExecuteScalar()); // Creacion de Cliente Commando y ejecutado command = new SqlCommand(queryString); command.Parameters.AddWithValue("@idPersona", cliente.IdPersona); command.Parameters.AddWithValue("@nit", cliente.Nit); command.Parameters.AddWithValue("@razon", cliente.Razon); command.Parameters.AddWithValue("@fechaRagistro", DateTime.Now); command.Connection = conexion; command.Transaction = trans; command.ExecuteNonQuery(); //Insertar telefonos foreach (Telefono telf in cliente.Telefonos) { SqlCommand telfcmd = TelefonoDal.InsertarOUTPUT(telf, cliente.IdPersona); telfcmd.Connection = conexion; telfcmd.Transaction = trans; telfcmd.ExecuteNonQuery(); } //Insertar direcciones foreach (Direccion direc in cliente.Direcciones) { SqlCommand direccmd = DireccionDal.InsertarOUTPUT(direc, cliente.IdPersona); direccmd.Connection = conexion; direccmd.Transaction = trans; direccmd.ExecuteNonQuery(); } //Insertar correos foreach (Correo correo in persona.Correos) { SqlCommand correocmd = CorreoDal.InsertarOUTPUT(correo, cliente.IdPersona); correocmd.Connection = conexion; correocmd.Transaction = trans; correocmd.ExecuteNonQuery(); } trans.Commit(); } catch (SqlException ex) { trans.Rollback(); Methods.GenerateLogsRelease("ClienteDal", "InsertarCliente", string.Format("{0} {1} Error: {2}", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString(), ex.Message)); throw ex; } catch (Exception ex) { trans.Rollback(); Methods.GenerateLogsRelease("ClienteDal", "InsertarCliente", string.Format("{0} {1} Error: {2}", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString(), ex.Message)); throw ex; } finally { conexion.Close(); } Methods.GenerateLogsDebug("ClienteDal", "InsertarCliente", string.Format("{0} {1} Info: {2}", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString(), "Termino de ejecutar el metodo acceso a datos para insertar un Cliente")); }