///************************************************************************************* ///NOMBRE DE LA FUNCIÓN : Consultar_Producto ///DESCRIPCIÓN : Realiza la consulta productos en la base de datos ///PARÁMETROS : ///CREO : Héctor Gabriel Galicia Luna ///FECHA_CREO : 03 Octubre 2013 ///MODIFICO : ///FECHA_MODIFICO : ///CAUSA_MODIFICACIÓN : ///************************************************************************************* private void Consultar_Producto() { Cls_Cat_Productos_Negocio Producto_Consultar = new Cls_Cat_Productos_Negocio(); try { switch (Cmb_Busqueda_Tipo.Text) { case "Id de Producto": Producto_Consultar.P_Producto_Id = Txt_Descripcion_Busqueda.Text; Grid_Productos.DataSource = Producto_Consultar.Consultar_Producto(); break; case "Nombre": Producto_Consultar.P_Nombre = Txt_Descripcion_Busqueda.Text; Grid_Productos.DataSource = Producto_Consultar.Consultar_Producto(); break; case "Tipo": Producto_Consultar.P_Tipo = Txt_Descripcion_Busqueda.Text; Grid_Productos.DataSource = Producto_Consultar.Consultar_Producto(); break; case "Estatus": Producto_Consultar.P_Estatus = Txt_Descripcion_Busqueda.Text; Grid_Productos.DataSource = Producto_Consultar.Consultar_Producto(); break; } } catch (Exception e) { MessageBox.Show(e.Message, "Productos", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// Nombre: Cargar_Tipos_Productos /// /// Descripción: Método que realiza la carga de tipos de productos. /// /// Usuario Creo: Juan Alberto Hernández Negrete. /// Fecha Creo: 21 Noviembre 2013 13:53 Hrs. /// Usuario Modifico: /// Fecha Modifico: /// </summary> private void Cargar_Tipos_Productos() { Cls_Cat_Productos_Negocio Obj_Productos = new Cls_Cat_Productos_Negocio(); //Variable que se utilizara para realizar peticiones a la clase de datos. DataTable Dt_Productos = null; //Tabla para almacenar los registros de la búsqueda. try { //Realizamos la consulta de productos. Dt_Productos = Obj_Productos.Consultar_Producto(); if (Dt_Productos is DataTable) { var lista = Dt_Productos.AsEnumerable() .Select(producto => new { tipo = producto.Field <string>(Cat_Productos.Campo_Tipo) }) .Distinct().ToList(); lista.Insert(0, new { tipo = "<-- Seleccione -->" }); Cmb_Tipo_Producto.DataSource = lista; Cmb_Tipo_Producto.DisplayMember = "tipo"; Cmb_Tipo_Producto.ValueMember = "tipo"; } } catch (Exception Ex) { MessageBox.Show(this, Ex.Message, "Error - Método: [Cargar_Tipos_Productos]", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
///******************************************************************************* ///NOMBRE DE LA FUNCIÓN : Consultar_Producto_Venta ///DESCRIPCIÓN : Consulta informacion de un producto de la base de datos ///PARÁMETROS : P_Producto que contiene los filtros de los productos a buscar ///CREÓ : Héctor Gabriel Galicia Luna ///FECHA_CREO : 03 Octubre 2013 ///MODIFICÓ : ///FECHA_MODIFICO : ///CAUSA_MODIFICACIÓN : ///******************************************************************************* public static System.Data.DataTable Consultar_Producto_X_Anio(Cls_Cat_Productos_Negocio P_Producto) { StringBuilder Mi_SQL = new StringBuilder(); try { Conexion.Iniciar_Helper(); Conexion.HelperGenerico.Conexion_y_Apertura(); Mi_SQL.Append("SELECT " + Cat_Productos.Campo_Producto_Id); Mi_SQL.Append(", concat(" + Cat_Productos.Campo_Anio + ", ' ' ," + Cat_Productos.Campo_Nombre + ") as Nombre"); // ******************************************************************* Mi_SQL.Append(" FROM " + Cat_Productos.Tabla_Cat_Productos); // ******************************************************************* if (!String.IsNullOrEmpty(P_Producto.P_Relacion_Producto_Id)) { Mi_SQL.Append(" where " + Cat_Productos.Campo_Producto_Id + "= '" + P_Producto.P_Relacion_Producto_Id + "'"); } // ******************************************************************* Mi_SQL.Append(" order by " + Cat_Productos.Campo_Anio + " desc , " + Cat_Productos.Campo_Nombre + " asc"); return(Conexion.HelperGenerico.Obtener_Data_Table(Mi_SQL.ToString())); } catch (Exception e) { throw new Exception("Consultar Producto : " + e.Message); } finally { Conexion.HelperGenerico.Cerrar_Conexion(); } }
///******************************************************************************* ///NOMBRE DE LA FUNCIÓN : Eliminar_Producto ///DESCRIPCIÓN : Elimina la informacion de un producto de la base de datos ///PARÁMETROS : P_Producto que contiene el id del producto a eliminar ///CREÓ : Héctor Gabriel Galicia Luna ///FECHA_CREO : 03 Octubre 2013 ///MODIFICÓ : ///FECHA_MODIFICO : ///CAUSA_MODIFICACIÓN : ///******************************************************************************* public static void Eliminar_Producto(Cls_Cat_Productos_Negocio P_Producto) { StringBuilder Mi_SQL = new StringBuilder(); Conexion.Iniciar_Helper(); Conexion.HelperGenerico.Conexion_y_Apertura(); Mi_SQL.Append("DELETE FROM " + Cat_Productos.Tabla_Cat_Productos); Mi_SQL.Append(" WHERE " + Cat_Productos.Campo_Producto_Id + " = '" + P_Producto.P_Producto_Id + "'"); Conexion.HelperGenerico.Ejecutar_NonQuery(Mi_SQL.ToString()); Conexion.HelperGenerico.Cerrar_Conexion(); }
/// <summary> /// Nombre: Cargar_Combo_Productos /// /// Descripción: Método que carga los productos existentes /// /// Usuario Creo: Hugo Enrique Ramírez Aguilera. /// Fecha Creo: 23 Diciembre 2015 10:13 Hrs. /// Usuario Modifico: /// Fecha Modifico: /// </summary> private void Cargar_Combo_Productos() { Cls_Cat_Productos_Negocio Rs_Productos = new Cls_Cat_Productos_Negocio(); DataTable Dt_Productos = new DataTable(); try { Dt_Productos = Rs_Productos.Consultar_Producto_X_Anio(); Cls_Metodos_Generales.Rellena_Combo_Box(Cmb_Producto_Anterior, Dt_Productos, Cat_Productos.Campo_Nombre, Cat_Productos.Campo_Producto_Id); } catch (Exception Ex) { MessageBox.Show(this, Ex.Message, "Error - Método: [Cargar_Combo_Productos]", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
///************************************************************************************* ///NOMBRE DE LA FUNCIÓN : Carga_Productos ///DESCRIPCIÓN : Método para consultar todos los productos registrados ///PARÁMETROS : ///CREO : Héctor Gabriel Galicia Luna ///FECHA_CREO : 03 Octubre 2013 ///MODIFICO : ///FECHA_MODIFICO : ///CAUSA_MODIFICACIÓN : ///************************************************************************************* private void Carga_Productos() { Cls_Cat_Productos_Negocio Producto_Consultar = new Cls_Cat_Productos_Negocio(); DataTable Dt_Consulta = new DataTable(); try { Dt_Consulta = Producto_Consultar.Consultar_Producto(); Grid_Productos.DataSource = Dt_Consulta; } catch (Exception e) { MessageBox.Show(e.Message, "Productos", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
///************************************************************************************* ///NOMBRE DE LA FUNCIÓN : Btn_Eliminar_Click ///DESCRIPCIÓN : Elimina un producto de la base de datos ///PARÁMETROS : ///CREÓ : Héctor Gabriel Galicia Luna ///FECHA_CREO : 03 Octubre 2013 ///MODIFICÓ : ///FECHA_MODIFICO : ///CAUSA_MODIFICACIÓN : ///************************************************************************************* private void Btn_Eliminar_Click(object sender, EventArgs e) { Cls_Cat_Productos_Negocio Producto_Eliminar = new Cls_Cat_Productos_Negocio(); try { if (Txt_ID_Producto.Text != String.Empty) { if (MessageBox.Show(this, "¿Quiere realmente eliminar el producto '" + Txt_ID_Producto.Text + "' ?", "Advertencia", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) { Producto_Eliminar.P_Producto_Id = Txt_ID_Producto.Text; Producto_Eliminar.Eliminar_Producto(); MessageBox.Show("El producto '" + Txt_ID_Producto.Text + "' ha sido eliminado", "Productos", MessageBoxButtons.OK, MessageBoxIcon.Information); Cls_Metodos_Generales.Limpia_Controles(Fra_Datos_Generales); Carga_Productos(); } } else { MessageBox.Show("Para eliminar un producto, debe seleccionar uno de la lista", "Productos", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } catch (Exception exc) { if (exc.Data.Contains("HelpLink.EvtID")) { if (exc.Data["HelpLink.EvtID"].ToString() == "547") { MessageBox.Show("No se puede eliminar el registro debido a que tiene relación con otras tablas", "Productos", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show(exc.GetHashCode().ToString() + " " + exc.Message); } } }
///******************************************************************************* ///NOMBRE DE LA FUNCIÓN: Consultar ///DESCRIPCIÓN : Carga los parametros del sistema en los textbox ///PARAMENTROS : ///CREO : Luis Alberto Salas Garcia ///FECHA_CREO : 12/Mar/2013 ///MODIFICO : ///FECHA_MODIFICO: ///CAUSA_MODIFICACIÓN: ///******************************************************************************* private void Consultar() { DataTable Dt_Resultado = new DataTable(); DataTable Dt_Productos = new DataTable(); Cls_Apl_Roles_Negocio Rs_Roles = new Cls_Apl_Roles_Negocio(); try { /* se consultan los productos y se cargan al combo */ Cls_Cat_Productos_Negocio Rs_Consulta_Productos = new Cls_Cat_Productos_Negocio(); Rs_Consulta_Productos.P_Estatus = "ACTIVO"; Dt_Productos = Rs_Consulta_Productos.Consultar_Producto(); Cls_Metodos_Generales.Rellena_Combo_Box(Cmb_Producto_Id_Web, Dt_Productos, Cat_Productos.Campo_Nombre, Cat_Productos.Campo_Producto_Id); // consulta de los parametros Cls_Apl_Parametros_Negocio Consulta_Parametros = new Cls_Apl_Parametros_Negocio(); String Parametro_Id = Cls_Metodos_Generales.Obtener_ID_Consecutivo(Cat_Parametros.Tabla_Cat_Parametros, Cat_Parametros.Campo_Parametro_ID, "", 5); // se carga la informacion de los roles -------------------------------------------------------------------------------------- Rs_Roles.P_Estatus = "ACTIVO"; Dt_Resultado = Rs_Roles.Consultar_Roles(); Cls_Metodos_Generales.Rellena_Combo_Box(Cmb_Rol, Dt_Resultado, Apl_Roles.Campo_Nombre, Apl_Roles.Campo_Rol_Id); // --------------------------------------------------------------------------------------------------------------------------- if (Int16.Parse(Parametro_Id) > 1) { Btn_Nuevo.Enabled = false; Btn_Modificar.Enabled = true; Parametro_Id = "00001"; Consulta_Parametros.P_Parametro_Id = Parametro_Id; DataTable Dt_Consulta = Consulta_Parametros.Consultar_Parametros(); Cmb_Rol.SelectedValue = Dt_Consulta.Rows[0][Cat_Parametros.Campo_Rol_Id].ToString(); Lbl_Id.Text = Dt_Consulta.Rows[0][Cat_Parametros.Campo_Parametro_ID].ToString(); Txt_Dias_Vigencia.Text = Dt_Consulta.Rows[0][Cat_Parametros.Campo_Dias_Vigencia].ToString(); Txt_Directorio_Compartido.Text = Dt_Consulta.Rows[0][Cat_Parametros.Campo_Directorio_Compartido].ToString(); Txt_Encabezado.Text = Dt_Consulta.Rows[0][Cat_Parametros.Campo_Encabezado_Recibo].ToString(); Txt_Mensaje_Dia.Text = Dt_Consulta.Rows[0][Cat_Parametros.Campo_Mensaje_Dia_Recibo].ToString(); Txt_Correo.Text = Dt_Consulta.Rows[0][Cat_Parametros.Campo_Email].ToString(); Txt_Contrasenia.Text = Cls_Seguridad.Desencriptar(Dt_Consulta.Rows[0][Cat_Parametros.Campo_Contrasenia].ToString()); Txt_Host.Text = Dt_Consulta.Rows[0][Cat_Parametros.Campo_Host_Email].ToString(); Txt_Puerto.Text = Dt_Consulta.Rows[0][Cat_Parametros.Campo_Puerto].ToString(); Txt_Mensaje_Sistema.Text = Dt_Consulta.Rows[0][Cat_Parametros.Campo_Mensaje_Sistema].ToString(); Txt_Tope_Recoleccion.Text = Dt_Consulta.Rows[0][Cat_Parametros.Campo_Tope_Recoleccion].ToString(); Txt_Mensaje_Ticket.Text = Dt_Consulta.Rows[0][Cat_Parametros.Campo_Mensaje_Ticket].ToString(); Txt_Porcentaje_Faltante_Excedente.Text = Dt_Consulta.Rows[0][Cat_Parametros.Campo_Porcentaje_Faltante_Excedente].ToString(); // servidor que almacenara las ventas del dia Txt_Ip_A_Enviar_Ventas.Text = Dt_Consulta.Rows[0][Cat_Parametros.Campo_Ip_A_Enviar_Ventas].ToString(); Txt_Base_Datos_A_Enviar_Ventas.Text = Dt_Consulta.Rows[0][Cat_Parametros.Campo_Base_Datos_A_Enviar_Ventas].ToString(); Txt_Usuario_A_Enviar_Ventas.Text = Dt_Consulta.Rows[0][Cat_Parametros.Campo_Usuario_A_Enviar_Ventas].ToString(); Txt_Password_A_Enviar_Ventas.Text = Cls_Seguridad.Desencriptar(Dt_Consulta.Rows[0][Cat_Parametros.Campo_Contrasenia_A_Enviar_Ventas].ToString()); // duedorcad Txt_Cuenta_Museo.Text = Dt_Consulta.Rows[0][Cat_Parametros.Campo_Cuenta_Museo].ToString(); Txt_Tipo_Deudorcad.Text = Dt_Consulta.Rows[0][Cat_Parametros.Campo_Tipo_Deudorcad].ToString(); Txt_Lista_Deudorcad.Text = Dt_Consulta.Rows[0][Cat_Parametros.Campo_Lista_Deudorcad].ToString(); Txt_Clave_Venta_Deudorcad.Text = Dt_Consulta.Rows[0][Cat_Parametros.Campo_Clave_Venta_Deudorcad].ToString(); Txt_Clave_Sobrante_Deudorcad.Text = Dt_Consulta.Rows[0][Cat_Parametros.Campo_Clave_Sobrante_Deudorcad].ToString(); Txt_Clave_Venta_Individual_DeudorCad.Text = Dt_Consulta.Rows[0][Cat_Parametros.Campo_Clave_Venta_Individual_Deudorcad].ToString(); Txt_Clave_Internet.Text = Dt_Consulta.Rows[0][Cat_Parametros.Campo_Clave_Venta_Internet].ToString(); if (Dt_Consulta.Rows[0][Cat_Parametros.Campo_Version_Bd].ToString() == "4") { Rbt_Version_4.Checked = true; } else { Rbt_Version_5.Checked = true; } // seccion web Cmb_Producto_Id_Web.SelectedValue = Dt_Consulta.Rows[0][Cat_Parametros.Campo_Producto_Id_Web].ToString(); Txt_Leyenda_WEB.Text = Dt_Consulta.Rows[0][Cat_Parametros.Campo_Leyenda].ToString(); Dta_Vigencia_WEB.Text = Dt_Consulta.Rows[0][Cat_Parametros.Campo_Vigencia_Web].ToString(); //seccion pinpad Txt_ID_Afiliacion.Text = Dt_Consulta.Rows[0][Cat_Parametros.Campo_Afiliacion_PinPad].ToString(); Txt_Usuario_Banco.Text = Dt_Consulta.Rows[0][Cat_Parametros.Campo_Usuario_PinPad].ToString(); Txt_Contraseña_Banco.Text = Cls_Seguridad.Desencriptar(Dt_Consulta.Rows[0][Cat_Parametros.Campo_Contrasenia_PinPad].ToString()); Txt_Banorte_Url.Text = Dt_Consulta.Rows[0][Cat_Parametros.Campo_Banorte_Url].ToString(); Operacion_PinPad = Dt_Consulta.Rows[0][Cat_Parametros.Campo_Operacion_PinPad].ToString(); switch (Operacion_PinPad) { case "PRD": Cmb_Operacion_Banco.SelectedIndex = 0; break; case "AUT": Cmb_Operacion_Banco.SelectedIndex = 1; break; case "DEC": Cmb_Operacion_Banco.SelectedIndex = 2; break; case "RND": Cmb_Operacion_Banco.SelectedIndex = 3; break; default: Cmb_Operacion_Banco.SelectedIndex = 0; break; } } else { Btn_Nuevo.Enabled = true; Btn_Modificar.Enabled = false; //Dtp_Fecha_Dias_Inicio.Enabled = false; //Dtp_Fecha_Dias_Fin.Enabled = false; Txt_Dias_Vigencia.Text = ""; Txt_Directorio_Compartido.Text = ""; Txt_Encabezado.Text = ""; Txt_Mensaje_Dia.Text = ""; Txt_Correo.Text = ""; Txt_Contrasenia.Text = ""; Txt_Host.Text = ""; Txt_Puerto.Text = ""; Txt_Mensaje_Sistema.Text = ""; Txt_Tope_Recoleccion.Text = ""; Lbl_Id.Text = ""; } } catch (Exception E) { MessageBox.Show(null, E.ToString(), "Error - Consultar Parametros Sistema", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// Nombre: Btn_Consultar_Productos_Click /// /// Descripción: Método que realiza la consulta de productos. /// /// Usuario Creo: Juan Alberto Hernández Negrete. /// Fecha Creo: 21 Noviembre 2013 12:14 Hrs. /// Usuario Modifico: /// Fecha Modifico: /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Btn_Consultar_Productos_Click(object sender, EventArgs e) { Cls_Cat_Productos_Negocio Obj_Productos = new Cls_Cat_Productos_Negocio(); DataTable Dt_Productos = null; try { if (!string.IsNullOrEmpty(Txt_Nombre_Producto.Text)) { Obj_Productos.P_Nombre = Txt_Nombre_Producto.Text.Trim(); } if (Cmb_Tipo_Producto.SelectedIndex > 0) { Obj_Productos.P_Tipo = Cmb_Tipo_Producto.Text; } Obj_Productos.P_Estatus = "ACTIVO"; Dt_Productos = Obj_Productos.Consultar_Producto(); if (Dt_Productos is DataTable) { Grid_Productos.DataSource = Dt_Productos.AsEnumerable() .Where(producto => !producto.Field <string>(Cat_Productos.Campo_Tipo_Servicio).Equals("ESTACIONAMIENTO")) .OrderBy(producto => producto.Field <string>(Cat_Productos.Campo_Tipo)) .ThenBy(producto => producto.Field <string>(Cat_Productos.Campo_Nombre)) .Select(producto => new { Producto_ID = producto.Field <string>(Cat_Productos.Campo_Producto_Id), Tipo = producto.Field <string>(Cat_Productos.Campo_Tipo), Nombre = producto.Field <string>(Cat_Productos.Campo_Nombre), Costo = producto.Field <decimal>(Cat_Productos.Campo_Costo).ToString("c") }).ToList(); Array.ForEach(Grid_Productos.Rows.OfType <DataGridViewRow>().ToArray(), fila => { fila.Height = 40; Array.ForEach(fila.Cells.OfType <DataGridViewCell>().ToArray(), celda => { celda.Style.BackColor = Color.White; celda.Style.Font = new Font("Consolas", 12, FontStyle.Regular); }); }); Array.ForEach(Grid_Productos.Columns.OfType <DataGridViewColumn>().ToArray(), columna => { switch (columna.HeaderText) { case "Producto_ID": columna.Width = 0; columna.Visible = false; break; case "Tipo": columna.Width = 120; break; case "Nombre": columna.Width = 200; break; case "Costo": columna.Width = 100; columna.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; columna.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter; break; default: break; } }); } else { Grid_Productos.DataSource = new DataTable(); } } catch (Exception Ex) { MessageBox.Show(this, Ex.Message, "Error - Método: [Btn_Consultar_Productos_Click]", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
///******************************************************************************* ///NOMBRE DE LA FUNCIÓN : Consultar_Producto_Venta ///DESCRIPCIÓN : Consulta informacion de un producto de la base de datos ///PARÁMETROS : P_Producto que contiene los filtros de los productos a buscar ///CREÓ : Héctor Gabriel Galicia Luna ///FECHA_CREO : 03 Octubre 2013 ///MODIFICÓ : ///FECHA_MODIFICO : ///CAUSA_MODIFICACIÓN : ///******************************************************************************* public static System.Data.DataTable Consultar_Producto_Venta(Cls_Cat_Productos_Negocio P_Producto) { StringBuilder Mi_SQL = new StringBuilder(); Boolean Segundo_Filtro = false; try { Conexion.Iniciar_Helper(); Conexion.HelperGenerico.Conexion_y_Apertura(); Mi_SQL.Append("SELECT * FROM " + Cat_Productos.Tabla_Cat_Productos); /*Mi_SQL.Append("SELECT Producto_Id AS 'ID de Producto',"); * Mi_SQL.Append("Nombre,"); * Mi_SQL.Append("Descripcion AS Descripción,"); * Mi_SQL.Append("Tipo,"); * Mi_SQL.Append("Tipo_Valor AS 'Tiene Servicio',"); * Mi_SQL.Append("Costo,"); * Mi_SQL.Append("Estatus "); * Mi_SQL.Append("FROM " + Cat_Productos.Tabla_Cat_Productos);*/ if (!String.IsNullOrEmpty(P_Producto.P_Producto_Id)) { Mi_SQL.Append(Segundo_Filtro ? " AND " : " WHERE "); Mi_SQL.Append(Cat_Productos.Campo_Producto_Id + " = '" + P_Producto.P_Producto_Id + "'"); Segundo_Filtro = true; } if (!String.IsNullOrEmpty(P_Producto.P_Nombre)) { Mi_SQL.Append(Segundo_Filtro ? " AND " : " WHERE "); Mi_SQL.Append(Cat_Productos.Campo_Nombre + " LIKE '" + P_Producto.P_Nombre + "%'"); Segundo_Filtro = true; } if (!String.IsNullOrEmpty(P_Producto.P_Tipo)) { Mi_SQL.Append(Segundo_Filtro ? " AND " : " WHERE "); Mi_SQL.Append(Cat_Productos.Campo_Tipo + " LIKE '" + P_Producto.P_Tipo + "%'"); Segundo_Filtro = true; } if (!String.IsNullOrEmpty(P_Producto.P_Estatus)) { Mi_SQL.Append(Segundo_Filtro ? " AND " : " WHERE "); Mi_SQL.Append(Cat_Productos.Campo_Estatus + " = '" + P_Producto.P_Estatus + "'"); Segundo_Filtro = true; } if (!String.IsNullOrEmpty(P_Producto.P_Codigo)) { Mi_SQL.Append(Segundo_Filtro ? " AND " : " WHERE "); Mi_SQL.Append(Cat_Productos.Campo_Codigo + " = '" + P_Producto.P_Codigo + "'"); Segundo_Filtro = true; } // seccion order by Mi_SQL.Append(" order by " + Cat_Productos.Campo_Costo + ";"); return(Conexion.HelperGenerico.Obtener_Data_Table(Mi_SQL.ToString())); } catch (Exception e) { throw new Exception("Consultar Producto : " + e.Message); } finally { Conexion.HelperGenerico.Cerrar_Conexion(); } }
///******************************************************************************* ///NOMBRE DE LA FUNCIÓN : Consultar_Producto ///DESCRIPCIÓN : Consulta informacion de un producto de la base de datos ///PARÁMETROS : P_Producto que contiene los filtros de los productos a buscar ///CREÓ : Héctor Gabriel Galicia Luna ///FECHA_CREO : 03 Octubre 2013 ///MODIFICÓ : ///FECHA_MODIFICO : ///CAUSA_MODIFICACIÓN : ///******************************************************************************* public static System.Data.DataTable Consultar_Producto(Cls_Cat_Productos_Negocio P_Producto) { StringBuilder Mi_SQL = new StringBuilder(); Boolean Segundo_Filtro = false; try { Conexion.Iniciar_Helper(); Conexion.HelperGenerico.Conexion_y_Apertura(); Mi_SQL.Append("SELECT * "); // from Mi_SQL.Append(" FROM " + Cat_Productos.Tabla_Cat_Productos); // where if (!String.IsNullOrEmpty(P_Producto.P_Producto_Id)) { Mi_SQL.Append(Segundo_Filtro ? " AND " : " WHERE "); Mi_SQL.Append(Cat_Productos.Campo_Producto_Id + " = '" + P_Producto.P_Producto_Id + "'"); Segundo_Filtro = true; } if (!String.IsNullOrEmpty(P_Producto.P_Nombre)) { Mi_SQL.Append(Segundo_Filtro ? " AND " : " WHERE "); Mi_SQL.Append(Cat_Productos.Campo_Nombre + " LIKE '" + P_Producto.P_Nombre + "%'"); Segundo_Filtro = true; } if (!String.IsNullOrEmpty(P_Producto.P_Tipo)) { Mi_SQL.Append(Segundo_Filtro ? " AND " : " WHERE "); Mi_SQL.Append(Cat_Productos.Campo_Tipo + " LIKE '" + P_Producto.P_Tipo + "%'"); Segundo_Filtro = true; } if (!String.IsNullOrEmpty(P_Producto.P_Estatus)) { Mi_SQL.Append(Segundo_Filtro ? " AND " : " WHERE "); Mi_SQL.Append(Cat_Productos.Campo_Estatus + " = '" + P_Producto.P_Estatus + "'"); Segundo_Filtro = true; } if (!String.IsNullOrEmpty(P_Producto.P_Codigo)) { Mi_SQL.Append(Segundo_Filtro ? " AND " : " WHERE "); Mi_SQL.Append(Cat_Productos.Campo_Codigo + " = '" + P_Producto.P_Codigo + "'"); Segundo_Filtro = true; } // seccion order by Mi_SQL.Append(" order by " + Cat_Productos.Campo_Anio + " desc, " + Cat_Productos.Campo_Nombre + " asc"); return(Conexion.HelperGenerico.Obtener_Data_Table(Mi_SQL.ToString())); } catch (Exception e) { throw new Exception("Consultar Producto : " + e.Message); } finally { Conexion.HelperGenerico.Cerrar_Conexion(); } }
///******************************************************************************* ///NOMBRE DE LA FUNCIÓN : Alta_Productos ///DESCRIPCIÓN : Registra un nuevo producto en la base de datos ///PARÁMETROS : P_Producto que contiene la información del nuevo producto a registrar ///CREÓ : Héctor Gabriel Galicia Luna ///FECHA_CREO : 03 Octubre 2013 ///MODIFICÓ : ///FECHA_MODIFICO : ///CAUSA_MODIFICACIÓN : ///******************************************************************************* public static Boolean Alta_Productos(Cls_Cat_Productos_Negocio P_Producto) { Boolean Alta = false; StringBuilder Mi_SQL = new StringBuilder(); String Usuario_ID = ""; Boolean Transaccion_Activa = false; Conexion.Iniciar_Helper(); if (!Conexion.HelperGenerico.Estatus_Transaccion()) { Conexion.HelperGenerico.Conexion_y_Apertura(); } else { Transaccion_Activa = true; } try { Conexion.HelperGenerico.Iniciar_Transaccion(); Usuario_ID = Cls_Metodos_Generales.Obtener_ID_Consecutivo(Cat_Productos.Tabla_Cat_Productos, Cat_Productos.Campo_Producto_Id, "", 5); // sustituir el nombre de archivo con el ID si se proporciona una ruta if (!string.IsNullOrEmpty(P_Producto.P_Ruta_Imagen)) { P_Producto.P_Ruta_Imagen = P_Producto.P_Ruta_Imagen.Replace("nombre_temporal.", "p_" + Usuario_ID + "."); } Mi_SQL.Append("INSERT INTO " + Cat_Productos.Tabla_Cat_Productos + " ("); Mi_SQL.Append(Cat_Productos.Campo_Producto_Id + ","); Mi_SQL.Append(Cat_Productos.Campo_Nombre + ","); //if(!String.IsNullOrEmpty(Cat_Productos.Campo_Descripcion)) //{ Mi_SQL.Append(Cat_Productos.Campo_Descripcion + ","); //} Mi_SQL.Append(Cat_Productos.Campo_Tipo + ","); if (!String.IsNullOrEmpty(Cat_Productos.Campo_Tipo_Valor)) { Mi_SQL.Append(Cat_Productos.Campo_Tipo_Valor + ","); } if (!String.IsNullOrEmpty(Cat_Productos.Campo_Costo)) { Mi_SQL.Append(Cat_Productos.Campo_Costo + ","); } Mi_SQL.Append(Cat_Productos.Campo_Estatus + ","); Mi_SQL.Append(Cat_Productos.Campo_Ruta_Imagen + ","); Mi_SQL.Append(Cat_Productos.Campo_Usuario_Creo + ","); Mi_SQL.Append(Cat_Productos.Campo_Fecha_Creo + ", "); Mi_SQL.Append(Cat_Productos.Campo_Tipo_Servicio + ", "); Mi_SQL.Append(Cat_Productos.Campo_Codigo); Mi_SQL.Append(", " + Cat_Productos.Campo_Web); Mi_SQL.Append(", " + Cat_Productos.Campo_Anio); // validacion para la relacion del producto if (!String.IsNullOrEmpty(P_Producto.P_Relacion_Producto_Id)) { Mi_SQL.Append(", " + Cat_Productos.Campo_Relacion_Producto_Id); } //**************************************************************** Mi_SQL.Append(") VALUES ("); //**************************************************************** Mi_SQL.Append("'" + Usuario_ID + "',"); Mi_SQL.Append("'" + P_Producto.P_Nombre + "',"); //if (!String.IsNullOrEmpty(P_Producto.P_Descripcion)) //{ Mi_SQL.Append("'" + P_Producto.P_Descripcion + "',"); //} Mi_SQL.Append("'" + P_Producto.P_Tipo + "',"); if (!String.IsNullOrEmpty(P_Producto.P_Tipo_Valor)) { Mi_SQL.Append(P_Producto.P_Tipo_Valor + ","); } else { Mi_SQL.Append("NULL,"); } if (!String.IsNullOrEmpty(P_Producto.P_Costo)) { Mi_SQL.Append(P_Producto.P_Costo + ","); } Mi_SQL.Append("'" + P_Producto.P_Estatus + "',"); // si no se está utilizando MySQL, asignar ruta, de lo contrario, duplicar el caracter \ para escaparlo en la BD if ("MySqlClient" != Cls_Constantes.Gestor_Base_Datos) { Mi_SQL.Append("'" + P_Producto.P_Ruta_Imagen + "',"); } else { Mi_SQL.Append("'" + P_Producto.P_Ruta_Imagen.Replace(@"\", @"\\") + "',"); } Mi_SQL.Append("'" + P_Producto.P_Usuario_Creo + "',"); Mi_SQL.Append(Cls_Ayudante_Sintaxis.Insertar_Fecha_Hora(P_Producto.P_Fecha_Creo) + ", "); if (!string.IsNullOrEmpty(P_Producto.P_Tipo_Servicio)) { Mi_SQL.Append("'" + P_Producto.P_Tipo_Servicio + "', "); } else { Mi_SQL.Append("null, "); } if (!string.IsNullOrEmpty(P_Producto.P_Codigo)) { Mi_SQL.Append("'" + P_Producto.P_Codigo + "'"); } else { Mi_SQL.Append("null"); } Mi_SQL.Append(", '" + P_Producto.P_Aparece_En_Web + "'"); Mi_SQL.Append(", '" + P_Producto.P_Anio + "'"); // validacion para la relacion del producto if (!String.IsNullOrEmpty(P_Producto.P_Relacion_Producto_Id)) { Mi_SQL.Append(", '" + P_Producto.P_Relacion_Producto_Id + "'"); } Mi_SQL.Append(")"); //**************************************************************** Conexion.HelperGenerico.Ejecutar_NonQuery(Mi_SQL.ToString()); Alta = true; if (!Transaccion_Activa) { Conexion.HelperGenerico.Terminar_Transaccion(); } } catch (Exception e) { Conexion.HelperGenerico.Abortar_Transaccion(); throw new Exception("Alta de Productos : " + e.Message); } finally { if (!Transaccion_Activa) { Conexion.HelperGenerico.Cerrar_Conexion(); } } return(Alta); }
///******************************************************************************* ///NOMBRE DE LA FUNCIÓN : Modificar_Producto ///DESCRIPCIÓN : Registra un nuevo producto en la base de datos ///PARÁMETROS : ///CREÓ : Héctor Gabriel Galicia Luna ///FECHA_CREO : 03 Octubre 2013 ///MODIFICÓ : ///FECHA_MODIFICO : ///CAUSA_MODIFICACIÓN : ///******************************************************************************* public static void Modificar_Producto(Cls_Cat_Productos_Negocio P_Producto) { try { StringBuilder Mi_SQL = new StringBuilder(); Conexion.Iniciar_Helper(); Conexion.HelperGenerico.Conexion_y_Apertura(); Mi_SQL.Append("UPDATE " + Cat_Productos.Tabla_Cat_Productos + " SET "); if (!String.IsNullOrEmpty(P_Producto.P_Nombre)) { Mi_SQL.Append(Cat_Productos.Campo_Nombre + " = '" + P_Producto.P_Nombre + "',"); } if (!String.IsNullOrEmpty(P_Producto.P_Descripcion)) { Mi_SQL.Append(Cat_Productos.Campo_Descripcion + " = '" + P_Producto.P_Descripcion + "',"); } if (!String.IsNullOrEmpty(P_Producto.P_Tipo)) { Mi_SQL.Append(Cat_Productos.Campo_Tipo + " = '" + P_Producto.P_Tipo + "',"); } if (!String.IsNullOrEmpty(P_Producto.P_Tipo_Valor)) { if (P_Producto.P_Tipo_Valor == "1" || P_Producto.P_Tipo_Valor.ToLower() == "true") { Mi_SQL.Append(Cat_Productos.Campo_Tipo_Valor + " = 1,"); } else { Mi_SQL.Append(Cat_Productos.Campo_Tipo_Valor + " = NULL,"); } } else { Mi_SQL.Append(Cat_Productos.Campo_Tipo_Valor + " = NULL,"); } if (!String.IsNullOrEmpty(P_Producto.P_Costo)) { Mi_SQL.Append(Cat_Productos.Campo_Costo + " = " + P_Producto.P_Costo + ","); } if (!String.IsNullOrEmpty(P_Producto.P_Estatus)) { Mi_SQL.Append(Cat_Productos.Campo_Estatus + " = '" + P_Producto.P_Estatus + "',"); } if (!string.IsNullOrEmpty(P_Producto.P_Ruta_Imagen)) { // si no se está utilizando MySQL, asignar ruta sin escapar el caracter \ if ("MySqlClient" != Cls_Constantes.Gestor_Base_Datos) { Mi_SQL.Append(Cat_Productos.Campo_Ruta_Imagen + " = '" + P_Producto.P_Ruta_Imagen + "',"); } else { Mi_SQL.Append(Cat_Productos.Campo_Ruta_Imagen + " = '" + P_Producto.P_Ruta_Imagen.Replace(@"\", @"\\") + "',"); } } if (!string.IsNullOrEmpty(P_Producto.P_Tipo_Servicio)) { Mi_SQL.Append(Cat_Productos.Campo_Tipo_Servicio + "='" + P_Producto.P_Tipo_Servicio + "', "); } if (!string.IsNullOrEmpty(P_Producto.P_Codigo)) { Mi_SQL.Append(Cat_Productos.Campo_Codigo + "='" + P_Producto.P_Codigo + "', "); } // validacion para el año if (!String.IsNullOrEmpty(P_Producto.P_Anio)) { Mi_SQL.Append(Cat_Productos.Campo_Anio + " = '" + P_Producto.P_Anio + "',"); } // validacion para la relacion de los productos if (!String.IsNullOrEmpty(P_Producto.P_Relacion_Producto_Id)) { Mi_SQL.Append(Cat_Productos.Campo_Relacion_Producto_Id + " = '" + P_Producto.P_Relacion_Producto_Id + "',"); } if (!string.IsNullOrEmpty(P_Producto.P_Categoria_ID)) { Mi_SQL.Append("Categoria_ID = '" + P_Producto.P_Categoria_ID + "',"); } Mi_SQL.Append(Cat_Productos.Campo_Web + " = '" + P_Producto.P_Aparece_En_Web + "',"); Mi_SQL.Append(Cat_Productos.Campo_Usuario_Modifico + " = '" + P_Producto.P_Usuario_Modifico + "',"); Mi_SQL.Append(Cat_Productos.Campo_Fecha_Modifico + " = " + Cls_Ayudante_Sintaxis.Insertar_Fecha_Hora(P_Producto.P_Fecha_Modifico) + " "); Mi_SQL.Append("WHERE " + Cat_Productos.Campo_Producto_Id + " = '" + P_Producto.P_Producto_Id + "'"); Conexion.HelperGenerico.Ejecutar_NonQuery(Mi_SQL.ToString()); } catch (Exception e) { throw new Exception("Modificar Producto: " + e.Message); } finally { Conexion.HelperGenerico.Cerrar_Conexion(); } }
///************************************************************************************* ///NOMBRE DE LA FUNCIÓN : Modificar_Producto ///DESCRIPCIÓN : Realiza la modificación de un producto en la base de datos ///PARÁMETROS : ///CREO : Héctor Gabriel Galicia Luna ///FECHA_CREO : 03 Octubre 2013 ///MODIFICO : ///FECHA_MODIFICO : ///CAUSA_MODIFICACIÓN : ///************************************************************************************* private Boolean Modificar_Producto() { Cls_Cat_Productos_Negocio Producto_Modificar = new Cls_Cat_Productos_Negocio(); try { if (Validar_Alta()) { Producto_Modificar.P_Producto_Id = Txt_ID_Producto.Text; Producto_Modificar.P_Nombre = Txt_Nombre.Text; Producto_Modificar.P_Descripcion = Txt_Descripcion.Text; Producto_Modificar.P_Tipo = Cmb_Tipo_Producto.Text; Producto_Modificar.P_Anio = Txt_Anio.Text; Producto_Modificar.P_Categoria_ID = Cmb_Categoria.SelectedValue.ToString(); if (Cmb_Tipo_Producto.Items[Cmb_Tipo_Producto.SelectedIndex].ToString() == "Servicio") { Producto_Modificar.P_Tipo_Servicio = Cmb_Tipo_Servicio.Text; Producto_Modificar.P_Tipo_Valor = (Rdb_SI.Checked ? true : false).ToString(); } else { Producto_Modificar.P_Tipo_Servicio = "PRODUCTO"; Producto_Modificar.P_Tipo_Valor = null; } Producto_Modificar.P_Codigo = Txt_Codigo.Text; Producto_Modificar.P_Costo = Txt_Costo.Text; Producto_Modificar.P_Estatus = Cmb_Estatus.Text; if (!string.IsNullOrEmpty(Nombre_Archivo)) { Producto_Modificar.P_Ruta_Imagen = Path.GetDirectoryName(Ruta_Imagen) + @"\p_" + Txt_ID_Producto.Text.Trim() + Path.GetExtension(Nombre_Archivo); } // validacion para el modulo web if (Chk_Web.Checked == true) { Producto_Modificar.P_Aparece_En_Web = "S"; } else { Producto_Modificar.P_Aparece_En_Web = "N"; } Producto_Modificar.P_Usuario_Modifico = MDI_Frm_Apl_Principal.Nombre_Usuario; Producto_Modificar.P_Fecha_Modifico = DateTime.Now; // validacion para la relacion del producto if (Cmb_Producto_Anterior.SelectedIndex > 0) { Producto_Modificar.P_Relacion_Producto_Id = Cmb_Producto_Anterior.SelectedValue.ToString(); } // llamar método para guardar archivo de imagen Guardar_Imagen(Producto_Modificar.P_Ruta_Imagen); Producto_Modificar.Modificar_Producto(); MessageBox.Show("El Producto '" + Txt_ID_Producto.Text + "' ha sido modificado", "Productos", MessageBoxButtons.OK, MessageBoxIcon.Information); return(true); } else { return(false); } } catch (Exception e) { MessageBox.Show(e.Message, "Productos", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } }
///************************************************************************************* ///NOMBRE DE LA FUNCIÓN : Alta_Producto ///DESCRIPCIÓN : Realiza el registro de un producto en la base de datos ///PARÁMETROS : ///CREO : Héctor Gabriel Galicia Luna ///FECHA_CREO : 03 Octubre 2013 ///MODIFICO : ///FECHA_MODIFICO : ///CAUSA_MODIFICACIÓN : ///************************************************************************************* private Boolean Alta_Producto() { Cls_Cat_Productos_Negocio Producto_Nuevo = new Cls_Cat_Productos_Negocio(); Boolean Alta = false; try { if (Validar_Alta()) { Producto_Nuevo.P_Nombre = Txt_Nombre.Text; Producto_Nuevo.P_Descripcion = Txt_Descripcion.Text; Producto_Nuevo.P_Tipo = Cmb_Tipo_Producto.Text; Producto_Nuevo.P_Anio = Txt_Anio.Text; if (Cmb_Tipo_Producto.Text == "Servicio") { Producto_Nuevo.P_Tipo_Servicio = Cmb_Tipo_Servicio.Text; if (Rdb_SI.Checked) { Producto_Nuevo.P_Tipo_Valor = "1"; } else { Producto_Nuevo.P_Tipo_Valor = "0"; } } else { Producto_Nuevo.P_Tipo_Servicio = "PRODUCTO"; Producto_Nuevo.P_Tipo_Valor = null; } Producto_Nuevo.P_Codigo = Txt_Codigo.Text; Producto_Nuevo.P_Costo = Txt_Costo.Text; Producto_Nuevo.P_Estatus = Cmb_Estatus.Text; // asignar el valor de la ruta si hay un nombre de archivo if (!string.IsNullOrEmpty(Nombre_Archivo)) { Producto_Nuevo.P_Ruta_Imagen = Ruta_Imagen + Nombre_Archivo; } else { Producto_Nuevo.P_Ruta_Imagen = ""; } Producto_Nuevo.P_Usuario_Creo = MDI_Frm_Apl_Principal.Nombre_Usuario; Producto_Nuevo.P_Fecha_Creo = DateTime.Now; // validacion para el modulo web if (Chk_Web.Checked == true) { Producto_Nuevo.P_Aparece_En_Web = "S"; } else { Producto_Nuevo.P_Aparece_En_Web = "N"; } // validacion para la relacion del producto if (Cmb_Producto_Anterior.SelectedIndex > 0) { Producto_Nuevo.P_Relacion_Producto_Id = Cmb_Producto_Anterior.SelectedValue.ToString(); } Producto_Nuevo.Alta_Productos(); Guardar_Imagen(Producto_Nuevo.P_Ruta_Imagen); MessageBox.Show("El producto ha sido registrado", "Productos", MessageBoxButtons.OK, MessageBoxIcon.Information); Alta = true; } } catch (Exception e) { MessageBox.Show(e.Message, "Productos", MessageBoxButtons.OK, MessageBoxIcon.Error); } return(Alta); }
///************************************************************************************* ///NOMBRE DE LA FUNCIÓN : Grid_Productos_SelectionChanged ///DESCRIPCIÓN : Coloca la información del elemento seleccionado en los campos ///PARÁMETROS : ///CREÓ : Héctor Gabriel Galicia Luna ///FECHA_CREO : 03 Octubre 2013 ///MODIFICÓ : ///FECHA_MODIFICO : ///CAUSA_MODIFICACIÓN : ///************************************************************************************* private void Grid_Productos_SelectionChanged(object sender, EventArgs e) { Cls_Cat_Productos_Negocio Obj_Productos = new Cls_Cat_Productos_Negocio(); Cls_Cat_Productos_Negocio Obj_Productos_Anterior = new Cls_Cat_Productos_Negocio(); DataTable Dt_Productos = null; DataTable Dt_Producto_Anterior = new DataTable(); // limpiar imagen Pic_Logo.Image = null; if (Grid_Productos.CurrentRow != null) { Txt_ID_Producto.Text = Grid_Productos.CurrentRow.Cells["Producto_ID"].Value.ToString(); Obj_Productos.P_Producto_Id = Grid_Productos.CurrentRow.Cells["Producto_ID"].Value.ToString(); Dt_Productos = Obj_Productos.Consultar_Producto(); Txt_Nombre.Text = Grid_Productos.CurrentRow.Cells["Nombre"].Value.ToString(); Txt_Descripcion.Text = Grid_Productos.CurrentRow.Cells["Descripcion"].Value.ToString(); Cmb_Tipo_Producto.Text = Grid_Productos.CurrentRow.Cells["Tipo"].Value.ToString(); // servicio **************************************** if (Cmb_Tipo_Producto.Text == "Servicio") { if (Grid_Productos.CurrentRow.Cells["Tipo_Valor"].Value.ToString() != "") { if ((Boolean)Grid_Productos.CurrentRow.Cells["Tipo_Valor"].Value) { Rdb_SI.Checked = true; } else { Rdb_NO.Checked = true; } } else { Rdb_NO.Checked = true; } } // web ********************************************************** if (Grid_Productos.CurrentRow.Cells["Web"].Value.ToString() == "S") { Chk_Web.Checked = true; } else { Chk_Web.Checked = false; } Txt_Costo.Text = Grid_Productos.CurrentRow.Cells["Costo"].Value.ToString(); Cmb_Estatus.Text = Grid_Productos.CurrentRow.Cells["Estatus"].Value.ToString(); Cargar_Imagen(Grid_Productos.CurrentRow.Cells["Imagen"].Value.ToString()); Ruta_Imagen = Grid_Productos.CurrentRow.Cells["Imagen"].Value.ToString(); Txt_Anio.Text = Dt_Productos.Rows[0]["Anio"].ToString(); if (DBNull.Value.Equals(Dt_Productos.Rows[0]["Categoria_ID"])) { Cmb_Categoria.SelectedValue = string.Empty; } else { Cmb_Categoria.SelectedValue = Dt_Productos.Rows[0]["Categoria_ID"].ToString(); } // relacion del producto con años anteriores if (!String.IsNullOrEmpty(Dt_Productos.Rows[0][Cat_Productos.Campo_Relacion_Producto_Id].ToString())) { Obj_Productos_Anterior.P_Relacion_Producto_Id = Dt_Productos.Rows[0][Cat_Productos.Campo_Relacion_Producto_Id].ToString(); Dt_Producto_Anterior = Obj_Productos_Anterior.Consultar_Producto_X_Anio(); if (Dt_Producto_Anterior != null && Dt_Producto_Anterior.Rows.Count > 0) { Cmb_Producto_Anterior.Text = Dt_Producto_Anterior.Rows[0]["Nombre"].ToString(); } else { Cmb_Producto_Anterior.SelectedIndex = 0; } Obj_Productos_Anterior = new Cls_Cat_Productos_Negocio(); Dt_Producto_Anterior = new DataTable(); } else { if (Cmb_Producto_Anterior.Items.Count > 0) { Cmb_Producto_Anterior.SelectedIndex = 0; } } Array.ForEach(Dt_Productos.Rows.OfType <DataRow>().ToArray(), fila => { Txt_Codigo.Text = fila.IsNull(Cat_Productos.Campo_Codigo) ? string.Empty : fila.Field <string>(Cat_Productos.Campo_Codigo); }); } }