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); } } }