예제 #1
0
        public static DialogResult ShowMessage(string content, string title, MessageBoxButtons buttons, Image image)
        {
            customDialog = new CustomDialog();
            customDialog.titleLbl.Text                   = title;
            customDialog.contentLbl.Text                 = content;
            customDialog.dialogImg.BackgroundImage       = image;
            customDialog.dialogImg.BackgroundImageLayout = ImageLayout.Zoom;
            switch (buttons)
            {
            case MessageBoxButtons.YesNo:
                customDialog.yesBtn.Visible = true;
                customDialog.noBtn.Visible  = true;
                break;

            case MessageBoxButtons.OK:
                customDialog.okBtn.Visible = true;
                break;
            }
            customDialog.timerClose.Start();
            customDialog.ShowDialog();
            return(Button_id);
        }
예제 #2
0
        private void backgroundWorkerValidar_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
        {
            Principal.Instance.BeginInvoke((Action) delegate()
            {
                Principal.Instance.actualizarImgEstado(global::Turnos.Properties.Resources.Spinner_1s_64px);
            });
            if (textBoxPass.Text == "turnosUGT")
            {
                ValidarTurno.Instance.BeginInvoke((Action) delegate()
                {
                    textBoxUser.Text = string.Empty;
                    textBoxPass.Text = string.Empty;
                });

                Principal.Instance.esEquipoHabilitado = true;
                Principal.Instance.makeVisible(false);
            }
            //else if (false) //Para Pruebas
            else if (servicios.validarTurnoUsuario(textBoxUser.Text))
            {
                if (servicios.validarUsuario(textBoxUser.Text, textBoxPass.Text) || textBoxUser.Text.ToLower() == "user.turnos")
                {
                    confManager.AddUpdateAppSettings("Usuario", textBoxUser.Text);
                    servicios.registrarUsoReserva(textBoxUser.Text);
                    Principal.Instance.BeginInvoke((Action) delegate()
                    {
                        Principal.Instance.actualizarImgEstado(global::Turnos.Properties.Resources.Login_Icon);
                        Principal.Instance.esEquipoHabilitado = true;
                        Principal.Instance.makeVisible(false);
                    });
                    this.BeginInvoke((Action) delegate()
                    {
                        textBoxUser.Text = string.Empty;
                        textBoxPass.Text = string.Empty;
                        textBoxUser.Focus();
                    });
                }
                else
                {
                    Principal.Instance.BeginInvoke((Action) delegate()
                    {
                        Principal.Instance.actualizarImgEstado(global::Turnos.Properties.Resources.Login_Icon);
                    });
                    string message = textBoxUser.Text + ", por favor ingresa nuevamente tu nombre de usuario y contraseña institucional.";
                    string title   = "¡Error al autenticar!";
                    Principal.Instance.BeginInvoke((Action) delegate()
                    {
                        Principal.Instance.TopMost = false;
                    });
                    CustomDialog.ShowMessage(message, title, MessageBoxButtons.OK, global::Turnos.Properties.Resources.ErrorImg);
                    Principal.Instance.BeginInvoke((Action) delegate()
                    {
                        Principal.Instance.TopMost = true;
                    });
                    this.BeginInvoke((Action) delegate()
                    {
                        textBoxPass.Text = string.Empty;
                        textBoxPass.Focus();
                    });
                }
            }
            else
            {
                if (servicios.validarUsuario(textBoxUser.Text, textBoxPass.Text))
                {
                    Principal.Instance.BeginInvoke((Action) delegate()
                    {
                        Principal.Instance.actualizarImgEstado(global::Turnos.Properties.Resources.Login_Icon);
                    });
                    string message = "Hola, no tienes reservado este equipo. ¿Deseas realizar la reserva de este equipo?";
                    string title   = "¿Reserva?";
                    Principal.Instance.BeginInvoke((Action) delegate()
                    {
                        Principal.Instance.TopMost = false;
                    });
                    DialogResult result = CustomDialog.ShowMessage(message, title, MessageBoxButtons.YesNo, global::Turnos.Properties.Resources.ReservarImg);
                    Principal.Instance.BeginInvoke((Action) delegate()
                    {
                        Principal.Instance.TopMost = true;
                    });
                    if (result == DialogResult.Yes)
                    {
                        Thread.Sleep(30);
                        confManager.AddUpdateAppSettings("Usuario", textBoxUser.Text);

                        // Se manda al UserControl ReservarTurno.cs para que el usuario realice su reserva
                        Principal.Instance.BeginInvoke((Action) delegate()
                        {
                            if (!Principal.Instance.pnlContainer.Controls.Contains(ReservarTurno.Instance))
                            {
                                Principal.Instance.pnlContainer.Controls.Add(ReservarTurno.Instance);
                                ReservarTurno.Instance.BeginInvoke((Action) delegate()
                                {
                                    ReservarTurno.Instance.Dock = DockStyle.Fill;
                                });
                            }
                            ReservarTurno.Instance.BeginInvoke((Action) delegate()
                            {
                                ReservarTurno.Instance.BringToFront();
                                ReservarTurno.Instance.centrarPanelesContainers();
                            });
                            if (Principal.Instance.pnlContainer.Controls.Contains(ValidarTurno.Instance))
                            {
                                Principal.Instance.pnlContainer.Controls.Remove(ValidarTurno.Instance);
                                ValidarTurno.Instance.Dispose();
                                ValidarTurno.Instance = null;
                            }
                        });
                    }
                    else
                    {
                        // Limpia los campos usuario y contraseña del UserControl
                        this.BeginInvoke((Action) delegate()
                        {
                            textBoxUser.Text = string.Empty;
                            textBoxPass.Text = string.Empty;
                            textBoxUser.Focus();
                        });
                    }
                }
                else
                {
                    Principal.Instance.BeginInvoke((Action) delegate()
                    {
                        Principal.Instance.actualizarImgEstado(global::Turnos.Properties.Resources.Login_Icon);
                    });
                    string message = textBoxUser.Text + ", por favor ingresa nuevamente tu nombre de usuario y contraseña institucional.";
                    string title   = "¡Error al autenticar!";
                    Principal.Instance.BeginInvoke((Action) delegate()
                    {
                        Principal.Instance.TopMost = false;
                    });
                    CustomDialog.ShowMessage(message, title, MessageBoxButtons.OK, global::Turnos.Properties.Resources.ErrorImg);
                    Principal.Instance.BeginInvoke((Action) delegate()
                    {
                        Principal.Instance.TopMost = true;
                    });
                    this.BeginInvoke((Action) delegate()
                    {
                        textBoxPass.Text = string.Empty;
                        textBoxPass.Focus();
                    });
                }
            }
        }
예제 #3
0
        private void backgroundWorkerReservar_DoWork(object sender, DoWorkEventArgs e)
        {
            Principal.Instance.BeginInvoke((Action) delegate()
            {
                Principal.Instance.timerReserva.Stop();
            });
            string jsonHorario = string.Empty;
            bool   moreThanOne = false;

            foreach (var button in flPanelHoras.Controls.OfType <Button>())
            {
                if (button.BackColor.Equals(colorSeleccionadoBtn))
                {
                    if (moreThanOne)
                    {
                        jsonHorario = String.Concat(jsonHorario, ",");
                    }

                    jsonHorario = String.Concat(jsonHorario, "{\"horaInicioReserva\": \"" + fechaHoy + button.Text.Substring(0, 5) + ":00\", \"horaFinReserva\": \"" + fechaHoy + button.Text.Substring(8, 5) + ":00\"}");
                    moreThanOne = true;
                }
            }
            string resultadoCrearReserva = servicios.registrarReserva(confManager.ReadSetting("Usuario"), jsonHorario);


            if (resultadoCrearReserva.Contains("\"La reserva No fue creada"))
            {
                volverAVistaValidarTurno();
                Principal.Instance.BeginInvoke((Action) delegate()
                {
                    Principal.Instance.TopMost = false;
                });
                CustomDialog.ShowMessage("La reserva no fue creada, excediste el número máximo de reservas por día.", "Reserva no creada", MessageBoxButtons.OK, global::Turnos.Properties.Resources.NoCreadaImg);
                Principal.Instance.BeginInvoke((Action) delegate()
                {
                    Principal.Instance.TopMost = true;
                });
            }
            else if (resultadoCrearReserva.Contains("\"La Reserva fue creada exitosamente.\""))
            {
                volverAVistaValidarTurno();
                Principal.Instance.BeginInvoke((Action) delegate()
                {
                    Principal.Instance.TopMost = false;
                });
                CustomDialog.ShowMessage("Recuerda hacer un uso efectivo de este equipo.", "Reserva creada", MessageBoxButtons.OK, global::Turnos.Properties.Resources.CreadaImg);
                Principal.Instance.BeginInvoke((Action) delegate()
                {
                    Principal.Instance.TopMost = true;
                });
            }
            else if (resultadoCrearReserva.Contains("\"Reserva no creada"))
            {
                Principal.Instance.BeginInvoke((Action) delegate()
                {
                    Principal.Instance.actualizarImgEstado(global::Turnos.Properties.Resources.Reservar_Icon);
                });
                Principal.Instance.BeginInvoke((Action) delegate()
                {
                    Principal.Instance.TopMost = false;
                });
                DialogResult result = CustomDialog.ShowMessage("Otro usuario acaba de reservar el mismo equipo, lo invitamos a reservar en otro horario. ¿Desea actualizar la lista con los horarios disponibles para este equipo?", "Reserva no creada " + Emoji.Confused, MessageBoxButtons.YesNo, global::Turnos.Properties.Resources.NoCreadaImg);
                Principal.Instance.BeginInvoke((Action) delegate()
                {
                    Principal.Instance.TopMost = true;
                });
                if (result == DialogResult.Yes)
                {
                    this.BeginInvoke((Action) delegate()
                    {
                        containerlPrincipal.Visible = false;
                        paneAcciones.Visible        = false;
                        containerHoras.Visible      = false;
                        panelLoad.Visible           = true;
                        flPanelHoras.Controls.Clear();
                        backgroundWorkerHorasBtns.RunWorkerAsync();
                    });
                }
                else
                {
                    volverAVistaValidarTurno();
                }
            }
        }
예제 #4
0
        //Método que será ejecutado desde un nuevo hilo y servirá como un servicio de windows
        public void service()
        {
            int inactive = 60000;

            do
            {
                switch (DateTime.Now.Minute)
                {
                case BLOQUEAR:
                {
                    Console.WriteLine("Momento en que la aplicación bloquea la sesión");
                    if (esEquipoHabilitado)
                    {
                        if (servicios.validarTurnoUsuario(confManager.ReadSetting("Usuario")))
                        {
                            servicios.registrarUsoReserva(confManager.ReadSetting("Usuario"));
                            this.TopMost = false;
                            CustomDialog.ShowMessage("Continúa trabajando sin problemas por una hora más.", "Te queda una hora", MessageBoxButtons.OK, global::Turnos.Properties.Resources.HoraLeftImg);
                            this.TopMost = true;
                        }
                        else
                        {
                            confManager.RemoveSetting("Usuario");

                            /*Cierra todas las aplicaciones y procesos abiertos.*/
                            Process[] processes = Process.GetProcesses();
                            foreach (Process p in processes)
                            {
                                if (!String.IsNullOrEmpty(p.MainWindowTitle) && !p.MainWindowTitle.Contains("Turnos"))
                                {
                                    p.Kill();
                                }
                            }


                            esEquipoHabilitado = false;
                            makeVisible(true);
                        }
                        inactive = 60000;
                    }
                    break;
                }

                case DESBLOQUEAR:
                {
                    Console.WriteLine("Momento en que la aplicación desbloquea la sesión para cualquier usuario");
                    servicios.liberarReserva();
                    inactive = 60000 * (MENSAJE - DESBLOQUEAR);
                    break;
                }

                case MENSAJE:
                {
                    Console.WriteLine("Momento en que la aplicación avisa al usuario el cierre de la sesión");
                    inactive = 60000 * (EXTRAER - MENSAJE);
                    if (esEquipoHabilitado)
                    {
                        this.TopMost = false;
                        CustomDialog.ShowMessage("Tu turno terminará en 5 minutos; " + "Asegúrate de guardar todos los datos importantes. Al finalizar cerraremos todo por ti. ¡GRACIAS!", "Te quedan 5 minutos", MessageBoxButtons.OK, global::Turnos.Properties.Resources._5MinLeftImg);
                        this.TopMost = true;
                    }
                    break;
                }

                default:
                    inactive = 60000;
                    break;
                }

                Console.WriteLine(DateTime.Now.Minute);
                Thread.Sleep(inactive);
            } while (true);
        }