Exemplo n.º 1
0
        /// <summary>
        /// Elimina trabajo ya existente
        /// </summary>
        /// <param name="id">Identificador de Trabajo</param>
        public static void Eliminar(int id)
        {
            Methods.GenerateLogsDebug("TrabajoDal", "Eliminar", string.Format("{0} Info: {1}", DateTime.Now.ToLongDateString(), "Empezando a ejecutar el metodo acceso a datos para eliminar un Trabajo"));

            SqlCommand command = null;

            // Proporcionar la cadena de consulta
            string queryString = "UPDATE Trabajo SET Borrado = 1 WHERE IdTrabajo=@id";

            try
            {
                command = Methods.CreateBasicCommand(queryString);
                command.Parameters.AddWithValue("@id", id);
                Methods.ExecuteBasicCommand(command);

                List <TrabajoDetalle> trabajos = TrabajoDetalleDal.GetList(id);

                foreach (TrabajoDetalle x in trabajos)
                {
                    TrabajoDetalleDal.Eliminar(x.IdTrabajoDetalle);
                }
            }
            catch (SqlException ex)
            {
                Methods.GenerateLogsRelease("TrabajoDal", "Eliminar", string.Format("{0} {1} Error: {2}", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString(), ex.Message));
                throw ex;
            }
            catch (Exception ex)
            {
                Methods.GenerateLogsRelease("TrabajoDal", "Eliminar", string.Format("{0} {1} Error: {2}", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString(), ex.Message));
                throw ex;
            }

            Methods.GenerateLogsDebug("TrabajoDal", "Eliminar", string.Format("{0} {1} Info: {2}", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString(), "Termino de ejecutar  el metodo acceso a datos para Eliminar un cliente"));
        }
Exemplo n.º 2
0
        /// <summary>
        /// Obtiene Lista de Personal
        /// </summary>
        /// <returns>Lista de Objetos Personal</returns>
        public static List <Trabajo> GetList()
        {
            List <Trabajo> res = new List <Trabajo>();

            SqlCommand    cmd   = null;
            SqlDataReader dr    = null;
            string        query = @"SELECT * FROM Trabajo WHERE Borrado = 0";

            try
            {
                cmd = Methods.CreateBasicCommand(query);
                dr  = Methods.ExecuteDataReaderCommand(cmd);

                while (dr.Read())
                {
                    int idTrabajo = dr.GetInt32(0);

                    res.Add(new Trabajo()
                    {
                        IdTrabajo        = idTrabajo,
                        Cliente          = ClienteDal.Get(dr.GetInt32(1)),
                        FechaTrabajo     = dr.GetDateTime(2),
                        TotalPrecio      = dr.GetDecimal(3),
                        FechaEntrega     = dr.GetDateTime(4),
                        PedidoDistancia  = PedidoDal.Get(dr.GetInt32(5)),
                        EntregaDomicilio = dr.GetBoolean(6),
                        TrabajoDetalle   = TrabajoDetalleDal.GetList(idTrabajo),
                        Borrado          = dr.GetBoolean(7)
                    });
                }
            }
            catch (SqlException ex)
            {
                Methods.GenerateLogsRelease("TrabajoDal", "ObtenerLista", ex.Message + " " + ex.StackTrace);
                throw ex;
            }
            catch (Exception ex)
            {
                Methods.GenerateLogsRelease("TrabajoDal", "ObtenerLista", ex.Message + " " + ex.StackTrace);
                throw ex;
            }
            finally
            {
                cmd.Connection.Close();
            }

            return(res);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Obtiene un Trabajo de la base de datos
        /// </summary>
        /// <param name="id">Idenficador de Trabajo</param>
        /// <returns></returns>
        public static Trabajo Get(int id)
        {
            Trabajo       res   = new Trabajo();
            SqlCommand    cmd   = null;
            SqlDataReader dr    = null;
            string        query = @"SELECT * FROM Trabajo WHERE IdTrabajo = @id";

            try
            {
                cmd = Methods.CreateBasicCommand(query);
                cmd.Parameters.AddWithValue("@id", id);
                dr = Methods.ExecuteDataReaderCommand(cmd);
                while (dr.Read())
                {
                    res = new Trabajo()
                    {
                        IdTrabajo        = dr.GetInt32(0),
                        Cliente          = ClienteDal.Get(dr.GetInt32(1)),
                        FechaTrabajo     = dr.GetDateTime(2),
                        TotalPrecio      = dr.GetDecimal(3),
                        FechaEntrega     = dr.GetDateTime(4),
                        PedidoDistancia  = dr.IsDBNull(5) ? null : PedidoDal.Get(dr.GetInt32(5)),
                        EntregaDomicilio = dr.GetBoolean(6),
                        Borrado          = dr.GetBoolean(7),
                        TrabajoDetalle   = TrabajoDetalleDal.GetList(dr.GetInt32(0))
                    };
                }
            }
            catch (Exception ex)
            {
                Methods.GenerateLogsRelease("TrabajoDal", "Obtener", string.Format("{0} {1} Error: {2}", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString(), ex.Message));
                throw ex;
            }
            finally
            {
                cmd.Connection.Close();
            }
            return(res);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Inserta nuevo trabajo
        /// </summary>
        /// <param name="trabajo"></param>
        public static void Insertar(Trabajo trabajo)
        {
            Methods.GenerateLogsDebug("TrabajoDal", "Insertar", string.Format("{0} Info: {1}", DateTime.Now.ToLongDateString(), "Empezando a ejecutar el metodo acceso a datos para insertar un Trabajo"));

            SqlCommand     command = null;
            SqlTransaction trans   = null;

            string queryString = "";

            // Proporcionar la cadena de consulta
            if (trabajo.PedidoDistancia != null)
            {
                queryString = @"INSERT INTO Trabajo(Cliente, FechaTrabajo, TotalPrecio, FechaEntrega, PedidoDistancia, EntregaDomicilio)
                                    OUTPUT inserted.IdTrabajo
                                    VALUES
                                   (@Cliente, @FechaTrabajo, @TotalPrecio, @FechaEntrega, @PedidoDistancia, @EntregaDomicilio)";
            }
            else
            {
                queryString = @"INSERT INTO Trabajo(Cliente, FechaTrabajo, TotalPrecio, FechaEntrega, EntregaDomicilio)
                                    OUTPUT inserted.IdTrabajo
                                    VALUES
                                   (@Cliente, @FechaTrabajo, @TotalPrecio, @FechaEntrega, @EntregaDomicilio)";
            }

            SqlConnection conexion = Methods.ObtenerConexion();

            try
            {
                conexion.Open();

                trans = conexion.BeginTransaction();

                command = new SqlCommand(queryString);
                command.Parameters.AddWithValue("@Cliente", trabajo.Cliente.IdPersona);
                command.Parameters.AddWithValue("@FechaTrabajo", DateTime.Now);
                command.Parameters.AddWithValue("@TotalPrecio", trabajo.TotalPrecio);
                command.Parameters.AddWithValue("@FechaEntrega", trabajo.FechaEntrega);
                if (trabajo.PedidoDistancia != null)
                {
                    command.Parameters.AddWithValue("@PedidoDistancia", trabajo.PedidoDistancia != null ? trabajo.PedidoDistancia.IdPedido : null);
                }
                command.Parameters.AddWithValue("@EntregaDomicilio", trabajo.EntregaDomicilio);

                command.Connection  = conexion;
                command.Transaction = trans;
                //Methods.ExecuteBasicCommand(command);

                int idTrabajo = Convert.ToInt32(command.ExecuteScalar());

                foreach (TrabajoDetalle trabajod in trabajo.TrabajoDetalle)
                {
                    trabajod.Estado = new Estado()
                    {
                        IdEstado = 1
                    };

                    SqlCommand cmdtmp = TrabajoDetalleDal.InsertarCMD(trabajod, idTrabajo);
                    cmdtmp.Connection  = conexion;
                    cmdtmp.Transaction = trans;
                    cmdtmp.ExecuteNonQuery();
                }

                trans.Commit();
            }
            catch (SqlException ex)
            {
                Methods.GenerateLogsRelease("TrabajoDal", "Insertar", string.Format("{0} {1} Error: {2}", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString(), ex.Message));
                trans.Rollback();
                throw ex;
            }
            catch (Exception ex)
            {
                Methods.GenerateLogsRelease("TrabajoDal", "Insertar", string.Format("{0} {1} Error: {2}", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString(), ex.Message));
                trans.Rollback();
                throw ex;
            }

            Methods.GenerateLogsDebug("TrabajoDal", "Insertar", string.Format("{0} {1} Info: {2}", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString(), "Termino de ejecutar  el metodo acceso a datos para insertar un trabajo"));
        }