public static ControlAtraso.Entity.Establecimiento Configurar(string startupPath, int rbdCuerpo, char rbdDigito)
        {
            System.Configuration.Configuration configuration = System.Configuration.ConfigurationManager.OpenExeConfiguration(startupPath);

            bool configurado = configuration.AppSettings.Settings.AllKeys.Any(x => x.Equals("rbd"));

            if (configurado)
            {
                return(new ControlAtraso.Entity.Establecimiento());
            }

            string url = configuration.AppSettings.Settings["Url"].Value;

            url = string.Format("{0}/Establecimiento?rbdCuerpo={1}&rbdDigito={2}", url, rbdCuerpo, rbdDigito);

            ControlAtraso.Helper h = new Helper();

            ControlAtraso.Result <ControlAtraso.Entity.Establecimiento> result = h.Call <ControlAtraso.Entity.Establecimiento>(CallType.CallTypeGet, url);

            if (result.Status.Equals(ControlAtraso.Status.Ok))
            {
                if (result.Entity.Estado.Equals("Válido"))
                {
                    configuration.AppSettings.Settings.Add("establecimiento", result.Entity.Nombre);
                    configuration.AppSettings.Settings.Add("rbd", string.Format("{0}{1}", rbdCuerpo, rbdDigito));
                    configuration.AppSettings.Settings.Add("targetUrl", result.Entity.Url);

                    configuration.Save();
                }

                return(result.Entity);
            }
            else
            {
                ControlAtraso.Entity.Establecimiento establecimiento = new ControlAtraso.Entity.Establecimiento
                {
                    Estado  = "No Válido",
                    Mensaje = "Se ha producido un error de comunicación con el servidor Insignia, por favor contacte a [email protected]"
                };

                return(establecimiento);
            }
        }
        private void Forward_Click(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrEmpty(this.RbdCuerpo.Text) || string.IsNullOrEmpty(this.RbdDigito.Text))
            {
                MessageBox.Show("Por favor, ingresa el R.B.D. para continuar", "Insignia", MessageBoxButton.OK, MessageBoxImage.Stop);
            }
            else
            {
                string cuerpo = this.RbdCuerpo.Text;
                char   digito = char.Parse(this.RbdDigito.Text.ToUpper());

                if (ControlAtraso.Helper.GetDigito(int.Parse(cuerpo)).Equals(digito))
                {
                    ControlAtraso.Entity.Establecimiento establecimiento = ControlAtraso.Configuracion.Configurar(System.Environment.GetCommandLineArgs()[0], int.Parse(cuerpo), char.Parse(this.RbdDigito.Text.ToUpper()));

                    if (establecimiento.Estado.Equals("Válido"))
                    {
                        NavigationService.Navigate(new ControlAtraso.UI.Home.Home());
                    }
                    else
                    {
                        if (establecimiento.Mensaje.Contains("establecimiento no asociado"))
                        {
                            MessageBox.Show("Lamentablemente el R.B.D. ingresado no esta asociado a Insignia, o no esta configurado para acceder, por favor contacte a [email protected]", "Insignia", MessageBoxButton.OK, MessageBoxImage.Stop);
                        }
                        else if (establecimiento.Mensaje.Equals("Token no válido"))
                        {
                            MessageBox.Show("Existe un error de comunicación con el servidor Insignia, por favor contacte a [email protected]", "Insignia", MessageBoxButton.OK, MessageBoxImage.Stop);
                        }
                        else
                        {
                            MessageBox.Show("Se ha producido un error de comunicación con el servidor Insignia, por favor contacte a [email protected]", "Insignia", MessageBoxButton.OK, MessageBoxImage.Stop);
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Por favor, verifica el R.B.D. que ingresaste", "Insignia", MessageBoxButton.OK, MessageBoxImage.Stop);
                }
            }
        }