private void Ingresar()
        {
            try
            {
                string Usuario;
                string Contraseña;
                string Momento;
                string Descripcion;

                BLL.Auditor_BLL Auditor = new BLL.Auditor_BLL();
                BLL.Autenticador.Autenticador_BLL Autenticador;

                Momento     = DateTime.Now.ToLongTimeString();
                Descripcion = "El Usuario " + Txt_Usuario.Text.ToUpper() + " Inicio Sesion A La Hora : " + Momento;
                Usuario     = Txt_Usuario.Text;
                Contraseña  = Txt_Contraseña.Text;

                Autenticador = new BLL.Autenticador.Autenticador_BLL(Usuario, Contraseña);

                if (Autenticador.EstadoValidacion == ENT.TiposAnidados_ENT.TipoValidacion.UsuarioInexistente)
                {
                    MessageBox.Show("El usuario ingresado no existe", "Acceso denegado");
                    Txt_Usuario.Text    = "";
                    Txt_Contraseña.Text = "";
                    Txt_Usuario.Focus();
                }
                else if (Autenticador.EstadoValidacion == ENT.TiposAnidados_ENT.TipoValidacion.ContraseñaIncorrecta)
                {
                    MessageBox.Show("La contraseña ingresada no es la correcta", "Acceso denegado");
                    Txt_Contraseña.Text = "";
                    Txt_Contraseña.Focus();
                }
                else if (Autenticador.EstadoValidacion == ENT.TiposAnidados_ENT.TipoValidacion.EstadoInhabilitado)
                {
                    MessageBox.Show("El usuario presenta algun tipo de bloqueo asignado por el administrador", "Consultar con el administrador");
                }
                else
                {
                    UsuarioAct = Autenticador.UsuarioBLL.Usuario;
                    if (OcultarFormulario)
                    {
                        Frm_Principal frm = new Frm_Principal(UsuarioAct);
                        frm.Show();
                    }

                    Auditor.Registrar(Descripcion, Usuario, ENT.TiposAnidados_ENT.AccionesAuditoria.IniciarSesion);
                    PuedeCerrar = false;
                    this.Close();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Exemple #2
0
        private void Frm_Principal_FormClosing(object sender, FormClosingEventArgs e)
        {
            string Descripcion = "El Usuario " + Usuario.Usuario + " Cerro Sesión A La Hora : " + DateTime.Now.ToLongTimeString();

            BLL.Auditor_BLL Auditor = new BLL.Auditor_BLL();
            Auditor.Registrar(Descripcion, Usuario.Usuario, ENT.TiposAnidados_ENT.AccionesAuditoria.CerrarSesion);
            Enviando = true;
            //enviamos la orden de apagado a todos los equipos que se encuentren conectados
            Equipos.FindAll(E => E.TCP != null && !E.TCP.Connected).ForEach(E => EnviarOrdenaCliente(E.TCP, "SS"));
            Sock.Close();
            Recibir.Abort();
            Server.Stop();
        }
Exemple #3
0
        private void Tsmi_CambiarUsu_Click(object sender, EventArgs e)
        {
            DialogResult Res = MessageBox.Show("¿Cambiar De Usuario?"
                                               , "Cambiar Usuario"
                                               , MessageBoxButtons.YesNo, MessageBoxIcon.Hand);

            if (Res == DialogResult.Yes)
            {
                string          Descripcion = "El Usuario " + Usuario.Usuario + " Cerro Sesion A La Hora : " + DateTime.Now.ToLongTimeString();
                BLL.Auditor_BLL Auditor     = new BLL.Auditor_BLL();
                Auditor.Registrar(Descripcion, Usuario.Usuario, ENT.TiposAnidados_ENT.AccionesAuditoria.CerrarSesion);

                this.Enabled = false;

                Frm_Login Fl = new Frm_Login(false);
                Fl.ShowDialog();
            }
        }
Exemple #4
0
        private void AsignarTiempoAEquipo(CTRL.Terminal_CTRL Equipo, bool EsIlimitado, int Minutos)
        {
            try
            {
                BLL.Auditor_BLL Auditor    = new BLL.Auditor_BLL();
                DateTime        HoraInicio = DateTime.Now;
                string          Descripcion;
                int             Estado = 3;

                if (Equipo.Equipo.HoraInicio == new DateTime())
                {
                    Equipo.Equipo.HoraInicio = HoraInicio;
                }
                Equipo.Equipo.Estado = ENT.TiposAnidados_ENT.EstadoTerminal.Ocupado;

                if (EsIlimitado)
                {
                    Equipo.Equipo.TieneTiempoIlimitado = EsIlimitado;
                    EnviarOrdenaCliente(Equipo.Equipo.TCP, "-1");
                }
                else
                {
                    TimeSpan TiempoAdicionar = new TimeSpan(0, Minutos, 0);
                    Equipo.Equipo.TiempoConsumir = Equipo.Equipo.TiempoConsumir + TiempoAdicionar;
                    Equipo.Equipo.Valor          = Factura.ValorXTiempoConsumido(Convert.ToInt32(Equipo.Equipo.TiempoConsumir.TotalMinutes));
                    EnviarOrdenaCliente(Equipo.Equipo.TCP, "T" + Minutos.ToString());
                }

                //Guardamos el registro en base de datos
                Factura.Guardar(Equipo.Equipo, HoraInicio.ToShortDateString(), HoraInicio.ToLongTimeString(), Usuario.Usuario, Estado);

                //guardamos el registro de auditoria
                Descripcion = "El Usuario " + Usuario.Usuario + " Asigno Tiempo :"
                              + (EsIlimitado ? "Ilimitado" : Minutos.ToString())
                              + " Al Equipo " + Equipo.Equipo.Equipo + " En La Hora: " + HoraInicio.ToLongTimeString();
                Auditor.Registrar(Descripcion, Usuario.Usuario, ENT.TiposAnidados_ENT.AccionesAuditoria.AñadirTiempo);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Exemple #5
0
        private void Btn_TrasladarTiempo_Click(object sender, EventArgs e)
        {
            string Descripcion;

            BLL.Auditor_BLL    Auditor = new BLL.Auditor_BLL();
            CTRL.Terminal_CTRL Equipo  = (CTRL.Terminal_CTRL)((Control)sender).Parent;
            CTRL.Terminal_CTRL Destino;
            List <string>      Disponibles = (from Eq in Equipos
                                              where Eq.Estado == ENT.TiposAnidados_ENT.EstadoTerminal.Disponible
                                              select Eq.Equipo).ToList();

            if (Equipo.Equipo.Estado != ENT.TiposAnidados_ENT.EstadoTerminal.Ocupado)
            {
                return;
            }
            if (Disponibles.Count == 0)
            {
                MessageBox.Show("No hay equipos disponibles para hacer cambio."); return;
            }
            //detenemos el equipo actual para hacer el traslado de equipo
            Equipo.CambiarEstado(ENT.TiposAnidados_ENT.EstadoTerminal.Detenido);
            EnviarOrdenaCliente(Equipo.Equipo.TCP, "Bloq");
            //solicitamos la seleccion del equipo destino
            Frm_TrasladoEquipo Frm_Traslado = new Frm_TrasladoEquipo(Equipo.Equipo, Disponibles);

            Frm_Traslado.Show();
            //obtenemos el objeto destino
            Destino = Ctrl_Terminales.EncontrarControlXNombre(Frm_Traslado.DestinoSeleccionado);
            //asignamos las variables de la operacion vigente
            Destino.Equipo.TieneTiempoIlimitado = Equipo.Equipo.TieneTiempoIlimitado;
            Destino.Equipo.Estado          = ENT.TiposAnidados_ENT.EstadoTerminal.Ocupado;
            Destino.Equipo.HoraInicio      = Equipo.Equipo.HoraInicio;
            Destino.Equipo.TiempoConsumido = Equipo.Equipo.TiempoConsumido;
            Destino.Equipo.TiempoConsumir  = Equipo.Equipo.TiempoConsumir;
            Destino.Equipo.Valor           = Equipo.Equipo.Valor;
            Equipo.Equipo.ProductosAdicionales.ForEach(I => Destino.Equipo.ProductosAdicionales.Add(
                                                           new ENT.Detalles_ENT()
            {
                Producto    = I.Producto,
                Cantidad    = I.Cantidad,
                ValorUnidad = I.ValorUnidad,
                ValorTotal  = I.ValorTotal
            }));
            //habilitamos nuevamente el equipo
            Equipo.Equipo.ReiniciarFactura();
            Equipo.ActualizarControles();
            //enviamos la orden al destino
            if (Equipo.Equipo.TieneTiempoIlimitado)
            {
                EnviarOrdenaCliente(Destino.Equipo.TCP, "LI" + Destino.Equipo.TiempoConsumido.ToString());
            }
            else
            {
                TimeSpan TiempoRestante = Destino.Equipo.TiempoConsumir.Subtract(Destino.Equipo.TiempoConsumido);
                EnviarOrdenaCliente(Destino.Equipo.TCP, "I" + TiempoRestante.ToString());
            }

            Destino.ActualizarControles();

            Descripcion = "El usuario " + Usuario.Usuario + " traslado el tiempo del equipo "
                          + Equipo.Equipo.Equipo + " al equipo " + Destino.Equipo.Equipo + "a las " + DateTime.Now.ToLongTimeString();
            Auditor.Registrar(Descripcion, Usuario.Usuario, ENT.TiposAnidados_ENT.AccionesAuditoria.TrasladarTiempo);
        }
Exemple #6
0
        private void RealizarOperacion(CTRL.Terminal_CTRL Equipo, ENT.TiposAnidados_ENT.TipoOperacionFactura Operacion)
        {
            try
            {
                DateTime HoraSalida        = DateTime.Now;
                int      EstadoAnulacion   = 4;
                int      EstadoFacturacion = 3;

                BLL.Auditor_BLL Auditor = new BLL.Auditor_BLL();
                string          Descripcion;
                switch (Operacion)
                {
                case ENT.TiposAnidados_ENT.TipoOperacionFactura.Continuar:
                    EnviarOrdenaCliente(Equipo.Equipo.TCP, "Cont");
                    Equipo.CambiarEstado(ENT.TiposAnidados_ENT.EstadoTerminal.Ocupado);
                    break;

                case ENT.TiposAnidados_ENT.TipoOperacionFactura.Anular:
                    DialogResult Res = MessageBox.Show("¿Desea Anular Esta Factura?"
                                                       , "Anular"
                                                       , MessageBoxButtons.YesNo
                                                       , MessageBoxIcon.Exclamation);
                    if (Res == System.Windows.Forms.DialogResult.Yes)
                    {
                        if (Configuraciones.EstaTiempoOcioActivo() &&
                            Convert.ToInt32(Equipo.Equipo.TiempoConsumido.TotalMinutes) <= ENT.TiposAnidados_ENT.MinutosOcio)
                        {
                            Descripcion = "Se anula el registro automático del equipo " + Equipo.Equipo
                                          + " por no cumplir el tiempo de ocio a las " + HoraSalida.ToLongTimeString();
                            Auditor.Registrar(Descripcion, Usuario.Usuario, ENT.TiposAnidados_ENT.AccionesAuditoria.AnularFactura);
                            Factura.Eliminar(Equipo.Equipo);
                            Equipo.Equipo.ReiniciarFactura();
                            Equipo.ActualizarControles();
                        }
                        else
                        {
                            Descripcion = "El usuario " + Usuario.Usuario + " anuló la factura del equipo " + Equipo.Equipo
                                          + "con tiempo consumido " + Equipo.Equipo.TiempoConsumido.Minutes.ToString();
                            Auditor.Registrar(Descripcion, Usuario.Usuario, ENT.TiposAnidados_ENT.AccionesAuditoria.AnularFactura);
                            //guardamos el registro
                            Factura.Guardar(Equipo.Equipo, Hoy.ToShortDateString(), HoraSalida.ToLongTimeString(), Usuario.Usuario, EstadoAnulacion);
                            //enviamos la orden de bloqueo del equipo
                            EnviarOrdenaCliente(Equipo.Equipo.TCP, "Bloq");
                            Equipo.Equipo.ReiniciarFactura();
                            Equipo.ActualizarControles();
                        }
                    }
                    break;

                case ENT.TiposAnidados_ENT.TipoOperacionFactura.Facturar:
                    Descripcion = "El usuario " + Usuario.Usuario + " facturó al " + Equipo.Equipo
                                  + "por valor de " + Equipo.Equipo.TotalFacturar.ToString()
                                  + " en la hora " + HoraSalida.ToLongTimeString();
                    Auditor.Registrar(Descripcion, Usuario.Usuario, ENT.TiposAnidados_ENT.AccionesAuditoria.FacturaTiempo);
                    //guardamos el registro
                    Factura.Guardar(Equipo.Equipo, Hoy.ToShortDateString(), HoraSalida.ToLongTimeString(), Usuario.Usuario, EstadoFacturacion);
                    //enviamos la orden de bloqueo del equipo
                    EnviarOrdenaCliente(Equipo.Equipo.TCP, "Bloq");
                    Equipo.Equipo.ReiniciarFactura();
                    Equipo.ActualizarControles();
                    break;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }