///************************************************************************************* ///NOMBRE DE LA FUNCIÓN : Btn_Buscar_Logo_Click ///DESCRIPCIÓN : Evento para cargar una imagen para el banco y almacenarla en un directorio ///PARÁMETROS : ///CREÓ : Héctor Gabriel Galicia Luna ///FECHA_CREO : 04 Octubre 2013 ///MODIFICÓ : Roberto González Oseguera ///FECHA_MODIFICO : 21-oct-2013 ///CAUSA_MODIFICACIÓN : Se agregó parámetro directorio compartido a la ruta y se guarda temporalmente la imagen ///************************************************************************************* private void Btn_Buscar_Logo_Click(object sender, EventArgs e) { Ofd_Logo.Filter = "Archivos PNG (*.png)|*.png|Archivos JPG (*.jpg)|*.jpg|Archivos BMP (*.bmp)|*.bmp"; Stream Imagen_Respaldo; MemoryStream Imagen_Guardada = new MemoryStream(); var Obj_Parametros = new Cls_Apl_Parametros_Negocio(); Obj_Parametros = Obj_Parametros.Obtener_Parametros(); if (Ofd_Logo.ShowDialog() == DialogResult.OK) { try { Imagen_Respaldo = Ofd_Logo.OpenFile(); Bitmap Imagen = new Bitmap(Imagen_Respaldo); Pic_Logo.Image = Imagen; Ruta_Logo = Obj_Parametros.P_Directorio_Compartido + @"\" + Directorio_Bancos; Nombre_Archivo = "nombre_temporal" + Path.GetExtension(Ofd_Logo.FileName); Nueva_Imagen = true; } catch (Exception ex) { MessageBox.Show("Error al leer la imagen : " + ex.Message); } } }
///******************************************************************************* ///NOMBRE DE LA FUNCIÓN : Alta_Acceso ///DESCRIPCIÓN : Inserta un Registro en la base de datos. ///PARAMETROS : Accesos: Instancia de Cls_Ope_Accesos_Negocio con los valores de los campos a dar de alta. ///CREO : Antonio Salvador Benavides Guardado ///FECHA_CREO : 03/Octubre/2013 ///MODIFICO : ///FECHA_MODIFICO : ///CAUSA_MODIFICACIÓN : ///******************************************************************************* public static String Alta_Acceso(Cls_Ope_Accesos_Negocio Accesos) { String Mi_SQL = ""; String Consecutivo = ""; String Str_Informacion_Acceso = ""; 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(); // si no se especifica fecha inicio vigencia, asignar fecha actual if (Accesos.P_Vigencia_Inicio == DateTime.MinValue) { Accesos.P_Vigencia_Inicio = DateTime.Today; } // si no se especifica fecha final de vigencia, asignar fecha actual más parámetro if (Accesos.P_Vigencia_Fin == DateTime.MinValue) { var Obj_Paramentros = new Cls_Apl_Parametros_Negocio(); Obj_Paramentros = Obj_Paramentros.Obtener_Parametros(); Accesos.P_Vigencia_Fin = Accesos.P_Vigencia_Inicio.AddDays(Obj_Paramentros.P_Dias_Vigencia); } // se agrega la fecha de la valides del folio Str_Informacion_Acceso = Accesos.P_Vigencia_Fin.ToString("dd/MMM/yyyy") + ","; //Consecutivo = Cls_Metodos_Generales.Obtener_ID_Consecutivo(Ope_Accesos.Tabla_Ope_Accesos, Ope_Accesos.Campo_No_Acceso, "", 10); String Where = Ope_Accesos.Campo_No_Acceso + " like ('" + MDI_Frm_Apl_Principal.Serie_Caja + "%')"; Consecutivo = "" + Cls_Metodos_Generales.Obtener_ID_Consecutivo_Numerico_Accesos(Ope_Accesos.Tabla_Ope_Accesos, Ope_Accesos.Campo_No_Acceso, Where); String Auxiliar = ""; Auxiliar = MDI_Frm_Apl_Principal.Serie_Caja; Auxiliar += Convert.ToInt64(Consecutivo).ToString("000000000"); Consecutivo = Auxiliar; //if (Consecutivo == "0" || Consecutivo == "1") //{ // Consecutivo = MDI_Frm_Apl_Principal.Serie_Caja; // for (int Cont_For = Consecutivo.Length; Cont_For < 10; Cont_For++) // { // Consecutivo += "0"; // } //} // se agrega el folio Str_Informacion_Acceso += Consecutivo; // se agrega la caja Str_Informacion_Acceso += "," + MDI_Frm_Apl_Principal.Caja_ID; Mi_SQL += "INSERT INTO " + Ope_Accesos.Tabla_Ope_Accesos + " ("; Mi_SQL += Ope_Accesos.Campo_No_Acceso; Mi_SQL += ", " + Ope_Accesos.Campo_No_Venta; Mi_SQL += ", " + Ope_Accesos.Campo_Producto_ID; Mi_SQL += ", " + Ope_Accesos.Campo_Terminal_ID; //Mi_SQL += ", " + Ope_Accesos.Campo_Numero_Serie; Mi_SQL += ", " + Ope_Accesos.Campo_Vigencia_Inicio; Mi_SQL += ", " + Ope_Accesos.Campo_Vigencia_Fin; Mi_SQL += ", " + Ope_Accesos.Campo_Estatus; Mi_SQL += ", " + Ope_Accesos.Campo_Tipo; Mi_SQL += ", " + Ope_Accesos.Campo_Usuario_Creo; Mi_SQL += ", " + Ope_Accesos.Campo_Fecha_Creo; Mi_SQL += ", " + Ope_Accesos.Campo_Serie; //Mi_SQL += ", " + Ope_Accesos.Campo_Byts_Numero_Serie; Mi_SQL += ")"; Mi_SQL += " VALUES ("; Mi_SQL += "'" + Consecutivo + "', "; if (Accesos.P_No_Venta != "" && Accesos.P_No_Venta != null) { Mi_SQL += "'" + Accesos.P_No_Venta + "', "; } else { Mi_SQL += "NULL, "; } if (Accesos.P_Producto_ID != "" && Accesos.P_Producto_ID != null) { Mi_SQL += "'" + Accesos.P_Producto_ID + "', "; } else { Mi_SQL += "NULL, "; } if (Accesos.P_Terminal_ID != "" && Accesos.P_Terminal_ID != null) { Mi_SQL += "'" + Accesos.P_Terminal_ID + "', "; } else { Mi_SQL += "NULL, "; } //if (Accesos.P_Numero_Serie != "" && Accesos.P_Numero_Serie != null) //{ // Mi_SQL += "'" + Accesos.P_Numero_Serie + "', "; //} //else //{ // Mi_SQL += "NULL, "; //} Mi_SQL += Cls_Ayudante_Sintaxis.Insertar_Fecha(Accesos.P_Vigencia_Inicio) + ", "; Mi_SQL += Cls_Ayudante_Sintaxis.Insertar_Fecha(Accesos.P_Vigencia_Fin) + ", "; if (Accesos.P_Estatus != "" && Accesos.P_Estatus != null) { Mi_SQL += "'" + Accesos.P_Estatus + "', "; } else { Mi_SQL += "NULL, "; } if (Accesos.P_Tipo != "" && Accesos.P_Tipo != null) { Mi_SQL += "'" + Accesos.P_Tipo + "', "; } else { Mi_SQL += "NULL, "; } Mi_SQL += "'" + MDI_Frm_Apl_Principal.Nombre_Usuario + "', " + Cls_Ayudante_Sintaxis.Fecha(); //if (Accesos.P_Byts_Numero_Serie != "" && Accesos.P_Byts_Numero_Serie != null) //{ // Mi_SQL += ", '" + Accesos.P_Byts_Numero_Serie + "' "; //} //else //{ // Mi_SQL += ", NULL "; //} Mi_SQL += ", '" + MDI_Frm_Apl_Principal.Serie_Caja + "' "; Mi_SQL += ")"; Conexion.HelperGenerico.Ejecutar_NonQuery(Mi_SQL.ToString()); // si no había una transacción activa antes de llamar al método, terminar la transacción if (!Transaccion_Activa) { Conexion.HelperGenerico.Terminar_Transaccion(); } } catch (Exception E) { Conexion.HelperGenerico.Abortar_Transaccion(); throw new Exception("Alta_Acceso: " + E.Message); } finally { // si no había una transacción activa antes de iniciar el método actual, terminar la transacción if (!Transaccion_Activa) { Conexion.HelperGenerico.Cerrar_Conexion(); } } return(Str_Informacion_Acceso); }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void Imprimir_Solicitud(object sender, PrintPageEventArgs e) { try { float linesPerPage = 0; float yPos = 0; int count = 0; float leftMargin = 5; float topMargin = 55; string line = null; List <string> Texto_Imprimir = new List <string>(); Cls_Apl_Parametros_Negocio Obj_Parametros = new Cls_Apl_Parametros_Negocio(); // se obtiene la imagen del directorio compartido Obj_Parametros = Obj_Parametros.Obtener_Parametros(); //string Ruta_Archivo = Obj_Parametros.P_Directorio_Compartido + "/Imagenes/Accesos/Acceso.png"; //Image Logo = Image.FromFile(Ruta_Archivo); Texto_Imprimir.Add(" BANORTE\n");// Encabezado del banco Texto_Imprimir.Add(" Cancelación"); Texto_Imprimir.Add("\n\n"); Texto_Imprimir.Add(" MUNICIPIO DE GUANAJUAT\n");// encabezado del cliente Texto_Imprimir.Add(" INT MUSEO MOMIAS TEPETAPA SN\n"); Texto_Imprimir.Add(" Explanada del Panteón Municipal s/n,\n"); Texto_Imprimir.Add(" Centro, C.P. 36000, Guanajuato, México.\n"); Texto_Imprimir.Add(" Teléfono: (473) 732 06 39"); Texto_Imprimir.Add("\n"); Texto_Imprimir.Add("\n Afiliación: " + Str_Numero_Afiliacion); // Afiliacion Texto_Imprimir.Add("\n Terminal ID: " + Str_Numero_Serie); // terminal id Texto_Imprimir.Add("\n Número de control: " + Str_Numero_Control); // no de control Texto_Imprimir.Add("\n"); Texto_Imprimir.Add("\n Número de tarjeta"); Texto_Imprimir.Add("\n xxxxxxxxxxxx" + Txt_Numero_Tarjeta.Text.Substring(12, 4)); Texto_Imprimir.Add("\n"); Texto_Imprimir.Add("\n______________ APROBADA _____________"); Texto_Imprimir.Add("\n"); Texto_Imprimir.Add("\n Codigo Autoricación: " + Str_Auth_Code); Texto_Imprimir.Add("\n Referencia: " + Str_Referencia); Texto_Imprimir.Add("\n Referencia original: " + Txt_Numero_Transaccion.Text); Texto_Imprimir.Add("\n\n");// importe Texto_Imprimir.Add("\n Importe: " + Convert.ToDouble(Txt_Monto_Cargar.Text).ToString("C2")); Texto_Imprimir.Add("\n"); Texto_Imprimir.Add("\n"); Texto_Imprimir.Add("\n"); Texto_Imprimir.Add("\n__________________________________\n");// Titular de la tarjeta //Texto_Imprimir.Add("\n " + Txt_Titular_Tarjeta.Text); Texto_Imprimir.Add("\n"); Texto_Imprimir.Add("\n Fecha: " + Dtime_Fecha_Transaccion.ToLongDateString()); Texto_Imprimir.Add("\n Hora: " + Dtime_Fecha_Transaccion.ToLongTimeString()); Texto_Imprimir.Add("\n"); linesPerPage = e.MarginBounds.Height / printFont.GetHeight(e.Graphics); float Height = 0; foreach (string Linea in Texto_Imprimir) { Height = printFont.GetHeight(e.Graphics) + 5; yPos = topMargin + (count * Height); e.Graphics.DrawString(Linea, printFont, Brushes.Black, leftMargin, yPos, new StringFormat()); count++; } e.HasMorePages = false; } catch (Exception ex) { throw ex; } }
///******************************************************************************* ///NOMBRE DE LA FUNCIÓN : Alta_Acceso ///DESCRIPCIÓN : Inserta un Registro en la base de datos. ///PARAMETROS : Accesos: Instancia de Cls_Ope_Accesos_Negocio con los valores de los campos a dar de alta. ///CREO : Antonio Salvador Benavides Guardado ///FECHA_CREO : 03/Octubre/2013 ///MODIFICO : ///FECHA_MODIFICO : ///CAUSA_MODIFICACIÓN : ///******************************************************************************* public static string Alta_Acceso(Cls_Ope_Accesos_Negocio Accesos) { String Mi_SQL = ""; String Consecutivo = ""; 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(); // si no se especifica fecha inicio vigencia, asignar fecha actual if (Accesos.P_Vigencia_Inicio == DateTime.MinValue) { Accesos.P_Vigencia_Inicio = DateTime.Today; } // si no se especifica fecha final de vigencia, asignar fecha actual más parámetro if (Accesos.P_Vigencia_Fin == DateTime.MinValue) { var Obj_Paramentros = new Cls_Apl_Parametros_Negocio(); Obj_Paramentros = Obj_Paramentros.Obtener_Parametros(); Accesos.P_Vigencia_Fin = Accesos.P_Vigencia_Inicio.AddDays(Obj_Paramentros.P_Dias_Vigencia); } string where = "No_Acceso like '0%'"; Consecutivo = Cls_Metodos_Generales.Obtener_ID_Consecutivo(Ope_Accesos.Tabla_Ope_Accesos, Ope_Accesos.Campo_No_Acceso, where, 10); Mi_SQL += "INSERT INTO " + Ope_Accesos.Tabla_Ope_Accesos + " ("; Mi_SQL += Ope_Accesos.Campo_No_Acceso; Mi_SQL += ", " + Ope_Accesos.Campo_No_Venta; Mi_SQL += ", " + Ope_Accesos.Campo_Producto_ID; Mi_SQL += ", " + Ope_Accesos.Campo_Terminal_ID; Mi_SQL += ", " + Ope_Accesos.Campo_Numero_Serie; Mi_SQL += ", " + Ope_Accesos.Campo_Vigencia_Inicio; Mi_SQL += ", " + Ope_Accesos.Campo_Vigencia_Fin; Mi_SQL += ", " + Ope_Accesos.Campo_Estatus; Mi_SQL += ", " + Ope_Accesos.Campo_Tipo; Mi_SQL += ", " + Ope_Accesos.Campo_Usuario_Creo; Mi_SQL += ", " + Ope_Accesos.Campo_Fecha_Creo; Mi_SQL += ")"; Mi_SQL += " VALUES ("; Mi_SQL += "'" + Consecutivo + "', "; if (Accesos.P_No_Venta != "" && Accesos.P_No_Venta != null) { Mi_SQL += "'" + Accesos.P_No_Venta + "', "; } else { Mi_SQL += "NULL, "; } if (Accesos.P_Producto_ID != "" && Accesos.P_Producto_ID != null) { Mi_SQL += "'" + Accesos.P_Producto_ID + "', "; } else { Mi_SQL += "NULL, "; } if (Accesos.P_Terminal_ID != "" && Accesos.P_Terminal_ID != null) { Mi_SQL += "'" + Accesos.P_Terminal_ID + "', "; } else { Mi_SQL += "NULL, "; } if (Accesos.P_Numero_Serie != "" && Accesos.P_Numero_Serie != null) { Mi_SQL += "'" + Accesos.P_Numero_Serie + "', "; } else { Mi_SQL += "NULL, "; } Mi_SQL += Cls_Ayudante_Sintaxis.Insertar_Fecha(Accesos.P_Vigencia_Inicio) + ", "; Mi_SQL += Cls_Ayudante_Sintaxis.Insertar_Fecha(Accesos.P_Vigencia_Fin) + ", "; if (Accesos.P_Estatus != "" && Accesos.P_Estatus != null) { Mi_SQL += "'" + Accesos.P_Estatus + "', "; } else { Mi_SQL += "NULL, "; } if (Accesos.P_Tipo != "" && Accesos.P_Tipo != null) { Mi_SQL += "'" + Accesos.P_Tipo + "', "; } else { Mi_SQL += "NULL, "; } Mi_SQL += "'Usuario Punto Venta Web', " + Cls_Ayudante_Sintaxis.Fecha() + ")"; Conexion.HelperGenerico.Ejecutar_NonQuery(Mi_SQL.ToString()); // si no había una transacción activa antes de llamar al método, terminar la transacción if (!Transaccion_Activa) { Conexion.HelperGenerico.Terminar_Transaccion(); } return(Consecutivo); } catch (Exception E) { Conexion.HelperGenerico.Abortar_Transaccion(); throw new Exception("Alta_Acceso: " + E.Message); } finally { // si no había una transacción activa antes de iniciar el método actual, terminar la transacción if (!Transaccion_Activa) { Conexion.HelperGenerico.Cerrar_Conexion(); } } }
///******************************************************************************************************* ///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); } }