Ejemplo n.º 1
0
        ///*******************************************************************************
        ///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);
        }