示例#1
0
        /// <summary>
        /// Obtiene  la informacion de un pedido
        /// </summary>
        /// <param name="id">identificador de pedido</param>
        /// <returns></returns>
        public static Pedido Get(int id)
        {
            Pedido        res   = new Pedido();
            SqlCommand    cmd   = null;
            SqlDataReader dr    = null;
            string        query = "SELECT * FROM Pedido WHERE IdPedido = @id";

            try
            {
                cmd = Methods.CreateBasicCommand(query);
                cmd.Parameters.AddWithValue("@id", id);
                dr = Methods.ExecuteDataReaderCommand(cmd);
                while (dr.Read())
                {
                    res = new Pedido()
                    {
                        IdPedido        = dr.GetInt32(0),
                        Recepcion       = dr.GetString(1),
                        PrecioPedido    = dr.GetDecimal(2),
                        DireccionPedido = DireccionDal.Get(dr.GetInt32(3))
                    };
                }
            }
            catch (Exception ex)
            {
                Methods.GenerateLogsRelease("PedidoDal", "Obtener", string.Format("{0} {1} Error: {2}", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString(), ex.Message));
                throw ex;
            }
            finally
            {
                cmd.Connection.Close();
            }
            return(res);
        }
示例#2
0
        /// <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"));
        }
示例#3
0
        /// <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);
        }
示例#4
0
        /// <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"));
        }
示例#5
0
        /// <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);
        }
示例#6
0
        /// <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);
        }
示例#7
0
        /// <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);
        }
示例#8
0
        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"));
        }
示例#9
0
        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"));
        }