示例#1
0
        /// Nombre: Actualizar_Contador_Accesos_Estacionamiento
        ///
        /// Descripción: Método que actualiza el contador de accesos de carros y camionetas
        ///              al estacionamiento.
        ///
        /// Usuario Creo: Juan Alberto Hernández Negrete.
        /// Fecha Creo: 20 Noviembre 2013.
        /// Usuario Modifico:
        /// Fecha Modifico:
        /// </summary>
        private void Actualizar_Contador_Accesos_Estacionamiento()
        {
            Cls_Ope_Estacionamiento_Negocio Obj_Estacionamiento = new Cls_Ope_Estacionamiento_Negocio();//Variable de negocios que nos sirve para realizar peticiones al aclase de datos.
            DataTable Dt_Servicios = null;
            DataTable Dt_Accesos   = null;

            try
            {
                Dt_Servicios = Obj_Estacionamiento.Consultar_Servicios_Estacionamiento();

                // validar que la tabla contenga valores
                if (Dt_Servicios != null && Dt_Servicios.Rows.Count > 0)
                {
                    var Clave_Camioneta = Dt_Servicios.AsEnumerable()
                                          .OrderByDescending(valor => valor.Field <decimal>(Cat_Productos.Campo_Costo))
                                          .Select(item => new { producto_id = item.Field <string>(Cat_Productos.Campo_Producto_Id) }).First();

                    var Clave_Carro = Dt_Servicios.AsEnumerable()
                                      .OrderBy(valor => valor.Field <decimal>(Cat_Productos.Campo_Costo))
                                      .Select(item => new { producto_id = item.Field <string>(Cat_Productos.Campo_Producto_Id) }).First();

                    Obj_Estacionamiento.P_Estatus = "PENDIENTE";
                    Dt_Accesos = Obj_Estacionamiento.Consultar_Estacionamiento();

                    var cont_carros = Dt_Accesos.AsEnumerable()
                                      .Where(carro => carro.Field <string>(Ope_Estacionamiento.Campo_Producto_ID).Equals(Clave_Carro.producto_id))
                                      .Select(carro => carro).Count();

                    var cont_camionetas = Dt_Accesos.AsEnumerable()
                                          .Where(carro => carro.Field <string>(Ope_Estacionamiento.Campo_Producto_ID).Equals(Clave_Camioneta.producto_id))
                                          .Select(carro => carro).Count();

                    Txt_Carros.Text     = cont_carros.ToString();
                    Txt_Camionetas.Text = cont_camionetas.ToString();
                }
            }
            catch (Exception Ex)
            {
                MessageBox.Show(this, Ex.Message, "Error - Método: [Actualizar_Contador_Accesos_Estacionamiento]", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
示例#2
0
        /// <summary>
        /// Nombre: Imprimir_Acceso_Estacionamiento
        ///
        /// Descripción: Método que comienza el proceso de impresión del ticket del estacionamiento y
        ///              que realiza el alta del registro de acceso al mismo.
        ///
        /// Usuario Creo: Juan Alberto Hernández Negrete.
        /// Fecha Creo: 15 Noviembre 2013.
        /// Usuario Modifico:
        /// Fecha Modifico:
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Imprimir_Acceso_Estacionamiento(object sender, EventArgs e)
        {
            Cls_Ope_Estacionamiento_Negocio Obj_Estacionamiento = new Cls_Ope_Estacionamiento_Negocio(); //Variable de negocios para realizar peticiones a la capa de datos.
            DataTable Dt_Estacionamiento = null;                                                         //Variable para almacenar el resulatdo de la búsqueda.

            try
            {
                do
                {
                    //Proceso para obtener el codigo de barras del acceso al estacionamiento.
                    //Si el código generado ya existe, se ignora y se vuelve a generar otro código.
                    Obj_Estacionamiento.P_Codigo = Generar_Cadena_Proteccion(10);
                    Dt_Estacionamiento           = Obj_Estacionamiento.Consultar_Estacionamiento();
                } while (Dt_Estacionamiento.Rows.Count > 0);

                //Establecemos algunos datos que se mostraran en el ticket que se enviara a impresión.
                Datos_Ticket = new Cls_Ope_Estacionamiento_Negocio();
                Datos_Ticket.P_Fecha_Hora_Ingreso = DateTime.Now;
                Datos_Ticket.P_Codigo             = Obj_Estacionamiento.P_Codigo;
                Datos_Ticket.Tipo_Servicio        = ((JButton)sender).Text + " por hora o fracción";

                //Se realiza la petición al proceso de configuración e impresión del ticket.
                Imprimir_Ticket();

                //Establecemos algunos datos que se almacenaran como registro del acceso al estacionamiento.
                Obj_Estacionamiento.P_Producto_ID        = ((JButton)sender).Tag.ToString();
                Obj_Estacionamiento.P_Fecha_Hora_Ingreso = Datos_Ticket.P_Fecha_Hora_Ingreso;
                Obj_Estacionamiento.P_Estatus            = "PENDIENTE";
                Obj_Estacionamiento.Alta_Estacionamiento();

                this.ActiveControl = Txt_Codigo_Barras;
                Txt_Codigo_Barras.Focus();
                Actualizar_Contador_Accesos_Estacionamiento();
            }
            catch (Exception Ex)
            {
                MessageBox.Show(this, Ex.Message, "Error - Método: [Imprimir_Acceso_Estacionamiento]", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
示例#3
0
        /// <summary>
        /// Nombre: Consultar_Servicios_Estacionamiento
        ///
        /// Descripción: Método que realiza la consulta de los servicios de tipo estacionamiento
        ///              y los carga en el panel de servicios.
        ///
        /// Usuario Creo: Juan Alberto Hernández Negrete.
        /// Fecha Creo: 15 Noviembre 2013.
        /// Usuario Modifico:
        /// Fecha Modifico:
        /// </summary>
        private void Consultar_Servicios_Estacionamiento()
        {
            Cls_Ope_Estacionamiento_Negocio Obj_Estacionamiento = new Cls_Ope_Estacionamiento_Negocio(); //Variable de negocios para realizar peticiones a la clase de datos.
            DataTable Dt_Servicios  = null;                                                              //Variable que almacenara los servicios de tipo estacionamiento.
            Image     Img_Productos = null;                                                              //Variable para almacenar la imagen del producto.

            try
            {
                //Realizar la consulta de servicios de tipo estacionamiento.
                Dt_Servicios = Obj_Estacionamiento.Consultar_Servicios_Estacionamiento();

                Array.ForEach(Dt_Servicios.Rows.OfType <DataRow>().ToArray(), fila =>
                {
                    if (!string.IsNullOrEmpty(fila.Field <string>(Cat_Productos.Campo_Ruta_Imagen)) && File.Exists(fila.Field <string>(Cat_Productos.Campo_Ruta_Imagen)))
                    {
                        Img_Productos = Image.FromFile(fila.Field <string>(Cat_Productos.Campo_Ruta_Imagen));
                    }
                    else
                    {
                        Img_Productos = global::ERP_BASE.Properties.Resources.img_no_disponible;
                    }

                    JButton Btn_Aux   = new JButton(Img_Productos, new Size(228, 218), new Size(170, 145), new Point(19, 20), "", true);
                    Btn_Aux.Text      = "\n" + fila.Field <string>(Cat_Productos.Campo_Nombre) + " $" + Convert.ToDecimal(fila.Field <decimal>(Cat_Productos.Campo_Costo)).ToString("#,##0.00");
                    Btn_Aux.TextAlign = ContentAlignment.BottomCenter;
                    Btn_Aux.BackColor = Color.WhiteSmoke;
                    Btn_Aux.Font      = new System.Drawing.Font("Consolas", 11, FontStyle.Bold);
                    Btn_Aux.Tag       = fila.Field <string>(Cat_Productos.Campo_Producto_Id);
                    Btn_Aux.Click    += new EventHandler(this.Imprimir_Acceso_Estacionamiento);
                    Pnl_Servicios_Estacionamiento.Controls.Add(Btn_Aux);
                });
            }
            catch (Exception Ex)
            {
                MessageBox.Show(this, Ex.Message, "Error - Método: [Alta_Registro_Estacionamiento]", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        /// <summary>
        /// Nombre: Consultar_Servicios_Estacionamiento
        ///
        /// Descripción: Método que devuelve los resultados encontrados con los filtros establecidos para realizar la búsqueda.
        ///
        /// Usuario Creo: Juan Alberto Hernández Negrete.
        /// Fecha Creo: 13 Noviembre 2013 19:29 Hrs.
        /// Usuario Modifico:
        /// Fecha Modifco:
        /// </summary>
        /// <returns>Tabla con los registros de estacionamiento</returns>
        public static DataTable Consultar_Servicios_Estacionamiento(Cls_Ope_Estacionamiento_Negocio Datos)
        {
            StringBuilder Mi_SQL             = new StringBuilder(); //Variable para almacenar la consulta hacía la base de datos.
            DataTable     Dt_Servicios       = null;                //Variable de tipo estructura para almacenar los registros encontrados.
            Boolean       Transaccion_Activa = false;               //Variable que almacena la variable que mantiene el estatus de la transacción.

            //Iniciar Transacción
            Conexion.Iniciar_Helper();

            if (!Conexion.HelperGenerico.Estatus_Transaccion())
            {
                Conexion.HelperGenerico.Conexion_y_Apertura();
            }
            else
            {
                Transaccion_Activa = true;
            }

            try
            {
                Conexion.HelperGenerico.Iniciar_Transaccion();

                //Crear la consulta.
                Mi_SQL.Append(" select ");
                Mi_SQL.Append(" servicio.* ");

                Mi_SQL.Append(" from ");
                Mi_SQL.Append(Cat_Productos.Tabla_Cat_Productos + " servicio ");
                Mi_SQL.Append(" where ");
                Mi_SQL.Append(Cat_Productos.Campo_Tipo + "='Servicio' ");
                Mi_SQL.Append(" and ");
                Mi_SQL.Append(Cat_Productos.Campo_Tipo_Servicio + "='ESTACIONAMIENTO' ");

                if (!string.IsNullOrEmpty(Datos.P_Producto_ID))
                {
                    Mi_SQL.Append(" and servicio." + Cat_Productos.Campo_Producto_Id + "='" + Datos.P_Producto_ID + "'");
                }

                Mi_SQL.Append(" order by servicio." + Cat_Productos.Campo_Nombre + " desc ");

                Dt_Servicios = Conexion.HelperGenerico.Obtener_Data_Table(Mi_SQL.ToString());

                if (!Transaccion_Activa)
                {
                    Conexion.HelperGenerico.Terminar_Transaccion();
                }
            }
            catch (Exception Ex)
            {
                Conexion.HelperGenerico.Abortar_Transaccion();
                throw new Exception("Error al consultar los servicios de estacionamiento, Metodo: [Consultar_Servicios_Estacionamiento]. Error: [" + Ex.Message + "]");
            }
            finally
            {
                if (!Transaccion_Activa)
                {
                    Conexion.HelperGenerico.Cerrar_Conexion();
                }
            }
            return(Dt_Servicios);
        }
        /// <summary>
        /// Nombre: Alta_Estacionamiento
        ///
        /// Descripción: Método que realiza el alta del estacionamiento.
        ///
        /// Usuario Creo: Juan Alberto Hernández Negrete.
        /// Fecha Creo: 13 Noviembre 2013 19:06 Hrs.
        /// Usuario Modifico:
        /// Fecha Modifico:
        /// </summary>
        /// <param name="Datos">Variable que se utilizara para transportar los datos de la capa de usuario a la de datos</param>
        /// <returns>Devuelve verdadero si la operacion se termino de forma correcta y falso en caso contrario</returns>
        public static bool Alta_Estacionamiento(Cls_Ope_Estacionamiento_Negocio Datos)
        {
            bool          Operacion_Completa = false;               //Variable que mantiene el estatus de la operación.
            StringBuilder Mi_SQL             = new StringBuilder(); //Variable para crear el query que se ejecutara en la bd.
            String        Consecutivo        = "";                  //Variable para almacenar el consecutivo de la tabla de Ope_Estacionamiento
            Boolean       Transaccion_Activa = false;               //Variable para mantener el estatus de la transacción.

            //Abrir la conexión
            Conexion.Iniciar_Helper();

            if (!Conexion.HelperGenerico.Estatus_Transaccion())
            {
                Conexion.HelperGenerico.Conexion_y_Apertura();
            }
            else
            {
                Transaccion_Activa = true;
            }

            try
            {
                Conexion.HelperGenerico.Iniciar_Transaccion();
                Consecutivo = Cls_Metodos_Generales.Obtener_ID_Consecutivo(Ope_Estacionamiento.Tabla_Ope_Estacionamiento, Ope_Estacionamiento.Campo_No_Estacionamiento, "", 10);

                //Creamos la consulta
                Mi_SQL.Append("insert into ");
                Mi_SQL.Append(Ope_Estacionamiento.Tabla_Ope_Estacionamiento);
                Mi_SQL.Append(" (");
                Mi_SQL.Append(Ope_Estacionamiento.Campo_No_Estacionamiento);
                Mi_SQL.Append(", " + Ope_Estacionamiento.Campo_Fecha_Hora_Ingreso);
                Mi_SQL.Append(", " + Ope_Estacionamiento.Campo_Fecha_Hora_Salida);
                Mi_SQL.Append(", " + Ope_Estacionamiento.Campo_Horas);
                Mi_SQL.Append(", " + Ope_Estacionamiento.Campo_Codigo);
                Mi_SQL.Append(", " + Ope_Estacionamiento.Campo_Estatus);
                Mi_SQL.Append(", " + Ope_Estacionamiento.Campo_Importe);
                Mi_SQL.Append(", " + Ope_Estacionamiento.Campo_Producto_ID);
                Mi_SQL.Append(", " + Ope_Estacionamiento.Campo_Usuario_Creo);
                Mi_SQL.Append(", " + Ope_Estacionamiento.Campo_Fecha_Creo);
                Mi_SQL.Append(") values(");
                Mi_SQL.Append("'" + Consecutivo + "'");
                Mi_SQL.Append(", " + ((Datos.P_Fecha_Hora_Ingreso.Year != 1) ? Cls_Ayudante_Sintaxis.Insertar_Fecha_Hora(Datos.P_Fecha_Hora_Ingreso) : " null "));
                Mi_SQL.Append(", " + ((Datos.P_Fecha_Hora_Salida.Year != 1) ? Cls_Ayudante_Sintaxis.Insertar_Fecha_Hora(Datos.P_Fecha_Hora_Salida) : " null "));
                Mi_SQL.Append(", " + ((Datos.P_Horas > 0) ? Datos.P_Horas.ToString() : " null "));
                Mi_SQL.Append(", " + ((!string.IsNullOrEmpty(Datos.P_Codigo)) ? "'" + Datos.P_Codigo + "'" : " null "));
                Mi_SQL.Append(", " + ((!string.IsNullOrEmpty(Datos.P_Estatus)) ? "'" + Datos.P_Estatus + "'" : " null "));
                Mi_SQL.Append(", " + ((Datos.P_Importe > 0) ? Datos.P_Importe.ToString() : " null "));
                Mi_SQL.Append(", " + ((!string.IsNullOrEmpty(Datos.P_Producto_ID)) ? "'" + Datos.P_Producto_ID + "'" : " null "));
                Mi_SQL.Append(", '" + MDI_Frm_Apl_Principal.Nombre_Usuario + "'");
                Mi_SQL.Append(", " + Cls_Ayudante_Sintaxis.Fecha());
                Mi_SQL.Append(")");

                Conexion.HelperGenerico.Ejecutar_NonQuery(Mi_SQL.ToString());

                if (!Transaccion_Activa)
                {
                    Conexion.HelperGenerico.Terminar_Transaccion();
                }
                Operacion_Completa = true;
            }
            catch (Exception Ex)
            {
                Conexion.HelperGenerico.Abortar_Transaccion();
                throw new Exception("Error al realizar al registrar el estacionamiento, Método: [Alta_Estacionamiento]. Error: [" + Ex.Message + "]");
            }
            finally
            {
                if (!Transaccion_Activa)
                {
                    Conexion.HelperGenerico.Cerrar_Conexion();
                }
            }
            return(Operacion_Completa);
        }
        /// <summary>
        /// Nombre: Cancelar_Estacionamiento
        ///
        /// Descripción: Método que realiza la cancelación del registro de estacionamiento.
        ///
        /// Usuario Creo: Juan Alberto Hernández Negrete.
        /// Fecha Creo: 13 Noviembre 2013 19:20 Hrs.
        /// Usuario Modifico:
        /// Fecha Modifico:
        /// </summary>
        /// <param name="Datos">Variable que se utilizara para transportar los datos de la capa de usuario a la de datos</param>
        /// <returns>Devuelve verdadero si la operacion se termino de forma correcta y falso en caso contrario</returns>
        public static bool Cancelar_Estacionamiento(Cls_Ope_Estacionamiento_Negocio Datos)
        {
            StringBuilder Mi_SQL             = new StringBuilder(); //Variable para crear el query que se ejecutara en la bd.
            bool          Operacion_Completa = false;               //Variable que mantiene el estatus de la operación.
            Boolean       Transaccion_Activa = false;               //Variable para mantener el estatus de la transacción.

            //Abrir la conexión
            Conexion.Iniciar_Helper();

            if (!Conexion.HelperGenerico.Estatus_Transaccion())
            {
                Conexion.HelperGenerico.Conexion_y_Apertura();
            }
            else
            {
                Transaccion_Activa = true;
            }

            try
            {
                Conexion.HelperGenerico.Iniciar_Transaccion();

                //Creamos la consulta.
                Mi_SQL.Append("update ");
                Mi_SQL.Append(Ope_Estacionamiento.Tabla_Ope_Estacionamiento);
                Mi_SQL.Append(" set ");

                #region (Datos Actualizar)
                if (!string.IsNullOrEmpty(Datos.P_Estatus))
                {
                    Mi_SQL.Append(", " + Ope_Estacionamiento.Campo_Estatus + "='" + Datos.P_Estatus + "'");
                }
                else
                {
                    Mi_SQL.Append(", " + Ope_Estacionamiento.Campo_Estatus + "= null ");
                }

                if (!string.IsNullOrEmpty(MDI_Frm_Apl_Principal.Nombre_Usuario))
                {
                    Mi_SQL.Append(", " + Ope_Estacionamiento.Campo_Usuario_Modifico + "='" + MDI_Frm_Apl_Principal.Nombre_Usuario + "'");
                }
                else
                {
                    Mi_SQL.Append(", " + Ope_Estacionamiento.Campo_Usuario_Modifico + "= null ");
                }

                if (!string.IsNullOrEmpty(Cls_Ayudante_Sintaxis.Fecha()))
                {
                    Mi_SQL.Append(", " + Ope_Estacionamiento.Campo_Fecha_Modifico + "=" + Cls_Ayudante_Sintaxis.Fecha());
                }
                else
                {
                    Mi_SQL.Append(", " + Ope_Estacionamiento.Campo_Fecha_Modifico + "= null ");
                }
                #endregion

                Mi_SQL.Append(" where ");
                Mi_SQL.Append(Ope_Estacionamiento.Campo_No_Estacionamiento + "='" + Datos.P_No_Estacionamiento + "'");

                Conexion.HelperGenerico.Ejecutar_NonQuery(Mi_SQL.ToString());

                if (!Transaccion_Activa)
                {
                    Conexion.HelperGenerico.Terminar_Transaccion();
                }
                Operacion_Completa = true;
            }
            catch (Exception Ex)
            {
                Conexion.HelperGenerico.Abortar_Transaccion();
                throw new Exception("Error al cancelar el registro de estacionamiento, Método: [Cancelar_Estacionamiento]. Error: [" + Ex.Message + "]");
            }
            finally
            {
                if (!Transaccion_Activa)
                {
                    Conexion.HelperGenerico.Cerrar_Conexion();
                }
            }
            return(Operacion_Completa);
        }
示例#7
0
        /// <summary>
        /// Nombre: Txt_Codigo_Barras_KeyUp
        ///
        /// Descripción: Método que se ejecuta al presionar una tecla en la caja de código de barras.
        ///
        /// Usuario Creo: Juan Alberto Hernández Negrete.
        /// Fecha Creo: 15 Noviembre 2013.
        /// Usuario Modifico: Roberto González Oseguera
        /// Fecha Modifico: 21-feb-2014
        /// Causa modificación: Se cambia <DateTime?> por <MySql.Data.Types.MySqlDateTime?> para recibir
        ///                     un campo fecha al utilizar una base de datos MySQL
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Txt_Codigo_Barras_KeyUp(object sender, KeyEventArgs e)
        {
            // entrar solamente con la tecla enter
            if (e.KeyCode == Keys.Return && Txt_Codigo_Barras.Text.Length > 0)
            {
                Cls_Ope_Estacionamiento_Negocio Obj_Estacionamiento;
                DataTable Dt_Datos_Acceso_Estacionamiento = null;
                DataTable Dt_Datos_Pago      = null;
                string    Producto_ID        = string.Empty;
                string    No_Estacionamiento = string.Empty;
                string    Estatus            = string.Empty;
                MySql.Data.Types.MySqlDateTime?Fecha_Hora_Ingreso = null;
                double Horas = 0;

                try
                {
                    Obj_Estacionamiento             = new Cls_Ope_Estacionamiento_Negocio();
                    Obj_Estacionamiento.P_Codigo    = Txt_Codigo_Barras.Text.Trim();
                    Dt_Datos_Acceso_Estacionamiento = Obj_Estacionamiento.Consultar_Estacionamiento();

                    // validar que la consulta haya regresado resultados
                    if (Dt_Datos_Acceso_Estacionamiento != null && Dt_Datos_Acceso_Estacionamiento.Rows.Count > 0)
                    {
                        Array.ForEach(Dt_Datos_Acceso_Estacionamiento.Rows.OfType <DataRow>().ToArray(), fila =>
                        {
                            Producto_ID        = fila.IsNull(Ope_Estacionamiento.Campo_Producto_ID) ? string.Empty : fila.Field <string>(Ope_Estacionamiento.Campo_Producto_ID);
                            Fecha_Hora_Ingreso = fila.IsNull(Ope_Estacionamiento.Campo_Fecha_Hora_Ingreso) ? null : fila.Field <MySql.Data.Types.MySqlDateTime?>(Ope_Estacionamiento.Campo_Fecha_Hora_Ingreso);
                            No_Estacionamiento = fila.IsNull(Ope_Estacionamiento.Campo_No_Estacionamiento) ? string.Empty : fila.Field <string>(Ope_Estacionamiento.Campo_No_Estacionamiento);
                            Estatus            = fila.IsNull(Ope_Estacionamiento.Campo_Estatus) ? string.Empty : fila.Field <string>(Ope_Estacionamiento.Campo_Estatus);
                        });

                        // si el estatus del acceso es PENDIENTE, entrar al pago
                        if (Estatus.Equals("PENDIENTE"))
                        {
                            // se ocupa .GetDateTime() cuando es un tipo MySqlDateTime
                            Horas = Math.Ceiling(DateTime.Now.Subtract(Fecha_Hora_Ingreso.Value.GetDateTime()).Duration().TotalHours);

                            Obj_Estacionamiento.P_Estatus            = "PAGADO";
                            Obj_Estacionamiento.P_Fecha_Hora_Salida  = DateTime.Now;
                            Obj_Estacionamiento.P_Horas              = Convert.ToInt32(Horas);
                            Obj_Estacionamiento.P_No_Estacionamiento = No_Estacionamiento;

                            Dt_Datos_Pago = Crear_Datos_Pago(Producto_ID, Convert.ToDecimal(Horas), ref Obj_Estacionamiento);

                            Frm_Ope_Pago Frm_Pago = new Frm_Ope_Pago();
                            Frm_Pago.P_Obj_Estacionamiento   = Obj_Estacionamiento;
                            Frm_Pago.Es_Pago_Estacionamiento = true;
                            Frm_Pago.MdiParent = this.ParentForm;
                            Frm_Pago.Set_Dt_Detalles_Venta(Dt_Datos_Pago);
                            Frm_Pago.Set_Frm_Estacionamiento(this);
                            this.Hide();
                            Frm_Pago.Show();
                        }
                        else
                        {
                            Txt_Codigo_Barras.Text = string.Empty;
                            MessageBox.Show(this, "El acceso al estacionamiento tiene un estatus de " + Estatus, "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                    }
                    else
                    {
                        Txt_Codigo_Barras.Text = string.Empty;
                        MessageBox.Show(this, "No se encontró el código de acceso ingresado.", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }

                catch (Exception Ex)
                {
                    MessageBox.Show(this, Ex.Message, "Error - Método: [Txt_Codigo_Barras_KeyPress]", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
示例#8
0
        /// <summary>
        /// Nombre: Crear_Datos_Pago
        ///
        /// Descripción: Método que crea y carga una tabla con los datos para enviar a la pantalla de pagos.
        ///
        /// Usuario Creo: Juan Alberto Hernández Negrete.
        /// Fecha Creo: 19 Noviembre 2013.
        /// Usuario Modifico:
        /// Fecha Modifico:
        /// </summary>
        /// <param name="Servicio_Estacionamiento_ID"></param>
        /// <returns></returns>
        private DataTable Crear_Datos_Pago(string Servicio_Estacionamiento_ID, decimal Horas, ref Cls_Ope_Estacionamiento_Negocio _Obj_Estacionamiento)
        {
            Cls_Ope_Estacionamiento_Negocio Obj_Estacionamiento = new Cls_Ope_Estacionamiento_Negocio(); ///Variable de negocios para realizar peticiones a la capa de datos.
            DataTable Dt_Servicios = null;                                                               //Variable para guardar el resultado de la consulta de servicios.
            DataTable Dt_Pedidos   = new DataTable();                                                    //Variable para almacenar los datos del pago.
            decimal   Costo;

            try
            {
                Obj_Estacionamiento.P_Producto_ID = Servicio_Estacionamiento_ID;
                Dt_Servicios = Obj_Estacionamiento.Consultar_Servicios_Estacionamiento();

                Dt_Pedidos.Columns.Add("CANTIDAD", typeof(decimal));
                Dt_Pedidos.Columns.Add("PRODUCTO", typeof(String));
                Dt_Pedidos.Columns.Add("TOTAL", typeof(decimal));
                Dt_Pedidos.Columns.Add("PRODUCTO_ID", typeof(String));
                Dt_Pedidos.Columns.Add("COSTO", typeof(decimal));
                Dt_Pedidos.Columns.Add("TIPO", typeof(String));
                Dt_Pedidos.Columns.Add("IMPRIMIR", typeof(String));

                if (Dt_Servicios != null)
                {
                    if (Dt_Servicios.Rows.Count > 0)
                    {
                        foreach (DataRow fila in Dt_Servicios.Rows)
                        {
                            DataRow Dr_Servicio = Dt_Pedidos.NewRow();
                            decimal.TryParse(fila[Cat_Productos.Campo_Costo].ToString(), out Costo);

                            Dr_Servicio["CANTIDAD"] = 1;

                            if (!string.IsNullOrEmpty(fila[Cat_Productos.Campo_Nombre].ToString()))
                            {
                                Dr_Servicio["PRODUCTO"] = fila[Cat_Productos.Campo_Nombre].ToString();
                            }
                            else
                            {
                                Dr_Servicio["PRODUCTO"] = string.Empty;
                            }

                            if (!string.IsNullOrEmpty(fila[Cat_Productos.Campo_Costo].ToString()))
                            {
                                Dr_Servicio["TOTAL"]           = Costo * Horas;
                                _Obj_Estacionamiento.P_Importe = Costo * Horas;
                            }
                            else
                            {
                                Dr_Servicio["TOTAL"] = 0;
                            }

                            if (!string.IsNullOrEmpty(fila[Cat_Productos.Campo_Producto_Id].ToString()))
                            {
                                Dr_Servicio["PRODUCTO_ID"] = fila[Cat_Productos.Campo_Producto_Id].ToString();
                            }
                            else
                            {
                                Dr_Servicio["PRODUCTO_ID"] = string.Empty;
                            }


                            Dr_Servicio["COSTO"] = Costo;

                            if (!string.IsNullOrEmpty(fila[Cat_Productos.Campo_Tipo].ToString()))
                            {
                                Dr_Servicio["TIPO"] = fila[Cat_Productos.Campo_Tipo].ToString();
                            }
                            else
                            {
                                Dr_Servicio["TIPO"] = string.Empty;
                            }

                            Dr_Servicio["IMPRIMIR"] = string.Empty;

                            Dt_Pedidos.Rows.Add(Dr_Servicio);
                        }
                    }
                }
            }
            catch (Exception Ex)
            {
                MessageBox.Show(this, Ex.Message, "Error - Método: [Crear_Datos_Pago]", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            return(Dt_Pedidos);
        }