private void CargarDataGrid()
        {
            Object matricula = txtBoxMatricula.Text;
            Object fabricante= cmbBoxFabricante.SelectedValue;
            Object modelo = cmbBoxModelo.SelectedValue;
            if (fabricante == null)
            {
                fabricante= ' ';
                modelo = ' ';
            }

                Conexion cnn = new Conexion();
                cnn.Abrir();
                cnn.ArmarProcedimiento("SFX.BuscarAeronave");
                cnn.AgregarParametro("Matricula", matricula.ToString());
                cnn.AgregarParametro("Fabricante", fabricante.ToString());
                cnn.AgregarParametro("Modelo", modelo.ToString());
            // en producción retirar este messageBox
                MessageBox.Show("El valor de Matricula seleccionado es: " + matricula.ToString() + "\n"
                    + "El valor de Fabricante seleccionado es: " + fabricante.ToString() + "\n"
                    + "El modelo seleccionado es: " + modelo.ToString());
                try
                {
                    cnn.LoadDataGridView(dgvBajaAeronave);
                    cnn.Cerrar();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("No se pudo hacer la consulta a la base de datos" + ex.ToString());
                }
        }
        private void cmdGuardar_Click(object sender, EventArgs e)
        {
            try
            {
                Conexion cnn = new Conexion();

                cnn.ArmarProcedimiento("SFX.InsertarAeronave");

                cnn.AgregarParametro("@matricula", txtMatricula.Text);
                cnn.AgregarParametro("@mod_id",  cmbBoxModelo.SelectedValue);
                cnn.AgregarParametro("@kg_disponibles", txtKg.Text);
                cnn.AgregarParametro("@cantPasillo", txtPasillo.Text);
                cnn.AgregarParametro("@cantVentanilla", txtVentanilla.Text);
                cnn.AgregarParametro("@ser_id", cmbBoxTipoServ.SelectedValue);

                cnn.Abrir();

                cnn.EjecutarProcedimiento();

                cnn.Cerrar();
            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
        private void cmdCrear_Click(object sender, EventArgs e)
        {
            try
            {
                /*
                string ConnectionString = @"Data Source=HERN-PC\SQLSERVER2012;Initial Catalog=GD2C2015;User ID=gd;Password=gd2015";

                SqlConnection cnn = new SqlConnection(ConnectionString);
                SqlCommand cmd = new SqlCommand("InsertarUsuario", cnn);
                cmd.CommandType = CommandType.StoredProcedure;

                //cmd.Parameters.Add("@nombre", SqlDbType.Char, 8);
                //cmd.Parameters.Add("@password", SqlDbType.Char, 20);
                //cmd.Parameters.Add("@pregunta", SqlDbType.Char, 255);
                //cmd.Parameters.Add("@respuesta", SqlDbType.Char, 255);
                //cmd.Parameters["@nombre"].Value = txtNombre.Text;
                //cmd.Parameters["@password"].Value = txtPassword.Text;
                //cmd.Parameters["@pregunta"].Value = txtPregunta.Text;
                //cmd.Parameters["@respuesta"].Value = txtRespuesta.Text;

                cmd.Parameters.AddWithValue("@nombre", txtNombre.Text);
                cmd.Parameters.AddWithValue("@password", txtPassword.Text);
                cmd.Parameters.AddWithValue("@pregunta", txtPregunta.Text);
                cmd.Parameters.AddWithValue("@respuesta", txtRespuesta.Text);

                cnn.Open();
                int resultado = cmd.ExecuteNonQuery();
                MessageBox.Show("Datos insertados: " + resultado.ToString());
                cnn.Close();
                */

                Conexion cnn = new Conexion();

                cnn.ArmarProcedimiento("InsertarUsuario");

                cnn.AgregarParametro("@nombre", txtNombre.Text);
                cnn.AgregarParametro("@password", txtPassword.Text);
                cnn.AgregarParametro("@pregunta", txtPregunta.Text);
                cnn.AgregarParametro("@respuesta", txtRespuesta.Text);

                cnn.Abrir();

                cnn.EjecutarProcedimiento();

                cnn.Cerrar();
            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
 private void CargarDataGrid()
 {
     Conexion cnn = new Conexion();
     cnn.Abrir();
     cnn.ArmarProcedimiento("SFX.BuscarCiudad");
     cnn.AgregarParametro("CiudadNombre", txtBoxCiudadModif.Text);
     try
     {
         cnn.LoadDataGridView(dataGridViewCiudadModif);
         cnn.Cerrar();
     }
     catch (Exception ex)
     {
         MessageBox.Show("No se pudo hacer la consulta a la base de datos" + ex.ToString());
     }
 }
예제 #5
0
 private void CargarDataGrid(String ciudadOrigenId, String ciudadDestinoId, String fechaVuelo)
 {
     Conexion cnn = new Conexion();
     cnn.Abrir();
     cnn.ArmarProcedimiento("SFX.GetViajesDisponibles");
     cnn.AgregarParametro("CiudadOrigId", ciudadOrigenId);
     cnn.AgregarParametro("CiudadDestId", ciudadDestinoId);
     cnn.AgregarParametro("FechaVuelo", fechaVuelo);
     try
     {
         cnn.LoadDataGridView(dataGridViewViajes);
         cnn.Cerrar();
     }
     catch (Exception ex)
     {
         MessageBox.Show("No se pudo hacer la consulta a la base de datos" + ex.ToString());
     }
 }
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (this.dataGridView1.Columns[e.ColumnIndex].Name == "Eliminar")
            {
                Conexion cnn = new Conexion();

                cnn.ArmarProcedimiento("SFX.BajaCiudad");

                cnn.AgregarParametro("@ID", dataGridView1.Rows[e.RowIndex].Cells["cia_id"].Value);

                cnn.Abrir();

                cnn.EjecutarProcedimiento();

                cnn.Cerrar();

            }
        }
        private void InitializeComboBox()
        {
            Conexion cnn = new Conexion();
            cnn.Abrir();
            DataTable dt1 = cnn.EjecutarConsulta("select Mod_ID, Mod_Nombre from SFX.t_modelos");
            cmbBoxModelo.DataSource = dt1.DefaultView;
            cmbBoxModelo.DisplayMember = "Mod_Nombre";
            cmbBoxModelo.ValueMember = "Mod_id";
            cmbBoxModelo.SelectedIndex = -1;

            DataTable dt2 = cnn.EjecutarConsulta("select * from SFX.t_servicios");
            cmbBoxTipoServ.DataSource = dt2.DefaultView;
            cmbBoxTipoServ.DisplayMember = "Ser_Descripcion";
            cmbBoxTipoServ.ValueMember = "Ser_id";
            cmbBoxTipoServ.SelectedIndex = -1;

            cnn.Cerrar();
        }
 private void cmdGuardar_Click(object sender, EventArgs e)
 {
     Conexion cnn = new Conexion();
     cnn.Abrir();
     cnn.ArmarProcedimiento("SFX.ModificarCiudad");
     cnn.AgregarParametro("ID",txtBoxIDCiudad.Text);
     cnn.AgregarParametro("CiudadNombre", txtBoxNombreCiudad.Text);
     try
     {
         cnn.EjecutarProcedimiento();
         cnn.Cerrar();
     }
     catch (Exception ex)
     {
         MessageBox.Show("No se pudo actualizar la base de datos" + ex.ToString());
     }
     Close();
 }
        private void cmdGuardar_Click(object sender, EventArgs e)
        {
            try
            {
                Conexion cnn = new Conexion();

                cnn.ArmarProcedimiento("SFX.InsertarCiudad");

                cnn.AgregarParametro("CiudadNombre", txtCiudad.Text);

                cnn.Abrir();

                cnn.EjecutarProcedimiento();

                cnn.Cerrar();
            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
예제 #10
0
        private void cmdLogin_Click(object sender, EventArgs e)
        {
            try
            {

                Conexion cnn = new Conexion();

                cnn.ArmarFuncion("ExisteUsuario");

                cnn.AgregarParametro("@userName", txtUsuario.Text);
                cnn.AgregarParametro("@password", txtContra.Text);

                cnn.Abrir();

                int result = cnn.EjecutarFuncion();

                if (result > 0)
                {
                    FrmPrincipal f = new FrmPrincipal();
                    f.Show();
                    this.Hide();
                }
                else
                {
                    MessageBox.Show("Datos incorrectos...");
                    txtUsuario.Text = "";
                    txtContra.Text = "";
                }

                cnn.Cerrar();

            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
예제 #11
0
    private string DuplicarOrden(string sOrden, string sAccDoc)
    {
        string sResul = "";

        #region abrir conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccion(oConn);
        }
        catch (Exception ex)
        {
            if (oConn.State == ConnectionState.Open)
            {
                Conexion.Cerrar(oConn);
            }
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }
        #endregion
        try
        {
            int nDuplicada = ORDENFAC.Duplicar(tr, int.Parse(sOrden), (int)Session["UsuarioActual"], sAccDoc);
            Conexion.CommitTransaccion(tr);

            return("OK@#@" + nDuplicada.ToString());
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            return("Error@#@" + Errores.mostrarError("Error al duplicar la orden de facturación.", ex));
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
    }
예제 #12
0
        public PQRSDTO BuscarPorId(int id)
        {
            try {
                Conexion.Abrir();
                string sql = "SELECT TOP(1) * " +
                             "FROM PQRS " +
                             "WHERE PQRSId = " + id;
                SqlCommand    cmd    = new SqlCommand(sql, Conexion.Conn);
                SqlDataReader reader = cmd.ExecuteReader();

                if (reader.Read())
                {
                    PQRSDTO pqrs = new PQRSDTO(
                        Convert.ToInt32(reader["PQRSId"].ToString()),
                        reader["RemitentePQRS"].ToString(),
                        reader["MensajePQRS"].ToString(),
                        new TipoPQRSDAO().BuscarPorId(Convert.ToInt32(reader["TipoPQRSId"].ToString())),
                        new EstadoPQRSDAO().BuscarPorId(Convert.ToInt32(reader["EstadoPQRSId"].ToString()))
                        );
                    pqrs.Respuesta = (reader["RespuestaPQRS"] != null) ? reader["RespuestaPQRS"].ToString() : null;
                    pqrs.Usuario   = (reader["UsuarioId"] != null) ? new UsuarioDAO().BuscarPorId(Convert.ToInt32(reader["UsuarioId"].ToString())) : null;
                    return(pqrs);
                }
                else
                {
                    return(null);
                }
            } catch (SqlException e) {
                Console.WriteLine(e.StackTrace);
                return(null);
            } finally {
                if (Conexion.Conn != null)
                {
                    Conexion.Cerrar();
                }
            }
        }
    protected string Procesar(string strDatos)
    {
        string sResul = "";

        #region apertura de conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccionSerializable(oConn);
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }
        #endregion

        try
        {
            SEGMESPROYECTOSUBNODO.BorrarMesesAbiertos(tr, strDatos);

            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al borrar los meses abiertos indicados.", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }

        return(sResul);
    }
예제 #14
0
        /// <summary>
        /// Obtiene las entidades según los valores de un filtro.
        /// </summary>
        /// <remarks>
        ///     Registro de versiones:
        ///
        ///         1.0 02/08/2016 Marcos Abraham Hernández Bravo (Ada Ltda.): versión inicial.
        /// </remarks>
        /// <param name="filtro">Mensaje de filtro</param>
        /// <returns>Colección de mensajes que cumplen el filtro.</returns>
        public IList <MensajeTO> ObtenerSegunFiltro(MensajeTO filtro)
        {
            IList <MensajeTO> retorno = new List <MensajeTO>();

            try
            {
                Conexion.Abrir();

                DynamicQuery consulta = Conexion.CrearQueryDinamica();
                AgregarParametros(filtro, consulta);

                foreach (IDictionary <string, object> registro in consulta.Consultar())
                {
                    MensajeTO entidad = Mapear(registro);
                    retorno.Add(entidad);
                }
            }
            finally
            {
                Conexion.Cerrar();
            }

            return(retorno);
        }
예제 #15
0
        private void dgvProducto_CellContentClick(object sender, DataGridViewCellEventArgs e)//Agregar Producto al pedido
        {
            DataGridView dgv = (DataGridView)sender;

            if (dgv.Columns[e.ColumnIndex] is DataGridViewButtonColumn && e.RowIndex >= 0)
            {
                if (Convert.ToInt32(dgv[3, e.RowIndex].Value) > 0)
                {
                    string _res = "";
                    _producto                = new Producto();
                    _producto.Id_Producto    = Convert.ToInt32(dgv[0, e.RowIndex].Value);
                    _producto.Nombre         = dgv[1, e.RowIndex].Value.ToString();
                    _producto.Precio_General = Convert.ToSingle(dgv[2, e.RowIndex].Value);
                    _producto.Cantidad       = Convert.ToInt32(dgv[3, e.RowIndex].Value);
                    Producto _aux = new Producto();
                    _co.Abrir();
                    _co.AtraparProducto(_producto.Id_Producto, ref _aux, ref _res);
                    _co.Cerrar();
                    _producto.Tipo = _aux.Tipo;
                    bool _encontrado = false;
                    if (_prod.Count > 0)
                    {
                        Ordenar(_prod, 0, _prod.Count - 1);
                        _encontrado = Buscar(_prod, _producto, 0, _prod.Count - 1);
                    }
                    if (!_encontrado)
                    {
                        this.Enabled = false;
                        _ca          = new Cantidad();
                        _ca.inicializar(Convert.ToInt32(dgv[3, e.RowIndex].Value), this, e.RowIndex);
                        _ca.Show();
                    }
                    else
                    {
                        MessageBox.Show("Este producto ya se encuentra en el pedido", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                else
                {
                    MessageBox.Show("Producto terminado", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
예제 #16
0
    protected string Grabar(string strDatosModoFac)
    {
        string sResul = "", sNuevosModoFacs = "";
        //bool bEstado;
        int idSN2;//, idModoFac;

        #region conexion
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccion(oConn);
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }
        #endregion
        try
        {
            #region ModoFac
            int      idNuevoModoFac;
            string[] aModoFac = Regex.Split(strDatosModoFac, "///");

            foreach (string oModoFac in aModoFac)
            {
                if (oModoFac == "")
                {
                    break;
                }
                string[] aValoresModoFac = Regex.Split(oModoFac, "##");
                ///aValoresModoFac[0] = opcionBD;
                ///aValoresModoFac[1] = idSN2;
                ///aValoresModoFac[2] = idModoFac;
                ///aValoresModoFac[3] = Valor;
                ///aValoresModoFac[4] = Activo;

                idSN2 = int.Parse(aValoresModoFac[1]);

                bool bEstadoModoFac = false;
                if (aValoresModoFac[4] == "1")
                {
                    bEstadoModoFac = true;
                }

                switch (aValoresModoFac[0])
                {
                case "I":

                    idNuevoModoFac   = MODOFACTSN2.Insert(tr, Utilidades.unescape(aValoresModoFac[3]), bEstadoModoFac, idSN2);
                    sNuevosModoFacs += aValoresModoFac[2] + "##" + idNuevoModoFac.ToString() + "@@";
                    break;

                case "U":
                    MODOFACTSN2.Update(tr, int.Parse(aValoresModoFac[2]), Utilidades.unescape(aValoresModoFac[3]), bEstadoModoFac, idSN2);
                    break;

                case "D":
                    MODOFACTSN2.Delete(tr, int.Parse(aValoresModoFac[2]));
                    break;
                }
            }
            #endregion

            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@" + sNuevosModoFacs;
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al grabar los modos de facturación.", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }

        return(sResul);
    }
    protected string Procesar(string sSegMesProy, string nPSN, string sConsPersonas, string sConsNivel, string sProdProfesional, string sProdPerfil, string sAvance, string sPeriodCons, string sPeriodProd, string sClasesAClonar, string strMeses)
    {
        string sResul = "", sw = "0";
        int    nSMPSN_destino    = 0;
        int    t325_anomes_maxC  = 0;
        int    t325_anomes_minA  = 0;
        int    t303_ultcierreeco = 0;

        #region apertura de conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccionSerializable(oConn);
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }
        #endregion

        try
        {
            DataSet ds = SEGMESPROYECTOSUBNODO.ObtenerMesesReferenciaParaClonado(tr, int.Parse(nPSN));
            foreach (DataRow oMes in ds.Tables[0].Rows)
            {
                if (oMes["t325_estado"].ToString() == "C")
                {
                    t325_anomes_maxC = (int)oMes["t325_anomes"];
                }
                if (oMes["t325_estado"].ToString() == "A")
                {
                    t325_anomes_minA = (int)oMes["t325_anomes"];
                }
            }
            foreach (DataRow oMes in ds.Tables[1].Rows)
            {
                t303_ultcierreeco = (int)oMes["t303_ultcierreeco"];
            }

            string[] aAnomes = Regex.Split(strMeses, "##");
            foreach (string oAnomes in aAnomes)
            {
                if (oAnomes == "")
                {
                    continue;
                }

                if (int.Parse(oAnomes) <= t303_ultcierreeco ||
                    int.Parse(oAnomes) <= t325_anomes_maxC)
                {
                    sw = "1";
                    continue;
                }

                nSMPSN_destino = SEGMESPROYECTOSUBNODO.ExisteSegMesProy(tr, int.Parse(nPSN), int.Parse(oAnomes));
                if (nSMPSN_destino != 0)
                {
                    SEGMESPROYECTOSUBNODO.Delete(tr, nSMPSN_destino);
                }

                nSMPSN_destino = SEGMESPROYECTOSUBNODO.Insert(tr, int.Parse(nPSN), int.Parse(oAnomes), "A", 0, 0, false, 0, 0);

                SEGMESPROYECTOSUBNODO.ClonarMes(tr, int.Parse(sSegMesProy),
                                                nSMPSN_destino,
                                                sClasesAClonar,
                                                (sConsPersonas == "1") ? true : false,
                                                (sConsNivel == "1") ? true : false,
                                                (sProdProfesional == "1") ? true : false,
                                                (sProdPerfil == "1") ? true : false,
                                                (sAvance == "1") ? true : false,
                                                (sPeriodCons == "1") ? true : false,
                                                (sPeriodProd == "1") ? true : false,
                                                SUPER.Capa_Negocio.Utilidades.EsAdminProduccion()
                                                );
            }
            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@" + sw;
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al clonar los datos del mes de referencia.", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }

        return(sResul);
    }
예제 #18
0
    private string Grabar(string strFiguras)
    {
        string sResul = "";
        int    nID    = -1;

        //string[] aDatosBasicos = null;


        #region abrir conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccionSerializable(oConn);
        }
        catch (Exception ex)
        {
            if (oConn.State == ConnectionState.Open)
            {
                Conexion.Cerrar(oConn);
            }
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }
        #endregion
        try
        {
            #region Datos Figuras
            if (strFiguras != "")//No se ha modificado nada de la pestaña de Figuras
            {
                string[] aUsuarios = Regex.Split(strFiguras, "///");
                foreach (string oUsuario in aUsuarios)
                {
                    if (oUsuario == "")
                    {
                        continue;
                    }
                    string[] aFig = Regex.Split(oUsuario, "##");

                    ///aFig[0] = bd
                    ///aFig[1] = idUsuario
                    ///aFig[2] = Figuras

                    if (aFig[0] == "D")
                    {
                        FIGURAPSN_CONTRATO_POOL.DeleteUsuario(tr, int.Parse(aFig[1]));
                    }
                    else
                    {
                        string[] aFiguras = Regex.Split(aFig[2], ",");
                        foreach (string oFigura in aFiguras)
                        {
                            if (oFigura == "")
                            {
                                continue;
                            }
                            string[] aFig2 = Regex.Split(oFigura, "@");
                            ///aFig2[0] = bd
                            ///aFig2[1] = Figura
                            if (aFig2[0] == "D")
                            {
                                FIGURAPSN_CONTRATO_POOL.Delete(tr, int.Parse(aFig[1]), aFig2[1]);
                            }
                            else
                            {
                                FIGURAPSN_CONTRATO_POOL.Insert(tr, int.Parse(aFig[1]), aFig2[1]);
                            }
                        }
                    }
                }
            }

            #endregion

            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@" + nID.ToString("#,###");
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al grabar los datos del contrato", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
    //private string ObtenerDocumentos(string sIdTarea)
    //{
    //    StringBuilder sb = new StringBuilder();
    //    bool bModificable;
    //    SqlDataReader dr = DOCUT.Catalogo(null, int.Parse(sIdTarea), "", "", "", null, null, null, true, null, 3, 0);

    //    sb.Append("<div style='background-image:url(../../../Images/imgFT20.gif); width:0%; height:0%'>");
    //    sb.Append("<table id='tblDocumentos' class='texto' style='WIDTH: 800px; BORDER-COLLAPSE: collapse; ' cellSpacing='0' border='0'>");
    //    sb.Append("<colgroup><col style='width:265px;padding-left:5px;' /><col width='215px' /><col width='225px' /><col width='100px' /></colgroup>");
    //    sb.Append("<tbody>");
    //    while (dr.Read())
    //    {   //Si el archivo NO es sólo lectura, o si el usuario es el autor del archivo, o es administrador, se permite modificar.
    //        if ((dr["t314_idusuario_autor"].ToString() == Session["NUM_EMPLEADO_ENTRADA"].ToString() || Session["ADMINISTRADOR_PC_ACTUAL"].ToString() == "A")
    //            || (!(bool)dr["t363_privado"] && !(bool)dr["t363_modolectura"]))
    //            bModificable = true;
    //        else
    //            bModificable = false;

    //        sb.Append("<tr id='" + dr["t363_iddocut"].ToString() + "' onclick='mmse(this);' sTipo='T' sAutor='" + dr["t314_idusuario_autor"].ToString() + "' onmouseover='TTip()' style='height:20px;'>");

    //        //Si el archivo NO es sólo lectura, o si el usuario es el autor del archivo, o es administrador, se permite modificar.
    //        if (bModificable)
    //            sb.Append("<td class='MA' ondblclick=\"modificarDoc(this.parentNode.getAttribute('sTipo'), this.parentNode.id, 'IAP')\"><nobr class='NBR' style='width:255px'>" + dr["t363_descripcion"].ToString() + "</nobr></td>");
    //        else
    //            sb.Append("<td class='MANO'><nobr class='NBR' style='width:255px'>" + dr["t363_descripcion"].ToString() + "</nobr></td>");

    //        if (dr["t363_nombrearchivo"].ToString() == "")
    //        {
    //            if (bModificable)
    //                sb.Append("<td class='MA' ondblclick=\"modificarDoc(this.parentNode.getAttribute('sTipo'), this.parentNode.id)\"></td>");
    //            else
    //                sb.Append("<td class='MANO'></td>");
    //        }
    //        else
    //        {
    //            string sNomArchivo = dr["t363_nombrearchivo"].ToString() + Utilidades.TamanoArchivo((int)dr["bytes"]);
    //            //Si el archivo no es privado, o es privado y la persona que entra es el autor, o es administrador, se permite descargar.
    //            if ((!(bool)dr["t363_privado"]) || ((bool)dr["t363_privado"] && dr["t314_idusuario_autor"].ToString() == Session["NUM_EMPLEADO_ENTRADA"].ToString()) || Session["ADMINISTRADOR_PC_ACTUAL"].ToString() == "A")
    //                sb.Append("<td><img src=\"../../../images/imgDescarga.gif\" width='16px' height='16px' onclick=\"descargar(this.parentNode.parentNode.getAttribute('sTipo'), this.parentNode.parentNode.id);\" style='vertical-align:bottom;' title=\"Descargar " + sNomArchivo + "\">");
    //            else
    //                sb.Append("<td><img src=\"../../../images/imgSeparador.gif\" width='16px' height='16px' style='vertical-align:bottom;'>");
    //            if (bModificable)
    //                sb.Append("&nbsp;<nobr class='NBR MA' style='width:205px;' ondblclick=\"modificarDoc(this.parentNode.getAttribute('sTipo'), this.parentNode.id)\">" + sNomArchivo + "</nobr></td>");
    //            else
    //                sb.Append("&nbsp;<nobr class='NBR MANO' style='width:205px;'>" + sNomArchivo + "</nobr></td>");
    //        }

    //        if (dr["t363_weblink"].ToString() == "")
    //        {
    //            if (bModificable)
    //                sb.Append("<td class='MA' ondblclick=\"modificarDoc(this.parentNode.getAttribute('sTipo'), this.parentNode.id)\"></td>");
    //            else
    //                sb.Append("<td class='MANO'></td>");
    //        }
    //        else
    //        {
    //            string sHTTP = "";
    //            if (dr["t363_weblink"].ToString().IndexOf("http") == -1) sHTTP = "http://";
    //            sb.Append("<td><a href='" + sHTTP + dr["t363_weblink"].ToString() + "'><nobr class='NBR' style='width:215px'>" + dr["t363_weblink"].ToString() + "</nobr></a></td>");
    //        }
    //        if (bModificable)
    //            sb.Append("<td class='MA' ondblclick=\"modificarDoc(this.parentNode.getAttribute('sTipo'), this.parentNode.id)\"><nobr class='NBR' style='width:140px;'>" + dr["autor"].ToString() + "</nobr></td></tr>");
    //        else
    //            sb.Append("<td class='MANO'><nobr class='NBR' style='width:140px;'>" + dr["autor"].ToString() + "</nobr></td></tr>");
    //    }
    //    dr.Close();
    //    dr.Dispose();
    //    sb.Append("</tbody>");
    //    sb.Append("</table>");
    //    sb.Append("</div>");

    //    return "OK@#@" + sb.ToString();
    //}

    protected string Grabar(string strDatos)
    {
        string sResul = "";

        aListCorreo = new ArrayList();

        #region Abrir conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccion(oConn);
        }
        catch (Exception ex)
        {
            if (oConn.State == ConnectionState.Open)
            {
                Conexion.Cerrar(oConn);
            }
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }
        #endregion

        try
        {
            string[] aValores = Regex.Split(strDatos, "##");
            ///aValores[0] = IdTarea
            ///aValores[1] = nETE
            ///aValores[2] = sFFE
            ///aValores[3] = sObservaciones
            ///aValores[4] = nFinalizado;
            ///aValores[5] = nFinalizadoAntes;
            ///aValores[6] = nPT;
            ///aValores[7] = Desc Tarea;
            ///aValores[8] = sNotas;
            ///aValores[9] = txtNotas1;
            ///aValores[10] = txtNotas2;
            ///aValores[11] = txtNotas3;
            ///aValores[12] = txtNotas4;
            ///aValores[13] = sComentarioOriginal;
            ///aValores[14] = nETEOriginal;
            ///aValores[15] = sFFEOriginal;

            double   nETE = 0;
            DateTime?sFFE = null;

            if (aValores[1] != "")
            {
                nETE = double.Parse(aValores[1]);
            }
            if (aValores[2] != "")
            {
                sFFE = DateTime.Parse(aValores[2]);
            }

            TareaRecurso.ActualizarEstimacion(tr, int.Parse(Session["NUM_EMPLEADO_IAP"].ToString()), int.Parse(aValores[0]), sFFE, nETE, Utilidades.unescape(aValores[3]), (aValores[4] == "1")?true:false);

            if (aValores[5] == "0" && aValores[4] == "1")
            {
                //Si antes la tarea no estaba finalizada y ahora sí,
                //Mail al (a los) RTPT indicando que se ha finalizado
                //y continuar con la grabación
//                TareaFinalizada(tr, int.Parse(aValores[0]), int.Parse(aValores[6]));
            }

            if (aValores[3] != aValores[13] || aValores[1] != aValores[14] || aValores[2] != aValores[15])
            {
                //Si se han modificado los comentarios del técnico al gerente
                //Mail al (a los) RTPT
//                EstimacionModificada(tr, int.Parse(aValores[0]), int.Parse(aValores[6]));
            }

            if (aValores[8] == "1")
            {
                TAREAPSP.ActualizarNotas(tr, int.Parse(aValores[0]), Utilidades.unescape(aValores[9]), Utilidades.unescape(aValores[10]), Utilidades.unescape(aValores[11]), Utilidades.unescape(aValores[12]));
            }

            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al grabar los datos de la tarea", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }

        try
        {
            if (aListCorreo.Count > 0)
            {
                Correo.EnviarCorreos(aListCorreo);
            }
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al enviar el mail a los responsables técnicos de proyectos técnicos", ex);
        }

        return(sResul);
    }
예제 #20
0
        public static string Grabar(string sDatos)
        {
            string         sResul = "", sElementosInsertados = "";
            SqlConnection  oConn            = null;
            SqlTransaction tr               = null;
            int            nAux             = 0;//, nDel = 0, nIdBono = -1, nFechas = 0;
            bool           bErrorControlado = false;

            #region abrir conexión y transacción
            try
            {
                oConn = Conexion.Abrir();
                tr    = Conexion.AbrirTransaccionSerializable(oConn);
            }
            catch (Exception)
            {
                if (oConn.State == ConnectionState.Open)
                {
                    Conexion.Cerrar(oConn);
                }
                throw (new Exception("Error al abrir la conexión."));
            }
            #endregion

            try
            {
                #region Importes convenio
                if (sDatos != "")
                {
                    //Con la cadena generamos una lista y la recorremos para grabar cada elemento
                    string[] aGrabar = Regex.Split(sDatos, "#sFin#");
                    for (int i = 0, nCount = aGrabar.Length; i < nCount; i++)
                    {
                        string[] aElem = Regex.Split(aGrabar[i], "#sCad#");
                        switch (aElem[0])
                        {
                        case "I":
                            nAux = DAL.DIETAKM.InsertImporteConvenio(tr,
                                                                     aElem[2],
                                                                     float.Parse(aElem[3]),
                                                                     float.Parse(aElem[4]),
                                                                     float.Parse(aElem[5]),
                                                                     float.Parse(aElem[6]),
                                                                     float.Parse(aElem[7]),
                                                                     short.Parse(aElem[8]));
                            sElementosInsertados += aElem[1] + "#sCad#" + nAux.ToString() + "#sFin#";
                            break;

                        case "D":
                            DAL.DIETAKM.DeleteImporteConvenio(tr, short.Parse(aElem[1]));
                            break;

                        case "U":
                            DAL.DIETAKM.UpdateImporteConvenio(tr,
                                                              short.Parse(aElem[1]),
                                                              aElem[2],
                                                              float.Parse(aElem[3]),
                                                              float.Parse(aElem[4]),
                                                              float.Parse(aElem[5]),
                                                              float.Parse(aElem[6]),
                                                              float.Parse(aElem[7]),
                                                              short.Parse(aElem[8]));
                            break;
                        }
                    }
                }
                if (sElementosInsertados != "")
                {
                    sElementosInsertados = sElementosInsertados.Substring(0, sElementosInsertados.Length - 6);
                }
                #endregion

                Conexion.CommitTransaccion(tr);
            }
            catch (Exception ex)
            {
                Conexion.CerrarTransaccion(tr);
                if (bErrorControlado)
                {
                    sResul = ex.Message;
                }
                else
                {
                    sResul = Errores.mostrarError("Error al grabar el importe de convenio.", ex);
                }
            }
            finally
            {
                Conexion.Cerrar(oConn);
                if (sResul != "")
                {
                    throw (new Exception(sResul));
                }
            }
            return(sElementosInsertados);
        }
예제 #21
0
        private void InitializeComboBox()
        {
            Conexion cnn = new Conexion();
            cnn.Abrir();
            DataTable dt1 = cnn.EjecutarConsulta("select * from SFX.t_ciudades_aeropuertos order by cia_descripcion");
            cmbBoxCiudadOrigen.DataSource = dt1.DefaultView;
            cmbBoxCiudadOrigen.DisplayMember = "cia_descripcion";
            cmbBoxCiudadOrigen.ValueMember = "cia_id";
            cmbBoxCiudadOrigen.SelectedIndex = -1;

            DataTable dt2 = cnn.EjecutarConsulta("select * from SFX.t_ciudades_aeropuertos order by cia_descripcion");
            cmbBoxCiudadDestino.DataSource = dt2.DefaultView;
            cmbBoxCiudadDestino.DisplayMember = "cia_descripcion";
            cmbBoxCiudadDestino.ValueMember = "cia_id";
            cmbBoxCiudadDestino.SelectedIndex = -1;

            cnn.Cerrar();

            dateTimePicker1.ResetText();
        }
예제 #22
0
    public static string GrabarAjax(string sDelete, string sInsert, string sUpdate, parametros objeto)
    {
        SqlConnection  oConn = null;
        SqlTransaction tr;

        string sResul = "", sInsertados = "";
        int    nIDSector = -1;
        int    nIDSegmen = -1;

        //string[] aDatosBasicos = null;

        #region abrir conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccionSerializable(oConn);
        }
        catch (Exception ex)
        {
            if (oConn.State == ConnectionState.Open)
            {
                Conexion.Cerrar(oConn);
            }
            //sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            //return sResul;
            throw new Exception(Errores.mostrarError("Error al abrir la conexión", ex));
        }
        #endregion
        try
        {
            #region Bajas
            if (sDelete != "") //No se han realizado bajas
            {
                string[] aDeletes = Regex.Split(sDelete, "///");
                foreach (string oDelete in aDeletes)
                {
                    if (oDelete == "")
                    {
                        continue;
                    }
                    string[] aDel = Regex.Split(oDelete, "##");

                    ///aDel[0] = id
                    ///aDel[1] = title
                    ///aDel[2] = nivel
                    ///aDel[2] = parent
                    ///
                    if (aDel[2] == "1")
                    {
                        SUPER.DAL.SECTOR.Delete(tr, int.Parse(aDel[0]));
                    }
                    else if (aDel[2] == "2")
                    {
                        SUPER.DAL.SEGMENTO.Delete(tr, int.Parse(aDel[0]));
                    }
                }
            }

            #endregion
            #region Inserciones
            if (sInsert != "") // No se han realizado Inserciones
            {
                string[] aInserts = Regex.Split(sInsert, "///");
                foreach (string oInsert in aInserts)
                {
                    if (oInsert == "")
                    {
                        continue;
                    }
                    string[] aInsert = Regex.Split(oInsert, "##");

                    ///aInsert[0] = id virtual
                    ///aInsert[1] = title
                    ///aInsert[2] = nivel
                    ///aInsert[3] = parent(sector para el caso de los segmentos)
                    ///aInsert[4] = codext
                    // Estoy metiendo el codigo externo con el valor de la denominacion

                    if (aInsert[2] == "1")
                    {
                        nIDSector = SUPER.DAL.SECTOR.Insert(tr, aInsert[1], aInsert[4]);
                        if (sInsertados == "")
                        {
                            sInsertados = aInsert[0] + "::" + nIDSector.ToString();
                        }
                        else
                        {
                            sInsertados += "//" + aInsert[0] + "::" + nIDSector.ToString();
                        }
                    }
                    else if (aInsert[2] == "2")
                    {
                        string sID = (int.Parse(aInsert[3]) < 0) ? nIDSector.ToString() : aInsert[3];
                        nIDSegmen = SUPER.DAL.SEGMENTO.Insert(tr, aInsert[1], aInsert[4], int.Parse(sID));
                        if (sInsertados == "")
                        {
                            sInsertados = aInsert[0] + "::" + nIDSegmen.ToString();
                        }
                        else
                        {
                            sInsertados += "//" + aInsert[0] + "::" + nIDSegmen.ToString();
                        }
                    }
                }
            }
            #endregion
            #region Modificaciones
            if (sUpdate != "") //No se han realizado modificaciones
            {
                string[] aUpdates = Regex.Split(sUpdate, "///");
                foreach (string oUpdate in aUpdates)
                {
                    if (oUpdate == "")
                    {
                        continue;
                    }
                    string[] aUpd = Regex.Split(oUpdate, "##");

                    ///aUpd[0] = id
                    ///aUpd[1] = title
                    ///aUpd[2] = nivel
                    ///aUpd[3] = parent(sector para el caso de los segmentos)
                    ///aUpd[4] = codext
                    ///
                    if (aUpd[2] == "1")
                    {
                        SUPER.DAL.SECTOR.Update(tr, int.Parse(aUpd[0]), aUpd[1], aUpd[4]);
                    }
                    else if (aUpd[2] == "2")
                    {
                        SUPER.DAL.SEGMENTO.Update(tr, int.Parse(aUpd[0]), aUpd[1], aUpd[4], int.Parse(aUpd[3]));
                    }
                }
            }
            #endregion

            Conexion.CommitTransaccion(tr);
            sResul = sInsertados;
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            string   sError = Errores.mostrarError("Error al grabar los datos del árbol. ", ex);
            string[] aError = Regex.Split(sError, "@#@");
            throw new Exception(Utilidades.escape(aError[0]), ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
    private string setPreferencia(string sNodo, string sEstado, string sCategoria, string sIdCliente, string sIdResponsable,
                                  string sNumPE, string sTipoBusqueda, string sActuAuto, string sCualidad, string sIdContrato,
                                  string sIdHorizontal, string sDenominacion, string sCNP, string sCSN1P, string sCSN2P,
                                  string sCSN3P, string sCSN4P, string sIdNaturaleza, string sIdModeloContratacion)
    {
        string sResul = "";
        string strNodo = null, strEstado = null, strCategoria = null, strIdCliente = null, strIdResponsable = null,
               strNumPE = null, strTipoBusqueda = null, strActuAuto = null, strCualidad = null, strIdContrato = null,
               strIdHorizontal = null, strDenominacion = null, strIdNaturaleza = null, strIdModeloContratacion = null;

        #region abrir conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccionSerializable(oConn);
        }
        catch (Exception ex)
        {
            if (oConn.State == ConnectionState.Open)
            {
                Conexion.Cerrar(oConn);
            }
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }
        #endregion

        try
        {
            if (sNodo != "")
            {
                strNodo = sNodo;
            }
            if (sEstado != "")
            {
                strEstado = sEstado;
            }
            if (sCategoria != "")
            {
                strCategoria = sCategoria;
            }
            if (sIdCliente != "")
            {
                strIdCliente = sIdCliente;
            }
            if (sIdResponsable != "")
            {
                strIdResponsable = sIdResponsable;
            }
            if (sNumPE != "0" && sNumPE != "")
            {
                strNumPE = sNumPE;
            }
            if (sTipoBusqueda != "")
            {
                strTipoBusqueda = sTipoBusqueda;
            }
            if (sActuAuto != "")
            {
                strActuAuto = sActuAuto;
            }
            if (sCualidad != "")
            {
                strCualidad = sCualidad;
            }
            if (sIdContrato != "")
            {
                strIdContrato = sIdContrato;
            }
            if (sIdHorizontal != "")
            {
                strIdHorizontal = sIdHorizontal;
            }
            if (sDenominacion != "")
            {
                strDenominacion = Utilidades.unescape(sDenominacion);
            }
            if (sIdNaturaleza != "")
            {
                strIdNaturaleza = sIdNaturaleza;
            }
            if (sIdModeloContratacion != "")
            {
                strIdModeloContratacion = sIdModeloContratacion;
            }

            int nPref = PREFERENCIAUSUARIO.Insertar(tr, (int)Session["IDFICEPI_PC_ACTUAL"], 4, strNodo, strEstado, strCategoria, strIdCliente,
                                                    sIdContrato, strIdResponsable, sIdHorizontal, strNumPE, strActuAuto, strCualidad,
                                                    strTipoBusqueda, strDenominacion,
                                                    sCNP,
                                                    sCSN1P,
                                                    sCSN2P,
                                                    sCSN3P,
                                                    sCSN4P,
                                                    strIdNaturaleza, strIdModeloContratacion, null, null);

            Conexion.CommitTransaccion(tr);

            sResul = "OK@#@" + nPref.ToString();
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al guardar la preferencia.", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
    protected string Grabar(string strDatos)
    {
        string sResul = "", sDesc = "", sElementosInsertados = "";
        int    nAux = 0;

        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccion(oConn);
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }

        try
        {
            string[] aTarifa = Regex.Split(strDatos, "///");
            //Primero se hacen las deletes para evitar errores por denominaciones duplicadas.
            foreach (string oTarifa in aTarifa)
            {
                if (oTarifa == "")
                {
                    continue;
                }
                string[] aValores = Regex.Split(oTarifa, "##");
                //0. Opcion BD. "I", "U", "D"
                //1. ID Tarifa
                //2. Descripcion
                //3. Hora
                //4. Jornada
                //5. Orden
                //6. IdNodo

                if (aValores[0] != "D")
                {
                    continue;
                }
                sDesc = Utilidades.unescape(aValores[2]);
                PERFILSUPER.Delete(tr, int.Parse(aValores[1]));
            }

            foreach (string oTarifa in aTarifa)
            {
                if (oTarifa == "")
                {
                    continue;
                }
                string[] aValores = Regex.Split(oTarifa, "##");
                //0. Opcion BD. "I", "U", "D"
                //1. ID Tarifa
                //2. Descripcion
                //3. Hora
                //4. Jornada
                //5. Orden
                //6. IdNodo

                sDesc = Utilidades.unescape(aValores[2]);
                switch (aValores[0])
                {
                case "I":
                    nAux = PERFILSUPER.Insert(tr, Utilidades.unescape(aValores[2]), decimal.Parse(aValores[3]), decimal.Parse(aValores[4]),
                                              int.Parse(aValores[6]), null, short.Parse(aValores[5]), true);
                    if (sElementosInsertados == "")
                    {
                        sElementosInsertados = nAux.ToString();
                    }
                    else
                    {
                        sElementosInsertados += "//" + nAux.ToString();
                    }
                    break;

                case "U":
                    PERFILSUPER.Update(tr, int.Parse(aValores[1]), Utilidades.unescape(aValores[2]), decimal.Parse(aValores[3]),
                                       decimal.Parse(aValores[4]), int.Parse(aValores[6]), null, short.Parse(aValores[5]), true);
                    break;
                    //case "D":
                    //    PERFILSUPER.Delete(tr, int.Parse(aValores[1]));
                    //    break;
                }
            }
            Conexion.CommitTransaccion(tr);

            sResul = "OK@#@" + sElementosInsertados;
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al grabar las tarifas.", ex) + "@#@" + sDesc;
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }

        return(sResul);
    }
        private void InitializeComboBox()
        {
            Conexion cnn = new Conexion();
            cnn.Abrir();
            //Cargar comboBox Fabricante
            DataTable dt1 = cnn.EjecutarConsulta("SELECT * FROM SFX.t_fabricantes");
            cmbBoxFabricante.DataSource = dt1.DefaultView;
            cmbBoxFabricante.DisplayMember = "Fab_Nombre";
            cmbBoxFabricante.ValueMember = "Fab_ID";
            cmbBoxFabricante.SelectedIndex = -1;

            //Cargar comboBox Modelo
            DataTable dt2 = cnn.EjecutarConsulta("SELECT Mod_ID, (Mod_Nombre +' '+ Fab_Nombre) as Modelo_Fabricante  FROM SFX.t_modelos, SFX.t_fabricantes WHERE Fab_ID=Mod_ID");
            cmbBoxModelo.DataSource = dt2.DefaultView;
            cmbBoxModelo.DisplayMember = "Modelo_Fabricante";
            cmbBoxModelo.ValueMember = "Mod_id";
            cmbBoxModelo.SelectedIndex = -1;

            cnn.Cerrar();
        }
    private string setPreferencia(string sEstado, string sCategoria, string sCualidad, string sCerrarAuto, string sActuAuto, string sOpcionPeriodo, string sOperadorLogico, string sValoresMultiples)
    {
        string sResul = "";

        #region abrir conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccionSerializable(oConn);
        }
        catch (Exception ex)
        {
            if (oConn.State == ConnectionState.Open)
            {
                Conexion.Cerrar(oConn);
            }
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }
        #endregion

        try
        {
            int nPref = PREFERENCIAUSUARIO.Insertar(tr,
                                                    (int)Session["IDFICEPI_PC_ACTUAL"], 13,
                                                    (sEstado == "") ? null : sEstado,
                                                    (sCategoria == "") ? null : sCategoria,
                                                    (sCualidad == "") ? null : sCualidad,
                                                    (sCerrarAuto == "") ? null : sCerrarAuto,
                                                    (sActuAuto == "") ? null : sActuAuto,
                                                    (sOperadorLogico == "") ? null : sOperadorLogico,
                                                    (sOpcionPeriodo == "") ? null : sOpcionPeriodo,
                                                    null, null, null, null, null, null, null, null, null, null, null, null, null, null);

            #region Valores Múltiples
            if (sValoresMultiples != "")
            {
                string[] aValores = Regex.Split(sValoresMultiples, "///");
                foreach (string oValor in aValores)
                {
                    if (oValor == "")
                    {
                        continue;
                    }
                    string[] aDatos = Regex.Split(oValor, "##");
                    ///aDatos[0] = concepto
                    ///aDatos[1] = idValor
                    ///aDatos[2] = denominacion

                    PREFUSUMULTIVALOR.Insertar(tr, nPref, byte.Parse(aDatos[0]), aDatos[1], Utilidades.unescape(aDatos[2]));
                }
            }

            #endregion

            Conexion.CommitTransaccion(tr);

            sResul = "OK@#@" + nPref.ToString();
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al guardar la preferencia.", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
        private void Eliminar()
        {
            bool      bError      = false;
            ArrayList aListCorreo = new ArrayList();
            string    sAsunto     = "";
            string    sTexto      = "";
            string    sTO         = "";

            SqlConnection  oConn = Conexion.Abrir();
            SqlTransaction tr    = Conexion.AbrirTransaccion(oConn);

            try
            {
                bEsAnular = "true";
                WIFI oWifi = WIFI.Obtener(tr, int.Parse(hdnIDReserva.Text));

                sTO     = Session["CR2I_IDRED"].ToString();
                sAsunto = "Anulación reserva WIFI.";

                string sFecIni = oWifi.t085_fechoraini.ToString();
                if (sFecIni.Length == 19)
                {
                    sFecIni = sFecIni.Substring(0, 16);
                }
                else
                {
                    sFecIni = sFecIni.Substring(0, 15);
                }
                string sFecFin = oWifi.t085_fechorafin.ToString();
                if (sFecFin.Length == 19)
                {
                    sFecFin = sFecFin.Substring(0, 16);
                }
                else
                {
                    sFecFin = sFecFin.Substring(0, 15);
                }

                //int nResul = WIFI.Eliminar(tr, int.Parse(hdnIDReserva.Text));
                WIFI.Actualizar(tr, int.Parse(hdnIDReserva.Text),
                                oWifi.t001_idficepi,
                                oWifi.t085_interesado,
                                oWifi.t085_empresa,
                                oWifi.t085_fechoraini,
                                oWifi.t085_fechorafin,
                                oWifi.t085_observaciones,
                                4,
                                oWifi.t085_pwdwifi);

                sTexto = @"<p style='font-size:12px'>La reserva WIFI para el interesado " + oWifi.t085_interesado + @"<br /><br />
								<br /><span style='width:150px'><b>Inicio:</b></span> "                                 + oWifi.t085_fechoraini.ToString() + @"<br />
								<span style='width:150px'><b>Fin:</b></span> "                                 + oWifi.t085_fechorafin.ToString() + @"
								<br /><br />Ha sido anulada por <b>"                                 + Session["CR2I_APELLIDO1"].ToString() + @" " + Session["CR2I_APELLIDO2"].ToString() + @", " + Session["CR2I_NOMBRE"].ToString() + @"
								</b>.<br /><br /><span style='width:170px'><b>Motivo de anulación:</b></span> "                                 + this.hdnAnulacion.Text + @"<br /><br /><br /></p>";

                string[] aMail = { sAsunto, sTexto, sTO, "", "I", "" };
                aListCorreo.Add(aMail);

                Conexion.CommitTransaccion(tr);
                sResultadoGrabacion = "OK";
            }
            catch (Exception ex)
            {
                bError        = true;
                this.sErrores = Errores.mostrarError("Error al avisar a los convocados de la anulación de la reseva", ex);
                Conexion.CerrarTransaccion(tr);
                return;
            }
            finally
            {
                Conexion.Cerrar(oConn);
            }

            try
            {
                Correo.EnviarCorreos(aListCorreo);
            }
            catch (Exception ex)
            {
                bError    = true;
                sErrores += Errores.mostrarError("Error al enviar los mails de anulación de convocatoria:", ex);
            }

            if (bError == false)
            {
                Cancelar();
            }
        }
        private void Grabar()
        {
            bool      bErrorControlado = false;
            ArrayList aListCorreo      = new ArrayList();
            string    sAsunto          = "";
            string    sTexto           = "";
            string    sTO              = "";
            string    strFecIniOld     = "";
            string    strFecFinOld     = "";
            string    strInteresadoOld = "";
            string    strEmpresaOld    = "";

            string sUsuario = "", sPassword = "";

            if (this.hdnIDReserva.Text != "")
            {
                //Si se trata de una reserva existente, se obtienen sus datos
                //para luego comunicar las modificaciones realizadas.
                WIFI oWifi = WIFI.Obtener(null, int.Parse(this.hdnIDReserva.Text));
                strFecIniOld     = oWifi.t085_fechoraini.ToString();
                strFecFinOld     = oWifi.t085_fechorafin.ToString();
                strInteresadoOld = oWifi.t085_interesado;
                strEmpresaOld    = oWifi.t085_empresa;

                if (strFecIniOld.Length == 19)
                {
                    strFecIniOld = strFecIniOld.Substring(0, 16);
                }
                else
                {
                    strFecIniOld = strFecIniOld.Substring(0, 15);
                }
                if (strFecFinOld.Length == 19)
                {
                    strFecFinOld = strFecFinOld.Substring(0, 16);
                }
                else
                {
                    strFecFinOld = strFecFinOld.Substring(0, 15);
                }
            }

            SqlConnection  oConn = Conexion.Abrir();
            SqlTransaction tr    = Conexion.AbrirTransaccion(oConn);

            DateTime dInicio = Fechas.crearDateTime(this.txtFechaIni.Text, this.cboHoraIni.SelectedValue);
            DateTime dFin    = Fechas.crearDateTime(this.txtFechaFin.Text, this.cboHoraFin.SelectedValue);
            DateTime dNow    = DateTime.Now;

            try
            {
                if (this.hdnIDReserva.Text == "")  //insert
                {
                    #region Código Insert
                    sEsInsert = "true";
                    string sTicks = DateTime.Now.Ticks.ToString();
                    //string sTicksReducida = sTicks.Substring(10, 8);
                    //sUsuario = "IB" + EncodeTo64(sTicksReducida).Substring(0, 6).ToUpper();

                    //sPassword = EncodeTo64((int.Parse(sTicksReducida) + ((int)Session["CR2I_IDFICEPI"] * int.Parse(sTicksReducida))).ToString());
                    //sPassword = sPassword.Substring(sPassword.Length - 10, 8);

                    sPassword = sTicks.Substring(sTicks.Length - 4, 4);
                    //sUsuario = "ib" + sTicksReducida;
                    //sPassword = (int.Parse(sTicks.Substring(0, 8)) * (int)Session["CR2I_IDFICEPI"]).ToString().Substring(0, 8);
                    //sPassword = (long.Parse(sTicks.Substring(sTicks.Length - 8, 8)) * long.Parse(Session["CR2I_IDFICEPI"].ToString())).ToString();
                    //sPassword = sPassword.Substring(sPassword.Length-8, 8);


                    //Datos de la reserva
                    byte nEstado = 1;
                    if (dInicio < dNow && dFin > dNow)
                    {
                        nEstado = 2;
                    }
                    int nResul = WIFI.Insert(tr,
                                             (int)Session["CR2I_IDFICEPI"],
                                             txtInteresado.Text,
                                             txtEmpresa.Text,
                                             dInicio,
                                             dFin,
                                             txtObservaciones.Text,
                                             nEstado,
                                             sPassword);
                    sUsuario        = "ib" + nResul.ToString().Substring(nResul.ToString().Length - 4, 4);
                    txtUsuario.Text = sUsuario;
                    txtPwd.Text     = sPassword;

                    try
                    {
                        if (dInicio < dNow && dFin > dNow)
                        {//hay que crear la reserva directamente en el LDAP
                            DirectoryEntry de = new DirectoryEntry("LDAP://172.20.254.150:389/ou=people,dc=visitas,dc=ib",
                                                                   "cn=vadmin,dc=visitas,dc=ib",
                                                                   "PruebaLDAP",
                                                                   AuthenticationTypes.FastBind);
                            DirectoryEntries entries = de.Children;
                            DirectoryEntry   oUser   = entries.Add("cn=" + sUsuario, "inetOrgPerson");

                            //oUser.Properties["dn"].Add("cn=" + sUsuario + ",ou=people,dc=visitas,dc=ib");
                            oUser.Properties["objectClass"].Add("inetOrgPerson");
                            oUser.Properties["cn"].Add(sUsuario);
                            oUser.Properties["sn"].Add(sUsuario);
                            oUser.Properties["uid"].Add(sUsuario);
                            oUser.Properties["userpassword"].Add(sPassword);
                            oUser.Properties["ou"].Add("Visitas");

                            oUser.CommitChanges();

                            //DirectoryEntry oUserDelete = entries.Find("cn=" + sUsuario, "inetOrgPerson");
                            //entries.Remove(oUserDelete);
                            //generar error
                            //DirectoryEntry oUserDeletex = entries.Find("cn=x" + sUsuario, "inetOrgPerson");
                        }
                    }
                    catch (System.Runtime.InteropServices.COMException)
                    {
                        //string s = "";
                        //No existe o no se ha encontrado el usuario
                    }
                    catch (Exception ex)
                    {
                        sErrores = "Error : " + ex.Message;
                    }

                    hdnIDReserva.Text = nResul.ToString();

                    sTO = Session["CR2I_IDRED"].ToString();

                    sAsunto = "Reserva WIFI";

                    string sFecIni = Fechas.crearDateTime(this.txtFechaIni.Text, this.cboHoraIni.SelectedValue).ToString();
                    if (sFecIni.Length == 19)
                    {
                        sFecIni = sFecIni.Substring(0, 16);
                    }
                    else
                    {
                        sFecIni = sFecIni.Substring(0, 15);
                    }
                    string sFecFin = Fechas.crearDateTime(this.txtFechaFin.Text, this.cboHoraFin.SelectedValue).ToString();
                    if (sFecFin.Length == 19)
                    {
                        sFecFin = sFecFin.Substring(0, 16);
                    }
                    else
                    {
                        sFecFin = sFecFin.Substring(0, 15);
                    }

                    sTexto = "<p style='font-size:12px'>" + this.txtSolicitante.Text + @"
							 ha solicitado una reserva WIFI para <b>"                             + this.txtInteresado.Text + @"</b><br /><br /><br />
							<span style='width:150px'><b>Inicio:</b></span> "                             + sFecIni + @"<br />
							<span style='width:150px'><b>Fin:</b></span> "                             + sFecFin + @"<br /><br />
							<span style='width:150px'><b>Usuario:</b></span> "                             + txtUsuario.Text + @"<br />
							<span style='width:150px'><b>Contraseña:</b></span> "                             + txtPwd.Text + @"<br /><br />
							<span style='width:150px'><b>Observaciones:</b></span> "                             + txtObservaciones.Text.Replace(((char)10).ToString(), "<br />") + @"<br /><br /><br /><br /></p>";

                    string[] aMail = { sAsunto, sTexto, sTO, "", "I", "" };
                    aListCorreo.Add(aMail);

                    #endregion
                }
                else  //update
                {
                    #region Código Update
                    //Datos de la reserva
                    WIFI oWifi = WIFI.Obtener(tr, int.Parse(hdnIDReserva.Text));

                    byte nEstado = oWifi.t085_estado;
                    if (dInicio < dNow && dFin > dNow)
                    {
                        nEstado = 2;
                    }
                    WIFI.Actualizar(tr, int.Parse(hdnIDReserva.Text),
                                    (int)Session["CR2I_IDFICEPI"],
                                    txtInteresado.Text,
                                    txtEmpresa.Text,
                                    dInicio,
                                    dFin,
                                    txtObservaciones.Text,
                                    nEstado,
                                    txtPwd.Text);

                    try
                    {
                        if (dInicio < dNow && dFin > dNow)
                        {
                            DirectoryEntry de = new DirectoryEntry("LDAP://172.20.254.150:389/ou=people,dc=visitas,dc=ib",
                                                                   "cn=vadmin,dc=visitas,dc=ib",
                                                                   "PruebaLDAP",
                                                                   AuthenticationTypes.FastBind);
                            DirectoryEntries entries = de.Children;

                            //1º Borrar la reserva WIFI que pudiera existir.
                            try
                            {
                                DirectoryEntry oUserDelete = entries.Find("cn=" + txtUsuario.Text, "inetOrgPerson");
                                entries.Remove(oUserDelete);
                            }
                            catch (System.Runtime.InteropServices.COMException)
                            {
                                //string s = "";
                                //No existe o no se ha encontrado el usuario
                            }

                            //2º Hay que crear la reserva directamente en el LDAP
                            DirectoryEntry oUser = entries.Add("cn=" + txtUsuario.Text, "inetOrgPerson");

                            //oUser.Properties["dn"].Add("cn=" + sUsuario + ",ou=people,dc=visitas,dc=ib");
                            oUser.Properties["objectClass"].Add("inetOrgPerson");
                            oUser.Properties["cn"].Add(txtUsuario.Text);
                            oUser.Properties["sn"].Add(txtUsuario.Text);
                            oUser.Properties["uid"].Add(txtUsuario.Text);
                            oUser.Properties["userpassword"].Add(txtPwd.Text);
                            oUser.Properties["ou"].Add("Visitas");

                            oUser.CommitChanges();
                        }
                    }
                    catch (System.Runtime.InteropServices.COMException)
                    {
                        //string s = "";
                        //No existe o no se ha encontrado el usuario
                    }
                    catch (Exception ex)
                    {
                        sErrores = "Error : " + ex.Message;
                    }

                    sTO = Session["CR2I_IDRED"].ToString();

                    sAsunto = "Modificación reserva WIFI.";

                    string sFecIni = Fechas.crearDateTime(this.txtFechaIni.Text, this.cboHoraIni.SelectedValue).ToString();
                    if (sFecIni.Length == 19)
                    {
                        sFecIni = sFecIni.Substring(0, 16);
                    }
                    else
                    {
                        sFecIni = sFecIni.Substring(0, 15);
                    }
                    string sFecFin = Fechas.crearDateTime(this.txtFechaFin.Text, this.cboHoraFin.SelectedValue).ToString();
                    if (sFecFin.Length == 19)
                    {
                        sFecFin = sFecFin.Substring(0, 16);
                    }
                    else
                    {
                        sFecFin = sFecFin.Substring(0, 15);
                    }

                    sTexto = @"<p style='font-size:12px'>La reserva WIFI <br /><br />
							<span style='width:150px'><b>Inicio:</b></span> "                             + strFecIniOld + @"<br />
							<span style='width:150px'><b>Fin:</b></span> "                             + strFecFinOld + @"<br /><br />
							<span style='width:150px'><b>Interesado:</b></span> "                             + strInteresadoOld + @"<br />
							<br />Ha sido modificada por "                             + Session["CR2I_APELLIDO1"].ToString() + @" " + Session["CR2I_APELLIDO2"].ToString() + @", " + Session["CR2I_NOMBRE"].ToString() + @"  
							y se reservará <br /><br />
							<span style='width:150px'><b>Inicio:</b></span> "                             + sFecIni + @"<br />
							<span style='width:150px'><b>Fin:</b></span> "                             + sFecFin + @"<br /><br />
							<span style='width:150px'><b>Interesado:</b></span> "                             + txtInteresado.Text + @"<br /><br />
							<span style='width:150px'><b>Usuario:</b></span> "                             + txtUsuario.Text + @"<br />
							<span style='width:150px'><b>Contraseña:</b></span> "                             + txtPwd.Text + @"<br /><br /><br /><br /></p>";

                    string[] aMail = { sAsunto, sTexto, sTO, "", "I", "" };
                    aListCorreo.Add(aMail);

                    #endregion
                }

                Conexion.CommitTransaccion(tr);
                sResultadoGrabacion = "OK";
            }
            catch (Exception ex)
            {
                if (!bErrorControlado)
                {
                    sErrores += Errores.mostrarError("Error al realizar la reserva:", ex);
                }
                else
                {
                    sErrores = ex.Message;
                }
                Conexion.CerrarTransaccion(tr);
            }
            finally
            {
                Conexion.Cerrar(oConn);
            }

            try
            {
                Correo.EnviarCorreos(aListCorreo);
            }
            catch (Exception ex)
            {
                sErrores += Errores.mostrarError("Error al enviar los mails de convocatoria:", ex);
            }
        }
예제 #29
0
    private string Grabar(string strDatosBasicos, string strFiguras, string strFigurasV)
    {
        string sResul = "";
        int    nID    = -1;

        string[] aDatosBasicos = null;

        #region abrir conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccionSerializable(oConn);
        }
        catch (Exception ex)
        {
            if (oConn.State == ConnectionState.Open)
            {
                Conexion.Cerrar(oConn);
            }
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }
        #endregion
        try
        {
            #region Datos Generales
            if (strDatosBasicos != "")//No se ha modificado nada de la pestaña general
            {
                aDatosBasicos = Regex.Split(strDatosBasicos, "##");
                ///aDatosBasicos[0] = ID
                ///aDatosBasicos[1] = Denominacion
                ///aDatosBasicos[2] = IDResponsable
                ///aDatosBasicos[3] = Activo
                ///aDatosBasicos[4] = Orden
                ///aDatosBasicos[5] = IDPadre
                ///aDatosBasicos[6] = t313_idempresa
                ///
                if (aDatosBasicos[0] == "") //insert
                {
                    nID = SUBNODO.Insert(tr,
                                         Utilidades.unescape(aDatosBasicos[1]),
                                         int.Parse(aDatosBasicos[5]),
                                         int.Parse(aDatosBasicos[4]),
                                         (aDatosBasicos[3] == "1") ? true : false,
                                         0,
                                         int.Parse(aDatosBasicos[2]),
                                         (aDatosBasicos[6] == "")? null : (int?)int.Parse(aDatosBasicos[6])
                                         );
                }
                else //update
                {
                    nID = int.Parse(aDatosBasicos[0].Replace(".", ""));
                    SUBNODO.Update(tr,
                                   nID,
                                   Utilidades.unescape(aDatosBasicos[1]),
                                   int.Parse(aDatosBasicos[5]),
                                   int.Parse(aDatosBasicos[4]),
                                   (aDatosBasicos[3] == "1") ? true : false,
                                   int.Parse(aDatosBasicos[2]),
                                   (aDatosBasicos[6] == "") ? null : (int?)int.Parse(aDatosBasicos[6])
                                   );
                }
            }

            #endregion

            #region Datos Figuras
            if (strFiguras != "")//No se ha modificado nada de la pestaña de Figuras
            {
                string[] aUsuarios = Regex.Split(strFiguras, "///");
                foreach (string oUsuario in aUsuarios)
                {
                    if (oUsuario == "")
                    {
                        continue;
                    }
                    string[] aFig = Regex.Split(oUsuario, "##");
                    ///aFig[0] = bd
                    ///aFig[1] = idUsuario
                    ///aFig[2] = Figuras
                    //FIGURASUBNODO.DeleteUsuario(tr, nID, int.Parse(aFig[1]));
                    //if (aFig[0] != "D")
                    //{
                    //    string[] aFiguras = Regex.Split(aFig[2], ",");
                    //    foreach (string oFigura in aFiguras)
                    //    {
                    //        if (oFigura == "") continue;
                    //        FIGURASUBNODO.Insert(tr, nID, int.Parse(aFig[1]), oFigura);
                    //    }
                    //}
                    if (aFig[0] == "D")
                    {
                        FIGURASUBNODO.DeleteUsuario(tr, nID, int.Parse(aFig[1]));
                    }
                    else
                    {
                        string[] aFiguras = Regex.Split(aFig[2], ",");
                        foreach (string oFigura in aFiguras)
                        {
                            if (oFigura == "")
                            {
                                continue;
                            }
                            string[] aFig2 = Regex.Split(oFigura, "@");
                            ///aFig2[0] = bd
                            ///aFig2[1] = Figura
                            if (aFig2[0] == "D")
                            {
                                FIGURASUBNODO.Delete(tr, nID, int.Parse(aFig[1]), aFig2[1]);
                            }
                            else
                            {
                                FIGURASUBNODO.Insert(tr, nID, int.Parse(aFig[1]), aFig2[1]);
                            }
                        }
                    }
                }
            }

            #endregion

            #region Datos Figuras Virtuales
            if (strFigurasV != "")//No se ha modificado nada de la pestaña de Figuras virtuales
            {
                string[] aUsuariosV = Regex.Split(strFigurasV, "///");
                foreach (string oUsuarioV in aUsuariosV)
                {
                    if (oUsuarioV == "")
                    {
                        continue;
                    }
                    string[] aFigV = Regex.Split(oUsuarioV, "##");

                    ///aFig[0] = bd
                    ///aFig[1] = idUsuario
                    ///aFig[2] = Figuras

                    if (aFigV[0] == "D")
                    {
                        FIGURAPSN_SUBNODO.DeleteUsuario(tr, nID, int.Parse(aFigV[1]));
                    }
                    else
                    {
                        string[] aFigurasV = Regex.Split(aFigV[2], ",");
                        foreach (string oFiguraV in aFigurasV)
                        {
                            if (oFiguraV == "")
                            {
                                continue;
                            }
                            string[] aFig2V = Regex.Split(oFiguraV, "@");
                            ///aFig2[0] = bd
                            ///aFig2[1] = Figura
                            if (aFig2V[0] == "D")
                            {
                                FIGURAPSN_SUBNODO.Delete(tr, nID, int.Parse(aFigV[1]), aFig2V[1]);
                            }
                            else
                            {
                                FIGURAPSN_SUBNODO.Insert(tr, nID, int.Parse(aFigV[1]), aFig2V[1]);
                            }
                        }
                    }
                }
            }

            #endregion
            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@" + nID.ToString("#,###");
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al grabar los datos del elemento de estructura", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
예제 #30
0
    private string Grabar(string sDelete, string sInsert, string sUpdate)
    {
        //string pf = "ctl00$CPHC$";
        //string sDelete = Request.Form[pf + "hdnDelete"]; // Borrados
        //string sInsert = Request.Form[pf + "hdnInsert"]; // Insert
        //string sUpdate = Request.Form[pf + "hdnUpdate"]; // Updates

        string sResul = "", sInsertados = "";
        int    nIDSector = -1;
        int    nIDSegmen = -1;

        //string[] aDatosBasicos = null;


        #region abrir conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccionSerializable(oConn);
        }
        catch (Exception ex)
        {
            if (oConn.State == ConnectionState.Open)
            {
                Conexion.Cerrar(oConn);
            }
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }
        #endregion
        try
        {
            #region Bajas
            if (sDelete != "") //No se han realizado bajas
            {
                string[] aDeletes = Regex.Split(sDelete, "///");
                foreach (string oDelete in aDeletes)
                {
                    if (oDelete == "")
                    {
                        continue;
                    }
                    string[] aDel = Regex.Split(oDelete, "##");

                    ///aDel[0] = id
                    ///aDel[1] = title
                    ///aDel[2] = nivel
                    ///aDel[2] = parent
                    ///
                    if (aDel[2] == "1")
                    {
                        SUPER.DAL.SECTOR.Delete(tr, int.Parse(aDel[0]));
                    }
                    else if (aDel[2] == "2")
                    {
                        SUPER.DAL.SEGMENTO.Delete(tr, int.Parse(aDel[0]));
                    }
                }
            }

            #endregion
            #region Inserciones
            if (sInsert != "") // No se han realizado Inserciones
            {
                string[] aInserts = Regex.Split(sInsert, "///");
                foreach (string oInsert in aInserts)
                {
                    if (oInsert == "")
                    {
                        continue;
                    }
                    string[] aInsert = Regex.Split(oInsert, "##");

                    ///aInsert[0] = id virtual
                    ///aInsert[1] = title
                    ///aInsert[2] = nivel
                    ///aInsert[3] = parent(sector para el caso de los segmentos)
                    ///aInsert[4] = id real
                    // Estoy metiendo el codigo externo con el valor de la denominacion

                    if (aInsert[2] == "1")
                    {
                        nIDSector = SUPER.DAL.SECTOR.Insert(tr, aInsert[1], aInsert[1]);
                        if (sInsertados == "")
                        {
                            sInsertados = aInsert[0] + "::" + nIDSector.ToString();
                        }
                        else
                        {
                            sInsertados += "//" + aInsert[0] + "::" + nIDSector.ToString();
                        }
                    }
                    else if (aInsert[2] == "2")
                    {
                        string sID = (int.Parse(aInsert[3]) < 0) ? nIDSector.ToString() : aInsert[3];
                        nIDSegmen = SUPER.DAL.SEGMENTO.Insert(tr, aInsert[1], aInsert[1], int.Parse(sID));
                        if (sInsertados == "")
                        {
                            sInsertados = aInsert[0] + "::" + nIDSegmen.ToString();
                        }
                        else
                        {
                            sInsertados += "//" + aInsert[0] + "::" + nIDSegmen.ToString();
                        }
                    }
                }
            }
            #endregion
            #region Modificaciones
            if (sUpdate != "") //No se han realizado modificaciones
            {
                string[] aUpdates = Regex.Split(sUpdate, "///");
                foreach (string oUpdate in aUpdates)
                {
                    if (oUpdate == "")
                    {
                        continue;
                    }
                    string[] aUpd = Regex.Split(oUpdate, "##");

                    ///aUpd[0] = id
                    ///aUpd[1] = title
                    ///aUpd[2] = nivel
                    ///aUpd[3] = parent(sector para el caso de los segmentos)
                    ///
                    if (aUpd[2] == "1")
                    {
                        SUPER.DAL.SECTOR.Update(tr, int.Parse(aUpd[0]), aUpd[1], null);
                    }
                    else if (aUpd[2] == "2")
                    {
                        SUPER.DAL.SEGMENTO.Update(tr, int.Parse(aUpd[0]), aUpd[1], null, int.Parse(aUpd[3]));
                    }
                }
            }
            #endregion

            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@" + sInsertados;
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al grabar los datos del árbol", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
        public static string AparcarNotaMultiProyecto(string strDatosCabecera, string strDatosPosiciones)
        {
            string         sResul = "";
            int            nReferencia = 0, nFilasModificadas = 0;
            SqlConnection  oConn = null;
            SqlTransaction tr = null;
            bool           bErrorControlado = false, bExisteNota = false;

            string[] aDatosCabecera = Regex.Split(strDatosCabecera, "#sep#");
            #region Datos Cabecera
            ///aDatosCabecera[0] = txtConcepto //0
            ///aDatosCabecera[1] = hdnInteresado //1
            ///aDatosCabecera[2] = rdbJustificantes //2
            ///aDatosCabecera[3] = hdnIdProyectoSubNodo //3
            ///aDatosCabecera[4] = cboMoneda //4
            ///aDatosCabecera[5] = txtObservacionesNota //5
            ///aDatosCabecera[6] = hdnAnotacionesPersonales //6
            ///aDatosCabecera[7] = hdnReferencia //7
            ///aDatosCabecera[8] = hdnIdEmpresa //8
            #endregion Datos Posiciones
            string[] aPosiciones = Regex.Split(strDatosPosiciones, "#reg#");
            #region Posiciones
            ///aPosiciones[0] = sDesde  //0
            ///aPosiciones[1] = sHasta  //
            ///aPosiciones[2] = destino
            ///aPosiciones[3] = comentario
            ///aPosiciones[4] = DC
            ///aPosiciones[5] = MD
            ///aPosiciones[6] = DE
            ///aPosiciones[7] = DA
            ///aPosiciones[8] = KMS
            ///aPosiciones[9] = eco
            ///aPosiciones[10] = Peaje
            ///aPosiciones[11] = Comida
            ///aPosiciones[12] = Trans
            ///aPosiciones[13] = Hoteles
            ///aPosiciones[14] = idPSN

            #endregion

            #region Abrir conexión y transacción
            try
            {
                oConn = Conexion.Abrir();
                tr    = Conexion.AbrirTransaccionSerializable(oConn);
            }
            catch
            {
                if (oConn.State == ConnectionState.Open)
                {
                    Conexion.Cerrar(oConn);
                }
                throw (new Exception("Error al abrir la conexión."));
            }
            #endregion

            try
            {
                try
                {
                    #region Aparcar Cabecera
                    if (aDatosCabecera[7] == "")
                    {
                        nReferencia = DAL.CABECERAAPARCADA_NMPGV.AparcarCabecera(tr,
                                                                                 Utilidades.unescape(aDatosCabecera[0]),
                                                                                 (int)HttpContext.Current.Session["GVT_IDFICEPI"],
                                                                                 int.Parse(aDatosCabecera[1]),
                                                                                 (aDatosCabecera[2] == "1") ? true : false,
                                                                                 (aDatosCabecera[3] == "") ? null : (int?)int.Parse(aDatosCabecera[3]),
                                                                                 aDatosCabecera[4],
                                                                                 Utilidades.unescape(aDatosCabecera[5]),
                                                                                 Utilidades.unescape(aDatosCabecera[6]),
                                                                                 (aDatosCabecera[8] == "") ? null : (int?)int.Parse(aDatosCabecera[8])
                                                                                 );
                    }
                    else
                    {
                        bExisteNota       = true;
                        nReferencia       = int.Parse(aDatosCabecera[7]);
                        nFilasModificadas = DAL.CABECERAAPARCADA_NMPGV.ReAparcarCabecera(tr,
                                                                                         nReferencia,
                                                                                         Utilidades.unescape(aDatosCabecera[0]),
                                                                                         (int)HttpContext.Current.Session["GVT_IDFICEPI"],
                                                                                         int.Parse(aDatosCabecera[1]),
                                                                                         (aDatosCabecera[2] == "1") ? true : false,
                                                                                         (aDatosCabecera[3] == "") ? null : (int?)int.Parse(aDatosCabecera[3]),
                                                                                         aDatosCabecera[4],
                                                                                         Utilidades.unescape(aDatosCabecera[5]),
                                                                                         Utilidades.unescape(aDatosCabecera[6]),
                                                                                         DateTime.Now,
                                                                                         (aDatosCabecera[8] == "") ? null : (int?)int.Parse(aDatosCabecera[8])
                                                                                         );

                        if (nFilasModificadas == 0)
                        {
                            sResul           = "Solicitud aparcada no existente";
                            bErrorControlado = true;
                            throw (new Exception(sResul));
                        }
                    }
                    #endregion
                }
                catch (Exception ex)
                {
                    if (bErrorControlado)
                    {
                        throw (new Exception(ex.Message));
                    }
                    else
                    {
                        throw (new Exception("Error al aparcar la cabecera. " + ex.Message));
                    }
                }

                try
                {
                    if (bExisteNota)
                    {
                        DAL.POSICIONAPARCADA_NMPGV.DeleteByT663_idreferencia(tr, nReferencia);
                    }

                    #region Aparcar Posiciones
                    foreach (string oPosicion in aPosiciones)
                    {
                        if (oPosicion == "")
                        {
                            continue;
                        }
                        string[] aDatosPosicion = Regex.Split(oPosicion, "#sep#");

                        DAL.POSICIONAPARCADA_NMPGV.AparcarPosicion(tr, nReferencia,
                                                                   (aDatosPosicion[0] == "") ? null : (DateTime?)DateTime.Parse(aDatosPosicion[0]),
                                                                   (aDatosPosicion[1] == "") ? null : (DateTime?)DateTime.Parse(aDatosPosicion[1]),
                                                                   Utilidades.unescape(aDatosPosicion[2]),
                                                                   Utilidades.unescape(aDatosPosicion[3]),
                                                                   (byte)decimal.Parse(aDatosPosicion[4]),
                                                                   (byte)decimal.Parse(aDatosPosicion[5]),
                                                                   (byte)decimal.Parse(aDatosPosicion[6]),
                                                                   (byte)decimal.Parse(aDatosPosicion[7]),
                                                                   (short)decimal.Parse(aDatosPosicion[8]),
                                                                   (aDatosPosicion[9] == "") ? null : (int?)int.Parse(aDatosPosicion[9]),
                                                                   decimal.Parse(aDatosPosicion[10]),
                                                                   decimal.Parse(aDatosPosicion[11]),
                                                                   decimal.Parse(aDatosPosicion[12]),
                                                                   decimal.Parse(aDatosPosicion[13]),
                                                                   (aDatosPosicion[14] == "") ? null : (int?)int.Parse(aDatosPosicion[14])
                                                                   );
                    }
                    #endregion
                }
                catch (Exception ex)
                {
                    throw (new Exception("Error al aparcar la posición. " + ex.Message));
                }

                Conexion.CommitTransaccion(tr);
            }
            catch (Exception ex)
            {
                Conexion.CerrarTransaccion(tr);
                if (bErrorControlado)
                {
                    sResul = ex.Message;
                }
                else
                {
                    sResul = Errores.mostrarError("Error al aparcar la nota multiproyecto.", ex);
                }
            }
            finally
            {
                Conexion.Cerrar(oConn);
                if (sResul != "")
                {
                    throw (new Exception(sResul));
                }
            }

            return(nReferencia.ToString());
        }
예제 #32
0
    protected string Grabar(string sEsCV, string strDatos)
    {
        string sResul = "";

        #region abrir conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccionSerializable(oConn);
        }
        catch (Exception ex)
        {
            if (oConn.State == ConnectionState.Open)
            {
                Conexion.Cerrar(oConn);
            }
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }
        #endregion

        try
        {
            string[] aPreferencia = Regex.Split(strDatos, "///");
            foreach (string oPreferencia in aPreferencia)
            {
                if (oPreferencia == "")
                {
                    continue;
                }
                string[] aValores = Regex.Split(oPreferencia, "##");
                //0. Opcion BD. "I", "U", "D"
                //1. ID Preferencia
                //2. Denominacion
                //3. Defecto
                //4. Orden

                switch (aValores[0])
                {
                case "U":
                    if (sEsCV == "S")
                    {
                        PREFERENCIAUSUARIO.UpdateCatalogoCVT(tr, int.Parse(aValores[1]), Utilidades.unescape(aValores[2]), (aValores[3] == "1") ? true : false, byte.Parse(aValores[4]));
                    }
                    else
                    {
                        PREFERENCIAUSUARIO.UpdateCatalogo(tr, int.Parse(aValores[1]), Utilidades.unescape(aValores[2]), (aValores[3] == "1") ? true : false, byte.Parse(aValores[4]));
                    }
                    break;

                case "D":
                    if (sEsCV == "S")
                    {
                        PREFERENCIAUSUARIO.DeleteCVT(tr, int.Parse(aValores[1]));
                    }
                    else
                    {
                        PREFERENCIAUSUARIO.Delete(tr, int.Parse(aValores[1]));
                    }
                    break;
                }
            }
            Conexion.CommitTransaccion(tr);

            sResul = "OK@#@";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al grabar las preferencias.", ex, false);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }

        return(sResul);
    }
    private string Procesar(string sNumPSN, string sRTPT, string sParalizada, string sActiva, string sPendiente, string sFinalizada, string sFecIniVig, string sFecFinVig)
    {
        bool     bParalizada = false, bActiva = false, bPendiente = false, bFinalizada = false, bRTPT = false;
        DateTime?dIniV = null;
        DateTime?dFinV = null;

        string sResul           = "";
        int    iTareasAfectadas = 0;

        #region abrir conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccion(oConn);
        }
        catch (Exception ex)
        {
            if (oConn.State == ConnectionState.Open)
            {
                Conexion.Cerrar(oConn);
            }
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }
        #endregion

        try
        {
            if (sRTPT == "1")
            {
                bRTPT = true;
            }
            if (sParalizada == "1")
            {
                bParalizada = true;
            }
            if (sActiva == "1")
            {
                bActiva = true;
            }
            if (sPendiente == "1")
            {
                bPendiente = true;
            }
            if (sFinalizada == "1")
            {
                bFinalizada = true;
            }
            if (sFecIniVig != "")
            {
                dIniV = DateTime.Parse(sFecIniVig);
            }
            if (sFecFinVig != "")
            {
                dFinV = DateTime.Parse(sFecFinVig);
            }

            iTareasAfectadas = TAREAPSP.Cierre(tr, int.Parse(sNumPSN), (int)Session["UsuarioActual"], bRTPT, bParalizada, bActiva, bPendiente, bFinalizada, dIniV, dFinV);
            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@" + iTareasAfectadas.ToString();
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "error@#@Error al actualizar los estados de las tareas del proyecto subnodo " + sNumPSN + "\n\n" + ex.Message;
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
        public static string Grabar(string sCodAviso, string strDatosBasicos)
        {
            SqlConnection  oConn = null;
            SqlTransaction tr = null;
            string         sResul = "", sDesc, sTitulo, sDescLong;
            bool           bBorrable = false;
            int            iCodAviso = 0;
            DateTime?      dIniV     = null;
            DateTime?      dFinV     = null;

            #region abrir conexión y transacción
            try
            {
                oConn = Conexion.Abrir();
                tr    = Conexion.AbrirTransaccionSerializable(oConn);
            }
            catch
            {
                if (oConn.State == ConnectionState.Open)
                {
                    Conexion.Cerrar(oConn);
                }
                throw (new Exception("Error al abrir la conexión."));
            }
            #endregion

            try
            {
                #region Avisos
                if (sCodAviso == "0")
                {
                    iCodAviso = -1;
                }
                else
                {
                    iCodAviso = int.Parse(sCodAviso);
                }
                if (strDatosBasicos != "")    //No se ha modificado nada de la pestaña general
                {
                    string[] aDatosTarea = Regex.Split(strDatosBasicos, "{sep}");
                    ///aDatosTarea[0] = Denominacion aviso
                    ///aDatosTarea[1] = Titulo aviso
                    ///aDatosTarea[2] = Texto libre
                    ///aDatosTarea[3] = chkBorrable
                    ///aDatosTarea[4] = txtValIni
                    ///aDatosTarea[5] = txtValFin
                    sDesc     = Utilidades.unescape(aDatosTarea[0]);
                    sTitulo   = Utilidades.unescape(aDatosTarea[1]);
                    sDescLong = Utilidades.unescape(aDatosTarea[2]);
                    if (aDatosTarea[3] == "1")
                    {
                        bBorrable = true;
                    }
                    if (aDatosTarea[4] != "")
                    {
                        dIniV = DateTime.Parse(aDatosTarea[4]);
                    }
                    if (aDatosTarea[5] != "")
                    {
                        dFinV = DateTime.Parse(aDatosTarea[5]);
                    }

                    if (iCodAviso <= 0)
                    {
                        iCodAviso = DAL.TEXTOAVISOS.Insert(tr, sDesc, sTitulo, sDescLong, bBorrable, dIniV, dFinV);
                    }
                    else
                    {
                        DAL.TEXTOAVISOS.Update(tr, iCodAviso, sDesc, sTitulo, sDescLong, bBorrable, dIniV, dFinV);
                    }
                }
                #endregion
                Conexion.CommitTransaccion(tr);
            }
            catch (Exception ex)
            {
                Conexion.CerrarTransaccion(tr);
                sResul = Errores.mostrarError("Error al grabar en la tabla de T774_TEXTOAVISOSGASVI.", ex);
            }
            finally
            {
                Conexion.Cerrar(oConn);
                if (sResul != "")
                {
                    throw (new Exception(sResul));
                }
            }
            return(iCodAviso.ToString());
        }
예제 #35
0
    private string Procesar()
    {
        string sResul = "";

        try
        {
            #region Obtenión de dataset con proyectosubnodo y creación de HASTABLE
            oProyectoSubNodo = null;
            DataSet ds = CONSUCONTACORO.GetDatosParaValidacion();

            htProyectoSubNodo = new Hashtable();
            foreach (DataRow dsProyectoSubNodo in ds.Tables[0].Rows)//Recorro tabla de proyectos-subnodos
            {
                htProyectoSubNodo.Add(dsProyectoSubNodo["t301_idproyecto"].ToString() + @"/" + dsProyectoSubNodo["t303_idnodo"].ToString(),
                                      new ProyectoSubNodo((int)dsProyectoSubNodo["t301_idproyecto"],
                                                          (int)dsProyectoSubNodo["t305_idproyectosubnodo"],
                                                          (int)dsProyectoSubNodo["t303_idnodo"],
                                                          dsProyectoSubNodo["t305_cualidad"].ToString()
                                                          )
                                      );
            }

            ds.Dispose();
            #endregion

            #region Abro transaccion
            try
            {
                oConn = Conexion.Abrir();
                tr    = Conexion.AbrirTransaccion(oConn);
            }
            catch (Exception ex)
            {
                if (oConn.State == ConnectionState.Open)
                {
                    Conexion.Cerrar(oConn);
                }
                sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
                return(sResul);
            }
            #endregion

            string sEstadoMes  = "";
            int    nSegMesProy = 0;

            CONSUCONTA.DeleteByAnno(tr, nAnno);

            DataSet ds2 = CONSUCONTACORO.GetCatalogo(tr);
            foreach (DataRow oFila in ds2.Tables[0].Rows)
            {
                oProyectoSubNodo = (ProyectoSubNodo)htProyectoSubNodo[oFila["t301_idproyecto"].ToString() + "/" + oFila["t303_idnodo"].ToString()];
                if (oProyectoSubNodo != null)
                {
                    if (oFila["t478_descripcion"].ToString() != "" && int.Parse(oFila["t325_anomes"].ToString().Substring(0, 4)) == nAnno)
                    {
                        nSegMesProy = SEGMESPROYECTOSUBNODO.ExisteSegMesProy(tr, oProyectoSubNodo.t305_idproyectosubnodo, (int)oFila["t325_anomes"]);
                        if (nSegMesProy == 0)
                        {
                            sEstadoMes  = SEGMESPROYECTOSUBNODO.EstadoMesACrear(tr, oProyectoSubNodo.t305_idproyectosubnodo, (int)oFila["t325_anomes"]);
                            nSegMesProy = SEGMESPROYECTOSUBNODO.Insert(tr, oProyectoSubNodo.t305_idproyectosubnodo, (int)oFila["t325_anomes"], sEstadoMes, 0, 0, false, 0, 0);
                        }
                        CONSUCONTA.Insert(tr, nSegMesProy, (int)oFila["t315_idproveedor"], (int)oFila["t478_nconsumo"], (decimal)oFila["t478_importe"], (int)oFila["t329_idclaseeco"], (int)oFila["t313_idempresa"], (int)oFila["t478_ndocumento"], oFila["t478_descripcion"].ToString());
                    }
                }
                //else
                //{
                //    string sMsg = "No existe un proyectosubnodo correspondiente al proyecto " + dr["t301_idproyecto"].ToString() + " y al " + Estructura.getDefCorta(Estructura.sTipoElem.NODO) + " " + dr["t303_idnodo"].ToString() + ".";
                //    dr.Close();
                //    dr.Dispose();
                //    throw new Exception(sMsg);
                //}
            }
            ds2.Dispose();

            sResul = "OK@#@";
            Conexion.CommitTransaccion(tr);
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al procesar los datos", ex);
            Conexion.CerrarTransaccion(tr);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
예제 #36
0
    protected string Grabar(string strDatos)
    {
        string sResul = "", sElementosInsertados = "";
        int    nAux = 0;

        #region apertura de conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccion(oConn);
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }
        #endregion

        try
        {
            string[] aClase = Regex.Split(strDatos, "///");
            foreach (string oClase in aClase)
            {
                if (oClase == "")
                {
                    continue;
                }
                string[] aValores = Regex.Split(oClase, "##");
                //0. Opcion BD. "I", "U", "D"
                //1. ID OTC
                //2. codigo OTC
                //3. Descripcion OTC
                //4. ID cliente
                //5. Fecha de referncia
                //6. Activo
                //7. Nodo
                //8 id OT externa;
                //9 id Origen Externo;
                //10 horas;
                //11 presupuesto;
                //12 id Moneda;

                bool bEstado = false;
                if (aValores[6] == "1")
                {
                    bEstado = true;
                }
                int?iCodCli;
                if (aValores[4] == "")
                {
                    iCodCli = null;
                }
                else
                {
                    iCodCli = int.Parse(aValores[4]);
                }
                int?idOTExt;
                if (aValores[8] == "")
                {
                    idOTExt = null;
                }
                else
                {
                    idOTExt = int.Parse(aValores[8]);
                }
                DateTime?dtFecha;
                if (aValores[5] == "")
                {
                    dtFecha = null;
                }
                else
                {
                    dtFecha = DateTime.Parse(aValores[5]);
                }

                decimal fHoras;
                if (aValores[10] == "")
                {
                    fHoras = 0;
                }
                else
                {
                    fHoras = Decimal.Parse(aValores[10]);
                }

                decimal fPresupuesto;
                if (aValores[11] == "")
                {
                    fPresupuesto = 0;
                }
                else
                {
                    fPresupuesto = Decimal.Parse(aValores[11]);
                }

                switch (aValores[0])
                {
                case "I":
                    nAux = PST.Insert(null, int.Parse(aValores[7]), Utilidades.unescape(aValores[2]),
                                      Utilidades.unescape(aValores[3]), bEstado, iCodCli, idOTExt, aValores[9], dtFecha, fHoras, fPresupuesto, aValores[12]);

                    if (sElementosInsertados == "")
                    {
                        sElementosInsertados = nAux.ToString();
                    }
                    else
                    {
                        sElementosInsertados += "//" + nAux.ToString();
                    }
                    break;

                case "U":
                    nAux = PST.Update(null, int.Parse(aValores[1]), int.Parse(aValores[7]), Utilidades.unescape(aValores[2]),
                                      Utilidades.unescape(aValores[3]), bEstado, iCodCli, idOTExt, aValores[9], dtFecha, fHoras, fPresupuesto, aValores[12]);
                    break;

                case "D":
                    PST.Delete(null, int.Parse(aValores[1]));
                    break;
                }
            }
            Conexion.CommitTransaccion(tr);

            sResul = "OK@#@" + sElementosInsertados;
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al grabar las clases.", ex, false);// +"@#@" + sDesc;
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }

        return(sResul);
    }
        private void dgvBajaAeronave_CellContentClick_1(object sender, DataGridViewCellEventArgs e)
        {
            MessageBox.Show("se dara de baja aeronave id =" + dgvBajaAeronave.Columns[e.ColumnIndex].Name);
            if (this.dgvBajaAeronave.Columns[e.ColumnIndex].Name == "Eliminar")
            {
                MessageBox.Show("se dara de baja aeronave id =" + dgvBajaAeronave.Rows[e.RowIndex].Cells["Aer_ID"].Value);
                Conexion cnn = new Conexion();

                cnn.ArmarProcedimiento("SFX.BajaAeronave");

                cnn.AgregarParametro("@ID", dgvBajaAeronave.Rows[e.RowIndex].Cells["Aer_ID"].Value);

                cnn.Abrir();

                cnn.EjecutarProcedimiento();

                cnn.Cerrar();

            }
        }
    private string Grabar(string sUserOrigen, string sUserDestino, string strProyectos)
    {
        string        sResul = "", sTipo = "";
        StringBuilder sb = new StringBuilder();

        #region abrir conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccionSerializable(oConn);
        }
        catch (Exception ex)
        {
            if (oConn.State == ConnectionState.Open)
            {
                Conexion.Cerrar(oConn);
            }
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }
        #endregion
        try
        {
            if (sUserDestino != "" && strProyectos != "")
            {
                string[] aProys = Regex.Split(strProyectos, "///");
                foreach (string oProy in aProys)
                {
                    if (oProy == "")
                    {
                        continue;
                    }
                    string[] aValores = Regex.Split(oProy, "##");
                    ///aValores[0] = idproyecto
                    ///aValores[1] = tipo T-> titular, A-> Alternativo
                    ///aValores[2] = denProyecto
                    PROYECTO.UpdateUSA(tr, int.Parse(aValores[0]), aValores[1], int.Parse(sUserDestino));
                    if (aValores[1] == "T")
                    {
                        sTipo = "Usuario administración titular";
                    }
                    else
                    {
                        sTipo = "Usuario administración alternativo";
                    }
                    sb.Append(@"<tr><td style='padding-left:3px;'>" + aValores[2] + "</td><td>" + sTipo + "</td></tr>");
                }
                EnviarCorreoUsuarioSoporte(false, int.Parse(sUserOrigen), sb.ToString());
                EnviarCorreoUsuarioSoporte(true, int.Parse(sUserDestino), sb.ToString());
            }

            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al grabar.", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
예제 #39
0
    protected string Grabar(string strDatosTarea, string slIntegrantes)
    {
        string sResul = "", sAccionBD, sIdRecurso;
        int    iCodAsunto;
        byte   iEstadoAnt, iEstadoAct;
        //DateTime? dFfp = null;
        //DateTime? dFLi = null;
        //DateTime? dFno = null;
        double dEtp, dEtr;

        bool bNotificable = false, bEnviarAlerta = true, bAlta = false;

        #region Abrir conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccionSerializable(oConn);
        }
        catch (Exception ex)
        {
            if (oConn.State == ConnectionState.Open)
            {
                Conexion.Cerrar(oConn);
            }
            sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
            return(sResul);
        }
        #endregion
        try
        {
            #region Datos asunto
            string[] aDatosTarea = Regex.Split(strDatosTarea, "##");
            // 0 -> id asunto (si -1 es un alta)
            // 1 -> descripcion corta
            // 2 -> descripcion larga
            // 3 -> referencia externa
            // 4 -> f/notificación
            // 5 -> f/fin
            // 6 -> f/limite
            // 7 -> alerta
            // 8 -> departamento
            // 9 -> tipo
            // 10-> estado
            // 11-> severidad
            // 12-> prioridad
            // 13-> sistema
            // 14-> esfuerzo planificado
            // 15-> esfuerzo real
            // 16 -> observaciones
            // 17 -> cod une (vacío)
            // 18 -> cod Tarea
            // 19 -> notificador
            // 20 -> responsable
            // 21 -> estado anterior
            // 22 -> desc Responsable
            // 23 -> desc Tipo
            // 24 -> desc Estado
            // 25 -> desc Severidad
            // 26 -> desc Prioridad
            // 27 -> cod T
            if (aDatosTarea[0] == "")
            {
                iCodAsunto = -1;
            }
            else
            {
                iCodAsunto = int.Parse(aDatosTarea[0]);
            }
            //if (aDatosTarea[4] != "") dFno = DateTime.Parse(aDatosTarea[4]);
            //if (aDatosTarea[5] != "") dFfp = DateTime.Parse(aDatosTarea[5]);
            //if (aDatosTarea[6] != "") dFLi = DateTime.Parse(aDatosTarea[6]);
            DateTime dFno = DateTime.Parse(aDatosTarea[4]);
            DateTime dFfp = DateTime.Parse((aDatosTarea[5] == "") ? "01/01/1900" : aDatosTarea[5]);
            DateTime dFLi = DateTime.Parse((aDatosTarea[6] == "") ? "01/01/1900" : aDatosTarea[6]);
            if (aDatosTarea[21] == "")
            {
                iEstadoAnt = byte.Parse(aDatosTarea[10]);
            }
            else
            {
                iEstadoAnt = byte.Parse(aDatosTarea[21]);
            }
            iEstadoAct = byte.Parse(aDatosTarea[10]);
            if (aDatosTarea[14] != "")
            {
                dEtp = double.Parse(aDatosTarea[14]);
            }
            else
            {
                dEtp = 0;
            }
            if (aDatosTarea[15] != "")
            {
                dEtr = double.Parse(aDatosTarea[15]);
            }
            else
            {
                dEtr = 0;
            }
            if (iCodAsunto == -1)
            {
                bAlta      = true;
                iCodAsunto = ASUNTO_T.Insert(tr, int.Parse(aDatosTarea[18]),
                                             Utilidades.unescape(aDatosTarea[7]), Utilidades.unescape(aDatosTarea[1]),
                                             Utilidades.unescape(aDatosTarea[2]), Utilidades.unescape(aDatosTarea[8]),
                                             iEstadoAct, dEtp, dEtr, dFfp, dFLi, dFno,
                                             Utilidades.unescape(aDatosTarea[19]), Utilidades.unescape(aDatosTarea[16]),
                                             byte.Parse(aDatosTarea[12]), Utilidades.unescape(aDatosTarea[3]),
                                             int.Parse(Session["NUM_EMPLEADO_ENTRADA"].ToString()),
                                             int.Parse(Session["NUM_EMPLEADO_ENTRADA"].ToString()),
                                             byte.Parse(aDatosTarea[11]), Utilidades.unescape(aDatosTarea[13]),
                                             int.Parse(aDatosTarea[9]));
                ASUNTOESTADO_T.Insert(tr, iCodAsunto, iEstadoAct, int.Parse(Session["NUM_EMPLEADO_ENTRADA"].ToString()));
            }
            else
            {
                bAlta = false;
                ASUNTO_T.Update(tr, int.Parse(aDatosTarea[18]), Utilidades.unescape(aDatosTarea[7]),
                                Utilidades.unescape(aDatosTarea[1]), Utilidades.unescape(aDatosTarea[2]),
                                Utilidades.unescape(aDatosTarea[8]), iEstadoAct, dEtp, dEtr, dFfp, dFLi, dFno,
                                iCodAsunto, Utilidades.unescape(aDatosTarea[19]), Utilidades.unescape(aDatosTarea[16]),
                                byte.Parse(aDatosTarea[12]), Utilidades.unescape(aDatosTarea[3]),
                                int.Parse(aDatosTarea[20]), byte.Parse(aDatosTarea[11]), Utilidades.unescape(aDatosTarea[13]),
                                int.Parse(aDatosTarea[9]));
                if (iEstadoAnt != iEstadoAct)
                {
                    ASUNTOESTADO_T.Insert(tr, iCodAsunto, iEstadoAct, int.Parse(Session["NUM_EMPLEADO_ENTRADA"].ToString()));
                }
            }
            #endregion
            #region Datos integrantes
            if (slIntegrantes == "")
            {//Tenemos lista vacía. No hacemos nada
            }
            else
            {//Con la cadena generamos una lista y la recorremos para grabar cada elemento
                string[] aPersonas = Regex.Split(slIntegrantes, @"///");

                for (int i = 0; i < aPersonas.Length - 1; i++)
                {
                    if (aPersonas[i] != "")
                    {
                        string[] aIntegrante = Regex.Split(aPersonas[i], @"##");
                        sAccionBD  = aIntegrante[0];
                        sIdRecurso = aIntegrante[1];
                        if (aIntegrante[2] == "1")
                        {
                            bNotificable = true;
                        }
                        else
                        {
                            bNotificable = false;
                        }
                        switch (sAccionBD)
                        {
                        case "I":
                            ASUNTORECURSOS_T.Insert(tr, int.Parse(sIdRecurso), iCodAsunto, bNotificable);
                            break;

                        case "D":
                            //delete
                            ASUNTORECURSOS_T.Delete(tr, iCodAsunto, int.Parse(sIdRecurso));
                            break;

                        case "U":
                            //update
                            ASUNTORECURSOS_T.Update(tr, int.Parse(sIdRecurso), iCodAsunto, bNotificable);
                            break;
                        }
                    }
                }//for
            }
            #endregion
            #region Enviar correos
            if (bEnviarAlerta)
            {
                //if (bAlta) sCad = "I";
                //else sCad = "U";
                EnviarCorreoAlerta(iCodAsunto.ToString(), strDatosTarea, slIntegrantes, bAlta);
            }
            #endregion
            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@" + iCodAsunto.ToString();
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al grabar los datos del asunto", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }
예제 #40
0
        public static string Grabar(string strDatos)
        {
            string sDen    = "";
            string sAccion = "";

            #region Inicio Transacción

            SqlConnection  oConn;
            SqlTransaction tr;
            try
            {
                oConn = Conexion.Abrir();
                tr    = Conexion.AbrirTransaccion(oConn);
            }
            catch (Exception ex)
            {
                throw (new Exception("Error al abrir la conexion", ex));
            }

            #endregion

            try
            {
                #region Grabar

                string   sIdCuenta = "";
                string[] aCuenta   = Regex.Split(strDatos, "@cuenta@");
                foreach (string sCuenta in aCuenta)
                {
                    if (sCuenta != "")
                    {
                        string[] aDatosCuenta = Regex.Split(sCuenta, "@dato@");
                        sAccion = aDatosCuenta[0];
                        sDen    = aDatosCuenta[2];
                        switch (sAccion)
                        {
                        case "I":
                            //aDatosCuenta[1]-->IDCuenta
                            //aDatosCuenta[2]-->Denominacion
                            //aDatosCuenta[3]-->IdSegemento
                            //aDatosCuenta[4]-->Estado
                            sIdCuenta += DAL.CuentasCVT.Insert(tr, aDatosCuenta[2].ToString(), int.Parse(aDatosCuenta[3].ToString()), (aDatosCuenta[4].ToString() == "true") ? byte.Parse("1") : byte.Parse("0"), null) + "//";
                            break;

                        case "U":
                            DAL.CuentasCVT.Update(tr, int.Parse(aDatosCuenta[1].ToString()), aDatosCuenta[2].ToString(), int.Parse(aDatosCuenta[3].ToString()), (aDatosCuenta[4].ToString() == "true") ? byte.Parse("1") : byte.Parse("0"));
                            break;

                        case "D":
                            //sDenominacionDelete = aDatosCuenta[2];
                            DAL.CuentasCVT.Delete(tr, int.Parse(aDatosCuenta[1].ToString()));
                            break;
                        }
                    }
                }

                #endregion
                Conexion.CommitTransaccion(tr);
                return("OK@#@" + sIdCuenta);
            }
            catch (Exception ex)
            {
                Conexion.CerrarTransaccion(tr);
                if (Errores.EsErrorIntegridad(ex))
                {
                    if (sAccion == "D")
                    {
                        throw new Exception("ErrorControlado##EC##No se puede eliminar la cuenta \"" + sDen + "\" por tener elementos relacionados.");
                    }
                    else
                    {
                        throw new Exception("ErrorControlado##EC##No se puede grabar la cuenta \"" + sDen + "\" porque ya existe esa denominación.");
                    }
                }
                else
                {
                    throw ex;
                }
            }
            finally
            {
                Conexion.Cerrar(oConn);
            }
        }
        public static string Grabar(string strDatos)
        {
            #region Inicio Transacción

            SqlConnection  oConn;
            SqlTransaction tr;
            try
            {
                oConn = Conexion.Abrir();
                tr    = Conexion.AbrirTransaccion(oConn);
            }
            catch (Exception ex)
            {
                throw (new Exception("Error al abrir la conexion", ex));
            }

            #endregion
            try
            {
                #region Grabar
                string   sAux    = "";
                int?     nPar1   = null;
                int?     nPar2   = null;
                int?     nPar3   = null;
                string[] aAlerta = Regex.Split(strDatos, "///");
                foreach (string sAlerta in aAlerta)
                {
                    string[] aDatosAlerta = Regex.Split(sAlerta, "##");
                    switch (aDatosAlerta[0])
                    {
                    case "U":
                        sAux = aDatosAlerta[2].Replace(".", "");
                        if (sAux != "")
                        {
                            nPar1 = int.Parse(sAux);
                        }
                        else
                        {
                            nPar1 = null;
                        }

                        sAux = aDatosAlerta[3].Replace(".", "");
                        if (sAux != "")
                        {
                            nPar2 = int.Parse(sAux);
                        }
                        else
                        {
                            nPar2 = null;
                        }

                        sAux = aDatosAlerta[4].Replace(".", "");
                        if (sAux != "")
                        {
                            nPar3 = int.Parse(sAux);
                        }
                        else
                        {
                            nPar3 = null;
                        }

                        DAL.SN4Alertas.Update(tr, int.Parse(aDatosAlerta[1].ToString()), nPar1, nPar2, nPar3);
                        break;
                    }
                }

                #endregion

                Conexion.CommitTransaccion(tr);
                return("OK@#@");
            }
            catch (Exception ex)
            {
                Conexion.CerrarTransaccion(tr);
                throw ex;
            }
            finally
            {
                Conexion.Cerrar(oConn);
            }
        }
예제 #42
0
    private string Procesar(string strDatos)
    {
        string sResul = "";

        int idPSN = 0, responsable_origen = 0, responsable_destino = 0, subnodo_origen = 0, subnodo_destino = 0;

        try
        {
            REASIGNACIONPSN.DeleteAll(null, (int)Session["UsuarioActual"]);

            string[] aDatos = Regex.Split(strDatos, "///");
            foreach (string oProyecto in aDatos)
            {
                try
                {
                    if (oProyecto == "")
                    {
                        continue;
                    }
                    string[] aProyecto = Regex.Split(oProyecto, "##");
                    ///aProyecto[0] = idPSN
                    ///aProyecto[1] = responsable_origen
                    ///aProyecto[2] = responsable_destino
                    ///aProyecto[3] = subnodo_origen
                    ///aProyecto[4] = subnodo_destino
                    ///aProyecto[5] = procesado

                    idPSN = int.Parse(aProyecto[0]);
                    responsable_origen  = int.Parse(aProyecto[1]);
                    responsable_destino = int.Parse(aProyecto[2]);
                    subnodo_origen      = int.Parse(aProyecto[3]);
                    subnodo_destino     = int.Parse(aProyecto[4]);

                    REASIGNACIONPSN.Insertar(null, idPSN, (int)Session["UsuarioActual"], responsable_destino, subnodo_destino, false, "");

                    if (aProyecto[5] == "1" || (aProyecto[1] == aProyecto[2] && aProyecto[3] == aProyecto[4]))
                    {
                        REASIGNACIONPSN.Modificar(null, idPSN, (int)Session["UsuarioActual"], responsable_destino, subnodo_destino, true, "");
                        continue;
                    }

                    #region abrir conexión y transacción
                    try
                    {
                        oConn = Conexion.Abrir();
                        tr    = Conexion.AbrirTransaccionSerializable(oConn);
                    }
                    catch (Exception ex)
                    {
                        if (oConn.State == ConnectionState.Open)
                        {
                            Conexion.Cerrar(oConn);
                        }
                        sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex);
                        return(sResul);
                    }
                    #endregion

                    PROYECTOSUBNODO oPSN     = PROYECTOSUBNODO.Obtener(tr, int.Parse(aProyecto[0]));
                    SUBNODO         oSubnodo = SUBNODO.Obtener(tr, int.Parse(aProyecto[4]));

                    if (oPSN.t303_idnodo != oSubnodo.t303_idnodo)
                    {
                        throw (new NullReferenceException("El " + Estructura.getDefLarga(Estructura.sTipoElem.NODO) + " del proyecto y el " + Estructura.getDefLarga(Estructura.sTipoElem.NODO) + " del " + Estructura.getDefLarga(Estructura.sTipoElem.SUBNODO) + " destino no coinciden, por lo que no se puede realizar la reasignación."));
                    }

                    PROYECTOSUBNODO.UpdateReasignacion(tr, idPSN, responsable_destino, subnodo_destino);

                    //update proceso OK
                    REASIGNACIONPSN.Modificar(null, idPSN, (int)Session["UsuarioActual"], responsable_destino, subnodo_destino, true, "");

                    Conexion.CommitTransaccion(tr);
                }
                catch (Exception ex)
                {
                    Conexion.CerrarTransaccion(tr);
                    //update proceso KO
                    REASIGNACIONPSN.Modificar(null, idPSN, (int)Session["UsuarioActual"], responsable_destino, subnodo_destino, false, ex.Message);
                    sResul = "Error@#@" + Errores.mostrarError("Error al procesar la reasignación.", ex);
                }
                finally
                {
                    Conexion.Cerrar(oConn);
                }
            }// fin foreach
            sResul = "OK";
        }
        catch (Exception ex)
        {
            sResul = "Error@#@" + Errores.mostrarError("Error al procesar la reasignación.", ex);
        }
        return(sResul);
    }
    private string Grabar(string sTipo, string sID, string strFiguras)
    {
        string         sResul = "";
        SqlConnection  oConn  = null;
        SqlTransaction tr     = null;

        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccion(oConn);
            if (strFiguras != "")//No se ha modificado nada de la pestaña de Figuras
            {
                string[] aUsuarios = Regex.Split(strFiguras, "///");
                foreach (string oUsuario in aUsuarios)
                {
                    if (oUsuario == "")
                    {
                        continue;
                    }
                    string[] aFig = Regex.Split(oUsuario, "##");
                    ///aFig[0] = bd
                    ///aFig[1] = idUsuario
                    ///aFig[2] = Figuras
                    if (aFig[0] == "D")
                    {
                        if (sTipo == "R")
                        {
                            FIGURAPSN_RESPONSABLE.DeleteUsuario(tr, int.Parse(sID), int.Parse(aFig[1]));
                        }
                        else
                        {
                            FIGURAPSN_NODO.DeleteUsuario(tr, int.Parse(sID), int.Parse(aFig[1]));
                        }
                    }
                    else
                    {
                        string[] aFiguras = Regex.Split(aFig[2], ",");
                        foreach (string oFigura in aFiguras)
                        {
                            if (oFigura == "")
                            {
                                continue;
                            }
                            string[] aFig2 = Regex.Split(oFigura, "@");
                            ///aFig2[0] = bd
                            ///aFig2[1] = Figura
                            if (aFig2[0] == "D")
                            {
                                if (sTipo == "R")
                                {
                                    FIGURAPSN_RESPONSABLE.Delete(tr, int.Parse(sID), int.Parse(aFig[1]), aFig2[1]);
                                }
                                else
                                {
                                    FIGURAPSN_NODO.Delete(tr, int.Parse(sID), int.Parse(aFig[1]), aFig2[1]);
                                }
                            }
                            else
                            {
                                if (sTipo == "R")
                                {
                                    FIGURAPSN_RESPONSABLE.Insert(tr, int.Parse(sID), int.Parse(aFig[1]), aFig2[1]);
                                }
                                else
                                {
                                    FIGURAPSN_NODO.Insert(tr, int.Parse(sID), int.Parse(aFig[1]), aFig2[1]);
                                }
                            }
                        }
                    }
                }
            }
            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al grabar la lista de figuras.", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }