/// <summary> /// Nombre: Consultar_Detalles_Grupo /// /// Descripción: Método que realiza la consulta de los detalles del grupos. /// /// Usuario Creo: Juan Alberto Hernández Negrete. /// Fecha Creo: 22 Octubre 2013 10:34 a.m. /// Usuario Modifico: /// Fecha Modifico: /// </summary> /// <param name="Datos"></param> /// <returns></returns> public static DataTable Consultar_Detalles_Grupo(Cls_Ope_Grupos_Negocio Datos) { StringBuilder Mi_SQL = new StringBuilder(); Boolean Transaccion_Activa = false; DataTable Dt_Datos = null; Conexion.Iniciar_Helper(); if (!Conexion.HelperGenerico.Estatus_Transaccion()) { Conexion.HelperGenerico.Conexion_y_Apertura(); } else { Transaccion_Activa = true; } try { Conexion.HelperGenerico.Iniciar_Transaccion(); Mi_SQL.Append(" select "); Mi_SQL.Append(" detalles_venta." + Ope_Ventas_Detalles.Campo_Cantidad + " as CANTIDAD "); Mi_SQL.Append(", producto." + Cat_Productos.Campo_Nombre + " as PRODUCTO "); Mi_SQL.Append(", " + Cls_Ayudante_Sintaxis.Convertir_A_Decimal("detalles_venta." + Ope_Ventas_Detalles.Campo_Total) + " as TOTAL "); Mi_SQL.Append(", detalles_venta." + Ope_Ventas_Detalles.Campo_Producto_Id + " as PRODUCTO_ID "); Mi_SQL.Append(", detalles_venta." + Ope_Ventas_Detalles.Campo_Subtotal + " as COSTO "); Mi_SQL.Append(", producto." + Cat_Productos.Campo_Tipo + " as TIPO "); Mi_SQL.Append(", '' as IMPRIMIR "); Mi_SQL.Append(" from "); Mi_SQL.Append(Ope_Ventas_Detalles.Tabla_Ope_Ventas_Detalles + " detalles_venta "); Mi_SQL.Append(" left outer join " + Cat_Productos.Tabla_Cat_Productos + " producto on "); Mi_SQL.Append(" detalles_venta." + Ope_Ventas_Detalles.Campo_Producto_Id + "=producto." + Cat_Productos.Campo_Producto_Id); Mi_SQL.Append(" where "); Mi_SQL.Append(" detalles_venta." + Ope_Ventas.Campo_No_Venta + "='" + Datos.P_No_Venta + "' "); Dt_Datos = 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("Consultar_Grupos: " + Ex.Message); } finally { if (!Transaccion_Activa) { Conexion.HelperGenerico.Cerrar_Conexion(); } } return(Dt_Datos); }
/// <summary> /// Nombre: Cancelar_Grupo /// /// Descripción: Método que cancela la captura del grupo. /// /// Usuario Creo: Juan Alberto Hernández Negrete /// Fecha Creo: 22 Octubre 2013 09:47 a.m. /// Usuario Modifico: /// Fecha Modifico: /// </summary> /// <param name="Datos">Objeto que permite transportar datos de la capa de usuarios a la de datos.</param> /// <returns>El estatus de la operación actual</returns> public static bool Cancelar_Grupo(Cls_Ope_Grupos_Negocio Datos) { StringBuilder Mi_SQL = new StringBuilder(); Boolean Estatus_Operacion = false; 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(); Mi_SQL.Append("update "); Mi_SQL.Append(Ope_Ventas.Tabla_Ope_Ventas); Mi_SQL.Append(" set "); Mi_SQL.Append(Ope_Ventas.Campo_Estatus + "='Cancelado'"); Mi_SQL.Append(", " + Ope_Ventas.Campo_Motivo_Cancelacion + "='" + Datos.P_Motivo_Cancelacion + "'"); Mi_SQL.Append(" where "); Mi_SQL.Append(Ope_Ventas.Campo_No_Venta + "='" + Datos.P_No_Venta + "'"); Conexion.HelperGenerico.Ejecutar_NonQuery(Mi_SQL.ToString()); Mi_SQL.Remove(0, Mi_SQL.Length); Estatus_Operacion = true; if (!Transaccion_Activa) { Conexion.HelperGenerico.Terminar_Transaccion(); } } catch (Exception Ex) { Conexion.HelperGenerico.Abortar_Transaccion(); throw new Exception("Cancelar_Grupo: " + Ex.Message); } finally { if (!Transaccion_Activa) { Conexion.HelperGenerico.Cerrar_Conexion(); } } return(Estatus_Operacion); }
/// <summary> /// Nombre: Frm_Cat_Ventana_Busqueda_Grupos /// /// Descripción: Método que realiza la carga inicial de la página. /// /// Usuario Creo: Juan Alberto Hernández Negrete. /// Fecha Creo: 22 Octubre 2013 19:16 p.m. /// Usuario Modifico: /// Fecha Modifico: /// </summary> public Frm_Cat_Ventana_Busqueda_Grupos() { InitializeComponent();//Se inicializan la carga inicial de los controles del formulario. Inicializar_Controles(); //Agregamos el evento que se ejecuta cuando se realiza la seleccion de un elemento de la tabla de grupos. Grid_Grupos.CellClick += (sender, e) => { if (e.RowIndex != (-1)) { if (!string.IsNullOrEmpty(Grid_Grupos.Rows[e.RowIndex].Cells["NO_VENTA"].FormattedValue.ToString())) { Cls_Ope_Grupos_Negocio Obj_Grupos = new Cls_Ope_Grupos_Negocio(); //Establecemos los valores que serán devueltos con los resultados de la búsqueda this.No_Venta = Grid_Grupos.Rows[e.RowIndex].Cells["NO_VENTA"].FormattedValue.ToString(); Obj_Grupos.P_No_Venta = this.No_Venta; this.Persona_Tramita = Grid_Grupos.Rows[e.RowIndex].Cells["PERSONA_TRAMITA"].FormattedValue.ToString(); this.Empresa = Grid_Grupos.Rows[e.RowIndex].Cells["EMPRESA"].FormattedValue.ToString(); this.Fecha_Tramite = ((MySql.Data.Types.MySqlDateTime)Grid_Grupos.Rows[e.RowIndex].Cells["FECHA_TRAMITE"].Value).GetDateTime(); this.Fecha_Inicio_Vigencia = ((MySql.Data.Types.MySqlDateTime)Grid_Grupos.Rows[e.RowIndex].Cells["FECHA_INICIO_VIGENCIA"].Value).GetDateTime(); this.Fecha_Termino_Vigencia = ((MySql.Data.Types.MySqlDateTime)Grid_Grupos.Rows[e.RowIndex].Cells["FECHA_TERMINO_VIGENCIA"].Value).GetDateTime(); this.Aplica_Dias_Festivos = Grid_Grupos.Rows[e.RowIndex].Cells["APLICA_DIAS_FESTIVOS"].FormattedValue.ToString(); this.Total = Grid_Grupos.Rows[e.RowIndex].Cells["TOTAL"].FormattedValue.ToString(); this.Hacer_Busqueda = true; //Establecemos que si se realizo la selección de un elemento de la tabla. this.Dt_Grupos = Obj_Grupos.Consultar_Detalles_Grupo(); //Se realiza la consulta del detalle del grupo seleccionado. //Se válida que al seleccionar un grupo el mismo no se encuentre cancelado. if (!Grid_Grupos.Rows[e.RowIndex].Cells["ESTATUS"].FormattedValue.ToString().Equals("Cancelado") && !Grid_Grupos.Rows[e.RowIndex].Cells["ESTATUS"].FormattedValue.ToString().Equals("PAGADO")) { this.Close(); } else { this.Hacer_Busqueda = false; MessageBox.Show(this, "El registro seleccionado actualmente se encuentra " + Grid_Grupos.Rows[e.RowIndex].Cells["ESTATUS"].FormattedValue.ToString() + ", ya no es posible realizar movimientos.", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } }; }
/// <summary> /// Nombre: Btn_Consultar_Click /// /// Descripción: Método que realiza la consulta de los grupos según los filtros seleccionados. /// /// Usuario Creo: Juan Alberto Hernández Negrete /// Fecha Creo: 22 Octubre 2013 18:07 p.m. /// 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 Btn_Consultar_Click(object sender, EventArgs e) { Cls_Ope_Grupos_Negocio Obj_Grupos = new Cls_Ope_Grupos_Negocio(); //Variable para realizar peticiones a la clase de negocios. DataTable Dt_Grupos = null; //Variable que almacena los resultados de grupos segun los filtros seleccionados. try { //Establecer los filtros de la búsqueda de grupos. Grid_Grupos.DataSource = new DataTable(); Obj_Grupos.P_Persona_Tramita = (string.IsNullOrEmpty(Txt_Persona_Tramita.Text)) ? string.Empty : Txt_Persona_Tramita.Text.Trim(); Obj_Grupos.P_Empresa = (string.IsNullOrEmpty(Txt_Empresa.Text)) ? string.Empty : Txt_Empresa.Text.Trim(); Obj_Grupos.P_Fecha_Inicio_Vigencia = Dtp_Fecha_Inicio.Value; Obj_Grupos.P_Fecha_Termino_Vigencia = Dtp_Fecha_Fin.Value; //Se realiza la consulta de grupos. Dt_Grupos = Obj_Grupos.Consultar_Grupos(); //Cargamos la tabla con los resultados de la búsqueda de grupos. if (Dt_Grupos is DataTable) { Grid_Grupos.DataSource = Dt_Grupos.AsEnumerable() .Select(grupo => new { NO_VENTA = grupo.IsNull("No_Venta") ? string.Empty : grupo.Field <string>("No_Venta"), FECHA_TRAMITE = grupo.IsNull("Fecha_Tramite") ? null : grupo.Field <MySql.Data.Types.MySqlDateTime?>("Fecha_Tramite"), PERSONA_TRAMITA = grupo.IsNull("Persona_Tramita") ? string.Empty : grupo.Field <string>("Persona_Tramita"), EMPRESA = grupo.IsNull("Empresa") ? string.Empty : grupo.Field <string>("Empresa"), FECHA_INICIO_VIGENCIA = grupo.IsNull("Fecha_Tramite") ? null : grupo.Field <MySql.Data.Types.MySqlDateTime?>("Fecha_Inicio_Vigencia"), FECHA_TERMINO_VIGENCIA = grupo.IsNull("Fecha_Tramite") ? null : grupo.Field <MySql.Data.Types.MySqlDateTime?>("Fecha_Fin_Vigencia"), APLICA_DIAS_FESTIVOS = grupo.IsNull("Aplican_Dias_Festivos") ? string.Empty : grupo.Field <string>("Aplican_Dias_Festivos"), TOTAL = grupo.IsNull(Ope_Ventas.Campo_Total) ? 0M : grupo.Field <decimal>(Ope_Ventas.Campo_Total), ESTATUS = grupo.IsNull(Ope_Ventas.Campo_Estatus) ? string.Empty : grupo.Field <string>(Ope_Ventas.Campo_Estatus) }) .ToList(); } Array.ForEach(Grid_Grupos.Columns.OfType <DataGridViewColumn>().ToArray(), columna => { columna.Visible = false; switch (columna.HeaderText) { case "FECHA_TRAMITE": columna.Visible = true; columna.Width = 120; break; case "PERSONA_TRAMITA": columna.Visible = true; columna.Width = 142; break; case "EMPRESA": columna.Visible = true; break; case "ESTATUS": columna.Visible = true; break; default: break; } if (!string.IsNullOrEmpty(columna.HeaderText)) { columna.HeaderText = columna.HeaderText.Replace("_", " "); } }); Array.ForEach(Grid_Grupos.Rows.OfType <DataGridViewRow>().ToArray(), fila => { Array.ForEach(fila.Cells.OfType <DataGridViewCell>().ToArray(), celda => { celda.Style.BackColor = Color.WhiteSmoke; celda.Style.Font = new Font("Tahoma", 9, FontStyle.Regular); }); }); } catch (Exception Ex) { MessageBox.Show(this, Ex.Message, "Error - Método:[Btn_Consultar_Click]", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// Nombre: Consultar_Grupos /// /// Descripción: Método que realiza la consulta de los grupos. /// /// Usuario Creo: Juan Alberto Hernández Negrete. /// Fecha Creo: 22 Octubre 2013 10:34 a.m. /// Usuario Modifico: Roberto González Oseguera /// Fecha Modifico: 24-feb-2014 /// Causa Modificación: Se cambia el filtro por fecha para se para inicial y final /// </summary> /// <param name="Datos"></param> /// <returns></returns> public static DataTable Consultar_Grupos(Cls_Ope_Grupos_Negocio Datos) { StringBuilder Mi_SQL = new StringBuilder(); try { Mi_SQL.Append(" select venta.*"); Mi_SQL.Append(" from "); Mi_SQL.Append(Ope_Ventas.Tabla_Ope_Ventas + " venta "); if (!string.IsNullOrEmpty(Datos.P_Persona_Tramita)) { Mi_SQL.Append((Mi_SQL.ToString().ToLower().Contains("where")) ? " and " : " where "); Mi_SQL.Append(" UPPER(" + Ope_Ventas.Campo_Persona_Tramita + ") like UPPER('%" + Datos.P_Persona_Tramita + "%') "); } if (!string.IsNullOrEmpty(Datos.P_Empresa)) { Mi_SQL.Append((Mi_SQL.ToString().ToLower().Contains("where")) ? " and " : " where "); Mi_SQL.Append(" UPPER(" + Ope_Ventas.Campo_Empresa + ") like UPPER('%" + Datos.P_Empresa + "%') "); } if (!string.IsNullOrEmpty(Datos.P_Estatus)) { Mi_SQL.Append((Mi_SQL.ToString().ToLower().Contains("where")) ? " and " : " where "); Mi_SQL.Append(Ope_Ventas.Campo_Estatus + "='" + Datos.P_Estatus + "' "); } if (!string.IsNullOrEmpty(Datos.P_No_Venta)) { Mi_SQL.Append((Mi_SQL.ToString().ToLower().Contains("where")) ? " and " : " where "); Mi_SQL.Append(Ope_Ventas.Campo_No_Venta + "='" + Datos.P_No_Venta + "' "); } if (Datos.P_Fecha_Inicio_Vigencia != DateTime.MinValue && Datos.P_Fecha_Termino_Vigencia != DateTime.MinValue) { Mi_SQL.Append((Mi_SQL.ToString().ToLower().Contains("where")) ? " and " : " where "); Mi_SQL.Append("(" + Ope_Ventas.Campo_Fecha_Tramite + " between " + Cls_Ayudante_Sintaxis.Insertar_Fecha_Hora(Datos.P_Fecha_Inicio_Vigencia.AddDays(-1)) + " "); Mi_SQL.Append(" and "); Mi_SQL.Append(" " + Cls_Ayudante_Sintaxis.Insertar_Fecha_Hora(Datos.P_Fecha_Termino_Vigencia) + ") "); } else if (Datos.P_Fecha_Inicio_Vigencia != DateTime.MinValue) { Mi_SQL.Append((Mi_SQL.ToString().ToLower().Contains("where")) ? " and " : " where "); Mi_SQL.Append("(" + Ope_Ventas.Campo_Fecha_Tramite + " >= "); Mi_SQL.Append(" " + Cls_Ayudante_Sintaxis.Insertar_Fecha_Hora(Datos.P_Fecha_Inicio_Vigencia) + ") "); } else if (Datos.P_Fecha_Termino_Vigencia != DateTime.MinValue) { Mi_SQL.Append((Mi_SQL.ToString().ToLower().Contains("where")) ? " and " : " where "); Mi_SQL.Append("(" + Ope_Ventas.Campo_Fecha_Tramite + " >= "); Mi_SQL.Append(" " + Cls_Ayudante_Sintaxis.Insertar_Fecha_Hora(Datos.P_Fecha_Termino_Vigencia) + ") "); } Mi_SQL.Append((Mi_SQL.ToString().ToLower().Contains("where")) ? " and " : " where "); Mi_SQL.Append(Ope_Ventas.Campo_Persona_Tramita + " is not null "); BDMySQL BD = new BDMySQL(); return(BD.Consultar(Mi_SQL.ToString())); } catch (Exception Ex) { throw new Exception("Consultar_Grupos: " + Ex.Message); } finally { } }
/// <summary> /// Nombre: Consultar_Grupos /// /// Descripción: Método que realiza la consulta de los grupos. /// /// Usuario Creo: Juan Alberto Hernández Negrete. /// Fecha Creo: 22 Octubre 2013 10:34 a.m. /// Usuario Modifico: Roberto González Oseguera /// Fecha Modifico: 24-feb-2014 /// Causa Modificación: Se cambia el filtro por fecha para se para inicial y final /// </summary> /// <param name="Datos"></param> /// <returns></returns> public static DataTable Consultar_Grupos(Cls_Ope_Grupos_Negocio Datos) { StringBuilder Mi_SQL = new StringBuilder(); Boolean Transaccion_Activa = false; DataTable Dt_Datos = null; Conexion.Iniciar_Helper(); if (!Conexion.HelperGenerico.Estatus_Transaccion()) { Conexion.HelperGenerico.Conexion_y_Apertura(); } else { Transaccion_Activa = true; } try { Conexion.HelperGenerico.Iniciar_Transaccion(); Mi_SQL.Append(" select venta.*"); Mi_SQL.Append(" from "); Mi_SQL.Append(Ope_Ventas.Tabla_Ope_Ventas + " venta "); if (!string.IsNullOrEmpty(Datos.P_Persona_Tramita)) { Mi_SQL.Append((Mi_SQL.ToString().ToLower().Contains("where")) ? " and " : " where "); Mi_SQL.Append(" UPPER(" + Ope_Ventas.Campo_Persona_Tramita + ") like UPPER('%" + Datos.P_Persona_Tramita + "%') "); } if (!string.IsNullOrEmpty(Datos.P_Empresa)) { Mi_SQL.Append((Mi_SQL.ToString().ToLower().Contains("where")) ? " and " : " where "); Mi_SQL.Append(" UPPER(" + Ope_Ventas.Campo_Empresa + ") like UPPER('%" + Datos.P_Empresa + "%') "); } if (!string.IsNullOrEmpty(Datos.P_Estatus)) { Mi_SQL.Append((Mi_SQL.ToString().ToLower().Contains("where")) ? " and " : " where "); Mi_SQL.Append(Ope_Ventas.Campo_Estatus + "='" + Datos.P_Estatus + "' "); } if (!string.IsNullOrEmpty(Datos.P_No_Venta)) { Mi_SQL.Append((Mi_SQL.ToString().ToLower().Contains("where")) ? " and " : " where "); Mi_SQL.Append(Ope_Ventas.Campo_No_Venta + "='" + Datos.P_No_Venta + "' "); } if (Datos.P_Fecha_Inicio_Vigencia != DateTime.MinValue && Datos.P_Fecha_Termino_Vigencia != DateTime.MinValue) { Mi_SQL.Append((Mi_SQL.ToString().ToLower().Contains("where")) ? " and " : " where "); Mi_SQL.Append("(" + Ope_Ventas.Campo_Fecha_Tramite + " between " + Cls_Ayudante_Sintaxis.Insertar_Fecha_Hora(Datos.P_Fecha_Inicio_Vigencia.AddDays(-1)) + " "); Mi_SQL.Append(" and "); Mi_SQL.Append(" " + Cls_Ayudante_Sintaxis.Insertar_Fecha_Hora(Datos.P_Fecha_Termino_Vigencia) + ") "); } else if (Datos.P_Fecha_Inicio_Vigencia != DateTime.MinValue) { Mi_SQL.Append((Mi_SQL.ToString().ToLower().Contains("where")) ? " and " : " where "); Mi_SQL.Append("(" + Ope_Ventas.Campo_Fecha_Tramite + " >= "); Mi_SQL.Append(" " + Cls_Ayudante_Sintaxis.Insertar_Fecha_Hora(Datos.P_Fecha_Inicio_Vigencia) + ") "); } else if (Datos.P_Fecha_Termino_Vigencia != DateTime.MinValue) { Mi_SQL.Append((Mi_SQL.ToString().ToLower().Contains("where")) ? " and " : " where "); Mi_SQL.Append("(" + Ope_Ventas.Campo_Fecha_Tramite + " >= "); Mi_SQL.Append(" " + Cls_Ayudante_Sintaxis.Insertar_Fecha_Hora(Datos.P_Fecha_Termino_Vigencia) + ") "); } Mi_SQL.Append((Mi_SQL.ToString().ToLower().Contains("where")) ? " and " : " where "); Mi_SQL.Append(Ope_Ventas.Campo_Persona_Tramita + " is not null "); Dt_Datos = 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("Consultar_Grupos: " + Ex.Message); } finally { if (!Transaccion_Activa) { Conexion.HelperGenerico.Cerrar_Conexion(); } } return(Dt_Datos); }
/// <summary> /// Nombre: Alta_Grupo /// /// Descripción: Método que realiza el alta del grupo. /// /// Usuario Creo: Juan Alberto Hernández Negrete /// Fecha Creo: 21 Octubre 2013 18:50 /// Usuario Modifico: /// Fecha Modifico: /// </summary> /// <param name="Datos"></param> /// <returns></returns> public static bool Alta_Grupo(Cls_Ope_Grupos_Negocio Datos) { StringBuilder Mi_SQL = new StringBuilder(); String No_Venta = ""; Boolean Estatus_Operacion = false; 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(); No_Venta = Cls_Metodos_Generales.Obtener_ID_Consecutivo(Ope_Ventas.Tabla_Ope_Ventas, Ope_Ventas.Campo_No_Venta, "", 10); #region (Registrar Venta) Mi_SQL.Append("INSERT INTO " + Ope_Ventas.Tabla_Ope_Ventas + " ("); Mi_SQL.Append(Ope_Ventas.Campo_No_Venta); Mi_SQL.Append(" , " + Ope_Ventas.Campo_Total); Mi_SQL.Append(" , " + Ope_Ventas.Campo_Estatus); Mi_SQL.Append(" , " + Ope_Ventas.Campo_Persona_Tramita); Mi_SQL.Append(" , " + Ope_Ventas.Campo_Empresa); Mi_SQL.Append(" , " + Ope_Ventas.Campo_Fecha_Tramite); Mi_SQL.Append(" , " + Ope_Ventas.Campo_Fecha_Inicio_Vigencia); Mi_SQL.Append(" , " + Ope_Ventas.Campo_Fecha_Fin_Vigencia); Mi_SQL.Append(" , " + Ope_Ventas.Campo_Aplican_Dias_Festivos); Mi_SQL.Append(" , " + Ope_Ventas.Campo_Usuario_Creo); Mi_SQL.Append(" , " + Ope_Ventas.Campo_Fecha_Creo); Mi_SQL.Append(") VALUES ("); Mi_SQL.Append("'" + No_Venta + "'"); Mi_SQL.Append(", " + Datos.P_Total); Mi_SQL.Append(", 'Pendiente'"); Mi_SQL.Append(", '" + Datos.P_Persona_Tramita + "'"); Mi_SQL.Append(", '" + Datos.P_Empresa + "'"); Mi_SQL.Append(", " + Cls_Ayudante_Sintaxis.Insertar_Fecha_Hora(Datos.P_Fecha_Tramite)); Mi_SQL.Append(", " + Cls_Ayudante_Sintaxis.Insertar_Fecha_Hora(Datos.P_Fecha_Inicio_Vigencia)); Mi_SQL.Append(", " + Cls_Ayudante_Sintaxis.Insertar_Fecha_Hora(Datos.P_Fecha_Termino_Vigencia)); Mi_SQL.Append(", '" + Datos.P_Aplica_Dias_Festivos + "'"); Mi_SQL.Append(", 'Usuario Punto Venta Web'"); Mi_SQL.Append(", " + Cls_Ayudante_Sintaxis.Fecha()); Mi_SQL.Append(")"); Conexion.HelperGenerico.Ejecutar_NonQuery(Mi_SQL.ToString()); Mi_SQL.Remove(0, Mi_SQL.Length); #endregion #region (Registrar Detalle Venta) if (Datos.P_Dt_Ventas is DataTable) { var detalles_grupo = Datos.P_Dt_Ventas.AsEnumerable() .Select(det_grupo => new { _producto_id = det_grupo.IsNull("PRODUCTO_ID") ? string.Empty : det_grupo.Field <string>("PRODUCTO_ID"), _cantidad = det_grupo.IsNull("CANTIDAD") ? 0.0M : det_grupo.Field <decimal>("CANTIDAD"), _costo = det_grupo.IsNull("COSTO") ? 0.0M : det_grupo.Field <decimal>("COSTO"), _total = det_grupo.IsNull("TOTAL") ? 0.0M : det_grupo.Field <decimal>("TOTAL") }); if (detalles_grupo.Any()) { foreach (var det_grupo in detalles_grupo) { Mi_SQL.Append("INSERT INTO " + Ope_Ventas_Detalles.Tabla_Ope_Ventas_Detalles + " (" + Ope_Ventas_Detalles.Campo_No_Venta); Mi_SQL.Append(", " + Ope_Ventas_Detalles.Campo_Producto_Id); Mi_SQL.Append(", " + Ope_Ventas_Detalles.Campo_Cantidad); Mi_SQL.Append(", " + Ope_Ventas_Detalles.Campo_Subtotal); Mi_SQL.Append(", " + Ope_Ventas_Detalles.Campo_Total); Mi_SQL.Append(", " + Ope_Ventas_Detalles.Campo_Usuario_Creo); Mi_SQL.Append(", " + Ope_Ventas_Detalles.Campo_Fecha_Creo); Mi_SQL.Append(") VALUES ('"); Mi_SQL.Append(No_Venta); Mi_SQL.Append("', '" + det_grupo._producto_id); Mi_SQL.Append("', " + det_grupo._cantidad); Mi_SQL.Append(", " + det_grupo._costo); Mi_SQL.Append(", " + det_grupo._total); Mi_SQL.Append(", 'Usuario Punto Venta Web"); Mi_SQL.Append("', " + Cls_Ayudante_Sintaxis.Fecha()); Mi_SQL.Append(")"); Conexion.HelperGenerico.Ejecutar_NonQuery(Mi_SQL.ToString()); Mi_SQL.Remove(0, Mi_SQL.Length); } } } #endregion Estatus_Operacion = true; if (!Transaccion_Activa) { Conexion.HelperGenerico.Terminar_Transaccion(); } } catch (Exception Ex) { Conexion.HelperGenerico.Abortar_Transaccion(); throw new Exception("Alta_Grupo: " + Ex.Message); } finally { if (!Transaccion_Activa) { Conexion.HelperGenerico.Cerrar_Conexion(); } } return(Estatus_Operacion); }
///******************************************************************************************************* ///NOMBRE_FUNCIÓN: Imprimir_Recibo ///DESCRIPCIÓN: Formar un string con la información del recibo de pago y anviar a la impresora ///PARÁMETROS: ///CREO: Roberto González Oseguera ///FECHA_CREO: 24-oct-2013 ///MODIFICÓ: ///FECHA_MODIFICÓ: ///CAUSA_MODIFICACIÓN: ///******************************************************************************************************* private void Imprimir_Recibo() { StringBuilder Texto_Imprimir = new StringBuilder(120); // consultar parámetros var Obj_Parametros = new Cls_Apl_Parametros_Negocio(); Obj_Parametros = Obj_Parametros.Obtener_Parametros(); int Cantidad_Producto; decimal Total_Producto; decimal Total_Pagado; Dictionary <string, string> Dic_Formas_Pago = Obtener_Formas_Pago(); // validar que la tabla no sea nulo if (Dt_Datos_Pago != null && Dt_Datos_Pago.Columns.Contains("ACCESOS")) { // formar texto del recibo Texto_Imprimir.AppendLine(Obj_Parametros.P_Encabezado_Recibo + "\n"); Texto_Imprimir.AppendLine("Fecha " + DateTime.Now.ToString("dd-MMM-yyyy HH:mm:ss").ToLower()); // encabezado detalles: Texto_Imprimir.AppendLine("".PadLeft(40, '-') + "\n" + " Producto Precio\n" + "".PadLeft(40, '-')); // recorrer la tabla foreach (DataRow Fila_Venta in Dt_Datos_Pago.Rows) { // obtener la cantidad de productos y validar que sea mayor que cero if (int.TryParse(Fila_Venta["CANTIDAD"].ToString(), out Cantidad_Producto) == true && Cantidad_Producto > 0) { // obtener el tipo de producto y recortar si excede la longitud Tipo_Acceso = Fila_Venta["PRODUCTO"].ToString(); if (Tipo_Acceso.Length > 23) { Tipo_Acceso = Tipo_Acceso.Substring(0, 23); } decimal.TryParse(Fila_Venta["TOTAL"].ToString(), out Total_Producto); // agregar línea producto Texto_Imprimir.AppendLine( Cantidad_Producto.ToString().PadLeft(4, '0') + " " + Tipo_Acceso.PadRight(23) + " " + Total_Producto.ToString("#,##0.00").PadLeft(10) ); // si es un SERVICIO y se imprime, enviar impresión a la impresora de servicios if (string.Compare(Fila_Venta["TIPO"].ToString(), "Servicio", true) == 0 && string.Compare(Fila_Venta["IMPRIMIR"].ToString(), "True", true) == 0 && !string.IsNullOrEmpty(Obj_Impresora_Caja.P_Impresora_Servicios)) { string Imprimir_Servicio = Tipo_Acceso + "\n\n\n\n\n"; // enviar a imprimir productos for (int i = 0; i < Cantidad_Producto; i++) { RawPrinterHelper.Enviar_Texto_Impresora(Obj_Impresora_Caja.P_Impresora_Servicios, Reemplazo_StringBuilder(new StringBuilder(Imprimir_Servicio)).ToString(), "Servicio " + i + 1 + No_Venta); } } } } // separador y total Texto_Imprimir.AppendLine("".PadLeft(40, '-') + "\n" + "Subtotal".PadRight(24) + Subtotal_Pago.ToString("c").PadLeft(15)); // si hay descuento: mostrar if (Descuento_Pago > 0) { Texto_Imprimir.AppendLine(("Descuento " + Motivo_Descuento).PadRight(29) + Descuento_Pago.ToString("c").PadLeft(10)); } Texto_Imprimir.AppendLine("Total".PadRight(24) + Total_Pago.ToString("c").PadLeft(15)); // agregar forma de pago if (Dt_Formas_Pago != null) { string Tarjeta = ""; string Str_Forma_Pago; foreach (DataRow Fila in Dt_Formas_Pago.Rows) { Str_Forma_Pago = ""; if (Dic_Formas_Pago.ContainsKey(Fila["Forma_Id"].ToString())) { Str_Forma_Pago = Dic_Formas_Pago[Fila["Forma_Id"].ToString()]; } decimal.TryParse(Fila["Monto_Pago"].ToString(), out Total_Pagado); Texto_Imprimir.AppendLine(("Su pago " + Str_Forma_Pago).PadRight(24) + Total_Pagado.ToString("c").PadLeft(15)); Tarjeta = Fila["Numero_Tarjeta_Banco"].ToString().Trim(); // si hay un número de tarjeta, mostrar últimos 3 caracteres if (!string.IsNullOrEmpty(Tarjeta)) { Texto_Imprimir.AppendLine(Tarjeta.Substring(Tarjeta.Length - 3, 3).PadLeft(16, '*')); } } } // folio y cajero Texto_Imprimir.AppendLine("\nFolio: " + No_Venta); Texto_Imprimir.AppendLine("Cajero: Usuario Punto Venta Web"); // obtener datos del grupo Cls_Ope_Grupos_Negocio Obj_Grupos_Negocio = new Cls_Ope_Grupos_Negocio(); Obj_Grupos_Negocio.P_No_Venta = No_Venta; DataTable Dt_Grupos = Obj_Grupos_Negocio.Consultar_Grupos(); if (Dt_Grupos != null && Dt_Grupos.Rows.Count > 0) { // agregar datos del grupo Texto_Imprimir.AppendLine("".PadLeft(40, '-') + "\n" + "Grupo " + Dt_Grupos.Rows[0][Ope_Ventas.Campo_Empresa].ToString()); Texto_Imprimir.AppendLine(Dt_Grupos.Rows[0][Ope_Ventas.Campo_Persona_Tramita].ToString()); } // separador y mensaje del día Texto_Imprimir.AppendLine("\n" + Obj_Parametros.P_Mensaje_Dia_Recibo + "\n\n\n\n\n\n\n\n"); //// enviar a la impresora RawPrinterHelper.Enviar_Texto_Impresora(Obj_Impresora_Caja.P_Impresora_Pago, Reemplazo_StringBuilder(Texto_Imprimir).ToString(), "Venta " + No_Venta); //RawPrinterHelper.Enviar_Texto_Impresora(Obj_Impresora_Caja.P_Impresora_Pago, Texto_Imprimir.ToString().Replace("ñ", "\x0A4").Replace("á", "\x0A0"), "Venta " + No_Venta); } }
/// <summary> /// Nombre: Actualizar_Grupo /// /// Descripción: Método que actualiza los datos del grupo. /// /// Usuario Creo: Juan Alberto Hernández Negrete /// Fecha Creo: 22 Octubre 2013 09:28 a.m. /// Usuario Modifico: /// Fecha Modifico: /// </summary> /// <param name="Datos">Objeto que permite transportar datos de la capa de usuarios a la de datos.</param> /// <returns>El estatus de la operación actual</returns> public static bool Actualizar_Grupo(Cls_Ope_Grupos_Negocio Datos) { StringBuilder Mi_SQL = new StringBuilder(); Boolean Estatus_Operacion = false; 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(); #region (Actualizar Datos Grupo) Mi_SQL.Append("update " + Ope_Ventas.Tabla_Ope_Ventas); Mi_SQL.Append(" set "); Mi_SQL.Append(Ope_Ventas.Campo_Persona_Tramita + "='" + Datos.P_Persona_Tramita + "'"); Mi_SQL.Append(", " + Ope_Ventas.Campo_Empresa + "='" + Datos.P_Empresa + "'"); Mi_SQL.Append(", " + Ope_Ventas.Campo_Fecha_Tramite + "=" + Cls_Ayudante_Sintaxis.Insertar_Fecha_Hora(Datos.P_Fecha_Tramite)); Mi_SQL.Append(", " + Ope_Ventas.Campo_Fecha_Inicio_Vigencia + "=" + Cls_Ayudante_Sintaxis.Insertar_Fecha_Hora(Datos.P_Fecha_Inicio_Vigencia)); Mi_SQL.Append(", " + Ope_Ventas.Campo_Fecha_Fin_Vigencia + "=" + Cls_Ayudante_Sintaxis.Insertar_Fecha_Hora(Datos.P_Fecha_Termino_Vigencia)); Mi_SQL.Append(", " + Ope_Ventas.Campo_Aplican_Dias_Festivos + "='" + Datos.P_Aplica_Dias_Festivos + "'"); Mi_SQL.Append(", " + Ope_Ventas.Campo_Total + "=" + Datos.P_Total); Mi_SQL.Append(", " + Ope_Ventas.Campo_Usuario_Modifico + "='" + MDI_Frm_Apl_Principal.Nombre_Usuario + "'"); Mi_SQL.Append(", " + Ope_Ventas.Campo_Fecha_Modifico + "=" + Cls_Ayudante_Sintaxis.Fecha()); Mi_SQL.Append(" where "); Mi_SQL.Append(Ope_Ventas.Campo_No_Venta + "='" + Datos.P_No_Venta + "'"); Conexion.HelperGenerico.Ejecutar_NonQuery(Mi_SQL.ToString()); Mi_SQL.Remove(0, Mi_SQL.Length); #endregion #region (Eliminar Detalle Grupo) Mi_SQL.Append("delete from " + Ope_Ventas_Detalles.Tabla_Ope_Ventas_Detalles); Mi_SQL.Append(" where "); Mi_SQL.Append(Ope_Ventas_Detalles.Campo_No_Venta + "='" + Datos.P_No_Venta + "'"); Conexion.HelperGenerico.Ejecutar_NonQuery(Mi_SQL.ToString()); Mi_SQL.Remove(0, Mi_SQL.Length); #endregion #region (Registrar Detalle Venta) if (Datos.P_Dt_Ventas is DataTable) { var detalles_grupo = Datos.P_Dt_Ventas.AsEnumerable() .Select(det_grupo => new { _producto_id = det_grupo.IsNull("PRODUCTO_ID") ? string.Empty : det_grupo.Field <string>("PRODUCTO_ID"), _cantidad = det_grupo.IsNull("CANTIDAD") ? 0 : det_grupo.Field <int>("CANTIDAD"), _costo = det_grupo.IsNull("COSTO") ? 0 : det_grupo.Field <decimal>("COSTO"), _total = det_grupo.IsNull("TOTAL") ? 0 : det_grupo.Field <decimal>("TOTAL") }); if (detalles_grupo.Any()) { foreach (var det_grupo in detalles_grupo) { Mi_SQL.Append("INSERT INTO " + Ope_Ventas_Detalles.Tabla_Ope_Ventas_Detalles + " (" + Ope_Ventas_Detalles.Campo_No_Venta); Mi_SQL.Append(", " + Ope_Ventas_Detalles.Campo_Producto_Id); Mi_SQL.Append(", " + Ope_Ventas_Detalles.Campo_Cantidad); Mi_SQL.Append(", " + Ope_Ventas_Detalles.Campo_Subtotal); Mi_SQL.Append(", " + Ope_Ventas_Detalles.Campo_Total); Mi_SQL.Append(", " + Ope_Ventas_Detalles.Campo_Usuario_Creo); Mi_SQL.Append(", " + Ope_Ventas_Detalles.Campo_Fecha_Creo); Mi_SQL.Append(") VALUES ('"); Mi_SQL.Append(Datos.P_No_Venta); Mi_SQL.Append("', '" + det_grupo._producto_id); Mi_SQL.Append("', " + det_grupo._cantidad); Mi_SQL.Append(", " + det_grupo._costo); Mi_SQL.Append(", " + det_grupo._total); Mi_SQL.Append(", '" + ERP_BASE.Paginas.Paginas_Generales.MDI_Frm_Apl_Principal.Nombre_Usuario); Mi_SQL.Append("', " + Cls_Ayudante_Sintaxis.Fecha()); Mi_SQL.Append(")"); Conexion.HelperGenerico.Ejecutar_NonQuery(Mi_SQL.ToString()); Mi_SQL.Remove(0, Mi_SQL.Length); } } } #endregion Estatus_Operacion = true; if (!Transaccion_Activa) { Conexion.HelperGenerico.Terminar_Transaccion(); } } catch (Exception Ex) { Conexion.HelperGenerico.Abortar_Transaccion(); throw new Exception("Actualizar_Grupo: " + Ex.Message); } finally { if (!Transaccion_Activa) { Conexion.HelperGenerico.Cerrar_Conexion(); } } return(Estatus_Operacion); }