public override void Ejecutar() { //Validar usuario PUsuario usuarioPer = new PUsuario(); Entidades.EUsuario usuario = null; bool permiteAcceso = true; // if (string.IsNullOrEmpty(solicitud.IdUsuario) || string.IsNullOrEmpty(solicitud.Clave)) { log.Warn("Credenciales de usuario incompletas."); Telemetria.Instancia.Id(Common.Config.Terminal).Usuario(solicitud.IdUsuario).AgregaMetrica(new Evento("IniciasSesionInvalido")); iu.PanelOperador.MensajeOperador = "Campos faltantes."; iu.PanelLogin.Clave = string.Empty; } else { Respuesta respuesta = new Respuesta(); usuario = usuarioPer.Autenticar(solicitud.IdUsuario, solicitud.Clave, out respuesta); if (respuesta.Valida) { ////Solicitud de actualización //Task<MessageResult> r = iu.PanelDispositivo.VerificarActualizacion(); //r.Wait(); //if (r.Result == MessageResult.None) //{ //Cargue de parametros. PParametros parametrosPer = new PParametros(); PErrores erroresPer = new PErrores(); respuesta = new Respuesta(); Entidades.EParametros parametros = parametrosPer.ObetenerParametros(out respuesta); Entidades.EImpuestos impuestos = new Entidades.EImpuestos(); impuestos.Poblar(parametros); Dictionary <int, EError> errores = erroresPer.ObtenerListaErrores(); if (respuesta.Valida) { Entorno.Instancia.Parametros = parametros; Entorno.Instancia.Impuestos = impuestos; Entorno.Instancia.setMensajesError(errores); CargarParametros(); log.Info("[CmdIniciarSesion]: Parametros establecidos correctamente."); //Información del operador. Entorno.Instancia.Usuario = usuario; //Terminal respuesta = new Respuesta(false); ETerminal terminal = new PTerminal().BuscarTerminalPorCodigo("100003", out respuesta); if (respuesta.Valida) { try { bool defImpuestoCompuesto = Entorno.Instancia.Parametros.ObtenerValorParametro <bool>("pdv.definicion_impuesto_compuesta"); if (defImpuestoCompuesto) { if (!parametrosPer.VerificarExixteTablaImpuestos()) { permiteAcceso = false; } } } catch (Exception ex) { log.ErrorFormat("[CmdIniciarSesion] {0}", ex.Message); Telemetria.Instancia.AgregaMetrica(new Excepcion(ex)); } if (permiteAcceso) { //Version assemblyVersion = Assembly.GetEntryAssembly().GetName().Version; //string version = String.Format("{0}.{1}.{2}.{3}", assemblyVersion.Major, assemblyVersion.Minor, assemblyVersion.Build, assemblyVersion.Revision); //string logInicioApp = string.Format("--> INICIO DE SESION, VERSION, {0} <--", version); //log.Info(logInicioApp); Entorno.Instancia.Terminal = terminal; iu.PanelOperador.CodigoTerminal = terminal.Codigo; iu.PanelOperador.NombreUsuario = usuario.Nombre; // string msg = string.Format("[CmdIniciarSesion]: Sesión iniciada correctamente. {0}", usuario.ToString()); log.Info(msg); // se debe preguntar por la interfaz que se encuentra en las configuraciones de la aplicación. // modo caracter //Solicitudes.SolicitudPanelVenta solicitudPanelventa = new Solicitudes.SolicitudPanelVenta(Enums.Solicitud.Vender); //Reactor.Instancia.Procesar(solicitudPanelventa); // modo touch Solicitudes.SolicitudPanelVenta solicitudPanelventa = new Solicitudes.SolicitudPanelVenta(Enums.Solicitud.Vender); Reactor.Instancia.Procesar(solicitudPanelventa); //iu.PanelLogin.IdUsuario = ""; //iu.PanelLogin.Clave = ""; Entorno.Instancia.Vista.PanelOperador.MensajeOperador = ""; //Ids de mis tablas de acumulados //Entorno.Instancia.IdsAcumulados = new PVenta().IdsAcumulados(Entorno.Instancia.Usuario, Entorno.Instancia.Terminal); ////Clientes //Entorno.Instancia.Clientes = new PClientes().GetAllClientes(); ////Codigos de recogida //Entorno.Instancia.CodigosRecogida = new PRecogida().GetCodigosRecogida(out respuesta); ////Tipos de Venta Especial //Entorno.Instancia.TipoVentaEspecial = new PVentaEspecial().GetAllVentaEspecial(Entorno.Instancia.Clientes); //// Ajustes //Entorno.Instancia.TiposAjustes = new PTiposAjuste().GetAllTiposAjuste(); //Telemetria.Instancia.Id(Entorno.Instancia.Terminal.Codigo).Usuario(Entorno.Instancia.Usuario.Usuario).AgregaMetrica(new Evento("IniciarSesion")); if (iu.PanelVentas != null) { iu.PanelVentas.VisorEntrada = ""; iu.PanelVentas.VisorFechaActual = DateTime.Now.ToString("dd/MM/yyyy"); } } else { log.Warn("Informacion en base de Datos no Concuerda con Parametros."); Telemetria.Instancia.Id(Common.Config.Terminal).Usuario(solicitud.IdUsuario).AgregaMetrica(new Evento("IniciasSesionInvalido")); iu.PanelOperador.MensajeOperador = respuesta.Mensaje; iu.PanelLogin.Clave = string.Empty; } } else { Telemetria.Instancia.Id(Common.Config.Terminal).Usuario(solicitud.IdUsuario).AgregaMetrica(new Evento("TerminalInvalida")); log.ErrorFormat("[CmdIniciarSesion] No se puede iniciar la aplicación ya que no se encontró terminal asociada al código \"{0}\"", Common.Config.Terminal); Entorno.Vista.PanelOperador.MensajeOperador = respuesta.Mensaje; } } else { Entorno.Vista.PanelOperador.MensajeOperador = respuesta.Mensaje; } //} //else if (r.Result == MessageResult.Affirmative) //{ // log.Info("[CmdIniciarSesion] Proceso de actualización en proceso, se cancela el inicio de sesión."); //} //} //else //{ // log.Warn("Credenciales de usuario invalidas."); // Telemetria.Instancia.Id(Common.Config.Terminal).Usuario(solicitud.IdUsuario).AgregaMetrica(new Evento("IniciasSesionInvalido")); // iu.PanelOperador.MensajeOperador = respuesta.Mensaje; // iu.PanelLogin.Clave = string.Empty; //} } } }
private Respuesta CargarParametros() { //Cargando parametros. Respuesta respuesta = new Respuesta(); try { PParametros parametrosPer = new PParametros(); EParametros listaParametros = parametrosPer.ObetenerParametros(out respuesta); if (respuesta.Valida) { Entorno.Instancia.Parametros = listaParametros; //Parametros de entradas de valores (formatos) try { CultureInfo culture = CultureInfo.CurrentCulture; InternalSettings.ThousandSeparator = Entorno.Instancia.Parametros.ObtenerValorParametro <string>("pdv.dinero.caracter_miles"); InternalSettings.DecimalSeparator = Entorno.Instancia.Parametros.ObtenerValorParametro <string>("pdv.eva.caracter_decimal"); InternalSettings.CurrencySymbol = Entorno.Instancia.Parametros.ObtenerValorParametro <string>("pdv.dinero.simbolo_moneda"); InternalSettings.WholeNumberLimit = Entorno.Instancia.Parametros.ObtenerValorParametro <int>("pdv.dinero.limite_valor_miles"); InternalSettings.DecimalLimit = Entorno.Instancia.Parametros.ObtenerValorParametro <int>("pdv.dinero.limite_decimales"); if (string.IsNullOrEmpty(InternalSettings.ThousandSeparator)) { InternalSettings.ThousandSeparator = culture.NumberFormat.NumberGroupSeparator; } if (string.IsNullOrEmpty(InternalSettings.DecimalSeparator)) { InternalSettings.DecimalSeparator = culture.NumberFormat.NumberDecimalSeparator; } if (string.IsNullOrEmpty(InternalSettings.CurrencySymbol)) { InternalSettings.CurrencySymbol = culture.NumberFormat.CurrencySymbol; } if (InternalSettings.DecimalLimit <= 0) { InternalSettings.DecimalLimit = culture.NumberFormat.NumberDecimalDigits; } else { if (InternalSettings.DecimalLimit > 3) { InternalSettings.DecimalLimit = 3; } } if (InternalSettings.WholeNumberLimit <= 0) { InternalSettings.WholeNumberLimit = 1000000; } InternalSettings.CurrencySymbolFlag = Entorno.Instancia.Parametros.ObtenerValorParametro <bool>("pdv.dinero.maneja_simbolo_moneda"); InternalSettings.DecimalFlag = Entorno.Instancia.Parametros.ObtenerValorParametro <bool>("pdv.maneja_decimales"); } catch (Exception ex) { log.ErrorFormat("[CargarParametros] {0}", ex.Message); Telemetria.Instancia.AgregaMetrica(new Excepcion(ex)); } } else { log.ErrorFormat("[ActualizarApp] {0}", respuesta.Mensaje); } } catch (Exception) { log.Error("[ActualizarApp] error al intentar cargar los parametros"); } return(respuesta); }