예제 #1
0
 private void btnGuardar_Click(object sender, RoutedEventArgs e)
 {
     if (string.IsNullOrEmpty(txtLicencia.Text))
     {
         return;
     }
     else
     {
         // Guardar licencia del equipo
         Datos.Puesto oPuesto = new Datos.Puesto()
         {
             Equipo = lblEquipo.Content.ToString(),
             IP     = lblIP.Content.ToString(),
             Token  = txtLicencia.Text
         };
         if (Datos.PuestoGestor.GuardarPuesto(oPuesto))
         {
             Siscom.Seguridad  seg = new Siscom.Seguridad(App.Programa);
             Siscom.LicenciaIP lic = seg.CompruebaLicenciaIP(txtLicencia.Text, App.Modulo);
             if (lic != null && !string.IsNullOrEmpty(lic.Equipo))
             {
                 // Actualizar los puestos licenciados
                 Datos.PuestoGestor.EliminaPuestosNoLicenciados(lic.NumeroPuestos);
             }
             Close();
         }
         else
         {
             lblMensaje.Content = "Error al guardar";
             pnlMensaje.Height  = new GridLength(50);
         }
     }
 }
예제 #2
0
        public static Puesto ObtenerPuesto(string Equipo)
        {
            Puesto oEntidad = null;

            try {
                using (SqlCommand cmd = new SqlCommand("Select * from Puestos where Equipo = @Equipo order by Equipo", Configuracion.ConexionBBDD)) {
                    cmd.Parameters.Add("Equipo", SqlDbType.VarChar).Value = Equipo;
                    DataTable dt = new DataTable();
                    dt.Load(cmd.ExecuteReader());
                    if (dt.Rows.Count > 0)
                    {
                        oEntidad = ObtenerEntidadPuesto(dt.Rows[0]);
                    }
                }
            } catch (Exception ex) {
                Console.WriteLine(ex.Message);
            }
            return(oEntidad);
        }
예제 #3
0
        private bool LicenciaValida()
        {
            bool      bValida = false;
            Seguridad seg     = new Seguridad(Programa);

            // El mismo puesto puede tener varias direcciones IP ¿?
            Datos.Puesto oPuesto = Datos.PuestoGestor.ObtenerPuesto(Configuracion.NombreEquipo);
            if (oPuesto != null)
            {
                LicenciaIP l = seg.CompruebaLicenciaIP(oPuesto.Token, Modulo);
                if (l.EsValida)
                {
                    if (l.Equipo.ToLower() == Configuracion.NombreEquipo.ToLower() && l.IP == Configuracion.IPEquipo)
                    {
                        bValida = true;
                    }
                }
            }

            return(bValida);
        }
예제 #4
0
        public static bool GuardarPuesto(Puesto Puesto)
        {
            bool guardado = false;

            try {
                string qUpdateInsert = @"
                    Declare @Id as int = (Select Id from Puestos where Equipo = @Equipo) -- and IP = @IP)
                    if @Id is not null
                        Update PuestoS set Token = @Licencia, IP = @IP where Id = @Id
                    else
                        Insert into Puestos (Equipo, IP, Token) values(@Equipo, @IP, @Licencia)
                ";
                using (SqlCommand cmd = new SqlCommand(qUpdateInsert, Configuracion.ConexionBBDD)) {
                    cmd.Parameters.Add("IP", SqlDbType.VarChar).Value     = Puesto.IP;
                    cmd.Parameters.Add("Licencia", SqlDbType.Text).Value  = Puesto.Token;
                    cmd.Parameters.Add("Equipo", SqlDbType.VarChar).Value = Puesto.Equipo;
                    int result = cmd.ExecuteNonQuery();
                    guardado = result > 0;
                }
            } catch (Exception ex) {
                Console.WriteLine(ex.Message);
            }
            return(guardado);
        }