Пример #1
0
        private static IServerSouthwind RemoteServer()
        {
            if (channelFactory == null)
            {
                channelFactory = new ChannelFactory <IServerSouthwind>("server");
            }

            IServerSouthwind result = channelFactory.CreateChannel();

            return(result);
        }
Пример #2
0
        public static IServerSouthwind GetLocalServer()
        {
            if (channelFactory == null)
            {
                channelFactory = new ChannelFactory <IServerSouthwind>("local");
            }

            IServerSouthwind result = channelFactory.CreateChannel();

            return(result);
        }
Пример #3
0
        public static IBaseServer NewServerAndLogin()
        {
            IServerSouthwind result = GetServer();

            if (Application.Current == null || Application.Current.CheckAccess())
            {
                return(Login(result));
            }
            else
            {
                Application.Current.Dispatcher.Invoke(() =>
                {
                    result = Login(result);
                });
            }

            return(result);
        }
Пример #4
0
        static IServerSouthwind Login(IServerSouthwind result)
        {
            Login milogin = new Login
            {
                Title       = "Welcome to Southwind",
                UserName    = Settings.Default.UserName,
                Password    = "",
                ProductName = "Southwind",
                CompanyName = "Signum Software"
            };

            milogin.LoginClicked += (object sender, EventArgs e) =>
            {
                try
                {
                    result.Login(milogin.UserName, Security.EncodePassword(milogin.Password));

                    Settings.Default.UserName = milogin.UserName;
                    Settings.Default.Save();

                    UserEntity.Current = result.GetCurrentUser();

                    if (UserEntity.Current.CultureInfo != null)
                    {
                        Thread.CurrentThread.CurrentCulture = Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(UserEntity.Current.CultureInfo.Name);
                    }

                    // verificar el tiempo de expiracion
                    var alerta = result.PasswordNearExpired();
                    if (alerta.HasText())
                    {
                        MessageBox.Show(alerta);
                    }


                    milogin.DialogResult = true;
                }
                catch (IncorrectUsernameException ex)
                {
                    milogin.Error = ex.Message;
                    milogin.FocusUserName();
                }
                catch (IncorrectPasswordException ex)
                {
                    milogin.Error = ex.Message;
                    milogin.FocusPassword();
                }
            };

            milogin.FocusUserName();

            bool?dialogResult = milogin.ShowDialog();

            if (dialogResult == true)
            {
                UserEntity user = result.GetCurrentUser();
                UserEntity.Current = user;

                return(result);
            }
            else
            {
                return(null);
            }
        } //Login
Пример #5
0
        static IServerSouthwind Login(IServerSouthwind result)
        {
            Login milogin = new Login
            {
                Title = "Welcome to Southwind",
                UserName = Settings.Default.UserName,
                Password = "",
                ProductName = "Southwind",
                CompanyName = "Signum Software"
            };

            milogin.LoginClicked += (object sender, EventArgs e) =>
            {
                try
                {
                    result.Login(milogin.UserName, Security.EncodePassword(milogin.Password));

                    Settings.Default.UserName = milogin.UserName;
                    Settings.Default.Save();

                    UserEntity.Current = result.GetCurrentUser();

                    if (UserEntity.Current.CultureInfo != null)
                        Thread.CurrentThread.CurrentCulture = Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(UserEntity.Current.CultureInfo.Name);

                    // verificar el tiempo de expiracion
                    var alerta = result.PasswordNearExpired();
                    if (alerta.HasText())
                        MessageBox.Show(alerta);


                    milogin.DialogResult = true;
                }
                catch (IncorrectUsernameException ex)
                {
                    milogin.Error = ex.Message;
                    milogin.FocusUserName();
                }
                catch (IncorrectPasswordException ex)
                {
                    milogin.Error = ex.Message;
                    milogin.FocusPassword();
                }
            };

            milogin.FocusUserName();

            bool? dialogResult = milogin.ShowDialog();
            if (dialogResult == true)
            {
                UserEntity user = result.GetCurrentUser();
                UserEntity.Current = user;

                return result;
            }
            else
            {
                return null;
            }
        } //Login