/// <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> /// Obtener Lista de Clientes /// </summary> /// <param name="page"></param> /// <param name="pageSize"></param> /// <returns></returns> public static ClienteList Get(int page, int pageSize) { ClienteList res = new ClienteList(); SqlCommand cmd = null; SqlDataReader dr = null; string query = @"SELECT * FROM Cliente INNER JOIN Persona ON Cliente.IdPersona=Persona.IdPersona WHERE Persona.Borrado=0 ORDER BY Nombre ASC OFFSET @pageSize * (@page - 1) ROWS FETCH NEXT @pageSize ROWS ONLY"; try { cmd = Methods.CreateBasicCommand(query); cmd.Parameters.AddWithValue("@page", page); cmd.Parameters.AddWithValue("@pageSize", pageSize); dr = Methods.ExecuteDataReaderCommand(cmd); while (dr.Read()) { res.Add(new Cliente() { IdPersona = dr.GetInt32(0), Nit = dr.GetString(1), Razon = dr.GetString(2), FechaRegistro = dr.GetDateTime(3), Ci = dr.GetString(5), Nombre = dr.GetString(6), PrimerApellido = dr.GetString(7), SegundoApellido = dr.GetString(8), Sexo = SexoDal.Get(dr.GetInt32(9)), FechaNacimiento = dr.GetDateTime(10), Usuario = UsuarioDal.Get(dr.GetInt32(11)), Correos = CorreoDal.GetList(dr.GetInt32(0)), Telefonos = TelefonoDal.GetList(dr.GetInt32(0)), Direcciones = DireccionDal.GetList(dr.GetInt32(0)) }); } } catch (SqlException ex) { //Methods.GenerateLogsRelease("KeyValuePacienteListDal", "Obtener", ex.Message + " " + ex.StackTrace); throw ex; } catch (Exception ex) { //Methods.GenerateLogsRelease("KeyValuePacienteListDal", "Obtener", 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> /// Obtiene un Cliente de la base de datos /// </summary> /// <param name="ci"></param> /// <returns></returns> public static Cliente GetCI(string ci) { Cliente res = new Cliente(); SqlCommand cmd = null; SqlDataReader dr = null; string query = @"Select Persona.*, Cliente.Nit, Cliente.Razon, Cliente.FechaRegistro FROM Persona INNER JOIN Cliente ON Persona.IdPersona=Cliente.IdPersona WHERE Persona.Ci=@ci"; try { cmd = Methods.CreateBasicCommand(query); cmd.Parameters.AddWithValue("@ci", ci); dr = Methods.ExecuteDataReaderCommand(cmd); while (dr.Read()) { res = new Cliente() { IdPersona = dr.GetInt32(0), Ci = dr.GetString(1), Nombre = dr.GetString(2), PrimerApellido = dr.GetString(3), SegundoApellido = dr.GetString(4), Sexo = SexoDal.Get(dr.GetInt32(5)), FechaNacimiento = dr.GetDateTime(6), Usuario = UsuarioDal.Get(dr.GetInt32(7)), Borrado = dr.GetBoolean(8), Direcciones = DireccionDal.GetList(dr.GetInt32(0)), Telefonos = TelefonoDal.GetList(dr.GetInt32(0)), Correos = CorreoDal.GetList(dr.GetInt32(0)), Nit = dr.GetString(9), Razon = dr.GetString(10), FechaRegistro = dr.GetDateTime(11) }; } } catch (Exception ex) { Methods.GenerateLogsRelease("ClienteDal", "Obtenet(Get)", string.Format("{0} {1} Error: {2}", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString(), ex.Message)); throw ex; } finally { cmd.Connection.Close(); } return(res); }
/// <summary> /// Obtiene la informacion de una persona /// </summary> /// <param name="id">identificador de persona </param> /// <returns></returns> public static Persona Get(int id) { Persona res = new Persona(); SqlCommand cmd = null; SqlDataReader dr = null; string query = "SELECT * FROM Persona WHERE IdPersona = @id"; try { cmd = Methods.CreateBasicCommand(query); cmd.Parameters.AddWithValue("@id", id); dr = Methods.ExecuteDataReaderCommand(cmd); while (dr.Read()) { res = new Persona() { IdPersona = dr.GetInt32(0), Ci = dr.GetString(1), Nombre = dr.GetString(2), PrimerApellido = dr.GetString(3), SegundoApellido = dr.GetString(4), Sexo = SexoDal.Get(dr.GetInt32(5)), FechaNacimiento = dr.GetDateTime(6), Correos = CorreoDal.GetList(id), Usuario = UsuarioDal.Get(dr.GetInt32(7)), Direcciones = DireccionDal.GetList(id), Telefonos = TelefonoDal.GetList(id), Borrado = dr.GetBoolean(8) }; } } catch (Exception ex) { Methods.GenerateLogsRelease("PersonaDal", "Obtener", string.Format("{0} {1} Error: {2}", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString(), ex.Message)); throw ex; } finally { cmd.Connection.Close(); } return(res); }
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")); }
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")); }