예제 #1
0
        public static bool Authenticate(UserMobile user)
        {

            var status = Reachability.IsHostReachable(Reachability.HostName);
            if (status)
            {
                try
                {
                    var u = UserMobileMb.Login(user);
                    if (u.IsLoggedIn)
                    {
                        //u.LastMobileLoginDate = DateTime.UtcNow;
                        SqlAccount account = new SqlAccount(u);
                        new SqlFactory().DeleteProfile().InsertProfile(account);
                        SettingsMobile.Instance.User = u;
                    }
                    return u.IsLoggedIn;
                }
                catch (Exception ex)
                {
                    ErrorHandler.Save(ex, MobileTypeEnum.iPhone);
                }
            }
            return false;

        }
        void loginBtn_Click(object sender, EventArgs e)
        {
            var progressDialog = ProgressDialog.Show(this, "Please wait...", "Checking account info...", true);
            new Thread(new ThreadStart(delegate
            {
                try { 
                UserMobile user = new UserMobile();
                user.UserName = FindViewById<EditText>(Resource.Id.userName).Text;
                user.Password = FindViewById<EditText>(Resource.Id.password).Text;
                bool isAuthenticated = User.Authenticate(user, (Context)this);

                
                if (isAuthenticated)
                {
                    var main = new Intent(this, typeof(Main));
                    StartActivity(main);
                    RunOnUiThread(() => Toast.MakeText(this, "Logged In", ToastLength.Long).Show());
                }
                else
                {
                    RunOnUiThread(() =>
                        {
                            var text = FindViewById<TextView>(Resource.Id.warning);
                            text.Text = "Invalid Email or Password";
                        });
                }
                RunOnUiThread(() => progressDialog.Hide());
                }
                catch (Exception exception)
                {
                    ErrorHandler.Save(exception, MobileTypeEnum.Android, (Context)this);

                }
            })).Start();
        }
예제 #3
0
        private void LoginBtn_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                UserMobile m = new UserMobile();
                m.UserName = EmailAddress.Text;
                m.Password = Password.Text;
                progressIndicator.IsVisible = true;
                Task.Run(new Action(() =>
                    {
                        try
                        {
                            var user = UserMobileWP.Login(m);
                            if (user.IsLoggedIn)
                            {
                                user.LastMobileLoginDate = DateTime.UtcNow;
                                SqlFactory fact = new SqlFactory();
                                fact.DeleteProfile();
                                fact.InsertProfile(new SqlAccount(user));
                                var json = fact.GetNotificationSettings();
                                if (json != null)
                                {
                                    json.MemberId = user.MemberId.ToString();
                                    NotificationMobileJsonWP.SendNotificationId(json);
                                }
                                Dispatcher.BeginInvoke(delegate
                                {
                                    progressIndicator.IsVisible = false;
                                    NavigationService.Navigate(new Uri("/View/MyLeague/MyLeague.xaml", UriKind.Relative));

                                });
                            }
                            else
                            {
                                Dispatcher.BeginInvoke(delegate
                                {
                                    progressIndicator.IsVisible = false;
                                    warning.Text = "There was an error logging in, Please try again.";
                                });

                            }
                        }
                        catch (Exception exception)
                        {
                            ErrorHandler.Save(exception, MobileTypeEnum.WP8);
                        }
                        Dispatcher.BeginInvoke(delegate
                        {
                            progressIndicator.IsVisible = false;

                        });
                    }));
            }
            catch (Exception exception)
            {
                ErrorHandler.Save(exception, MobileTypeEnum.WP8);
            }
        }
예제 #4
0
 public static UserMobile SignUp(UserMobile user)
 {
     var response = Network.SendPackage(Network.ConvertObjectToStream(user), MobileConfig.SIGNUP_URL);
     var stream = response.GetResponseStream();
     StreamReader read = new StreamReader(stream);
     string json = read.ReadToEnd();
     SettingsMobile.Instance.User = Json.DeserializeObject<UserMobile>(json);
     return SettingsMobile.Instance.User;
 }
예제 #5
0
 public static UserMobile SaveUserPreferences(Context context, UserMobile user)
 {
     SettingsMobile.Instance.User = user;
     ISharedPreferences prefs = context.GetSharedPreferences(RDNationSettingsString, FileCreationMode.WorldReadable);
     ISharedPreferencesEditor editor = prefs.Edit();
     string s = Json.ConvertToString<UserMobile>(user);
     editor.PutString(UserMobileKey, s);
     editor.Commit();
     return user;
 }
예제 #6
0
        public static AccountSettingsModel AccountSettings(UserMobile user)
        {
            Random r = new Random();
            var response = Network.SendPackage(Network.ConvertObjectToStream(user), MobileConfig.ACCOUNT_SETTINGS_URL + "?r=" + r.Next());
            var stream = response.GetResponseStream();
            StreamReader read = new StreamReader(stream);
            string json = read.ReadToEnd();

            return Json.DeserializeObject<AccountSettingsModel>(json);
        }
예제 #7
0
 //public static UserMobile Login(UserMobile user)
 //{
 //    Random r = new Random();
 //    var response = Network.SendPackage1(Network.ConvertObjectToStream(user), MobileConfig.LOGIN_URL + "?r=" + r.Next());
 //    SettingsMobile.Instance.User = Json.DeserializeObject<UserMobile>(response.Result);
 //    return SettingsMobile.Instance.User;
 //}
 public static UserMobile Login(UserMobile user)
 {
     Random r = new Random();
     var response = Network.SendPackage(Network.ConvertObjectToStream(user), MobileConfig.LOGIN_URL + "?r=" + r.Next());
     var stream = response.GetResponseStream();
     StreamReader read = new StreamReader(stream);
     string json = read.ReadToEnd();
     SettingsMobile.Instance.User = Json.DeserializeObject<UserMobile>(json);
     return SettingsMobile.Instance.User;
     
 }
예제 #8
0
 public SqlAccount(UserMobile u)
 {
     DerbyName = u.DerbyName;
     DidSignUp = u.DidSignUp;
     Error = u.Error;
     FirstName = u.FirstName;
     Gender = u.Gender;
     IsConnectedToDerby = u.IsConnectedToDerby;
     IsLoggedIn = u.IsLoggedIn;
     IsRegisteredForNotifications = u.IsRegisteredForNotifications;
     IsValidSub = u.IsValidSub;
     LoginId = u.LoginId;
     MemberId = u.MemberId;
     Password = u.Password;
     Position = u.Position;
     RegistrationIdForNotifications = u.RegistrationIdForNotifications;
     UserName = u.UserName;
 }
예제 #9
0
        public static UserMobile SignUp(UserMobile user)
        {
            var status = Reachability.IsHostReachable(Reachability.HostName);
            if (status)
            {
                try
                {
                    var u = UserMobileMb.SignUp(user);
                    //Settings.SaveUserPreferences(context, u);
                    return u;
                }
                catch (Exception ex)
                {
                    ErrorHandler.Save(ex, MobileTypeEnum.iPhone);
                }
            }
            return user;

        }
예제 #10
0
        public static UserMobile SignUp(UserMobile user, Context context)
        {
            var connectivityManager = (ConnectivityManager)context.GetSystemService(Context.ConnectivityService);
            var activeConnection = connectivityManager.ActiveNetworkInfo;
            if ((activeConnection != null) && activeConnection.IsConnected)
            {
                try
                {
                    var u = UserMobileMb.SignUp(user);
                    Settings.SaveUserPreferences(context, u);
                    return u;
                }
                catch (Exception ex)
                {
                    ErrorHandler.Save(ex, MobileTypeEnum.Android, context);
                }
            }
            return user;

        }
예제 #11
0
        private void RegisterBtn_Click_1(object sender, RoutedEventArgs e)
        {
            try
            {
                UserMobile m = new UserMobile();

                m.UserName = Email.Text;
                m.Password = Password.Text;
                m.FirstName = FirstName.Text;
                if (GenderSelect != null && GenderSelect.SelectedItem != null)
                    m.Gender = Convert.ToInt32((GenderEnum)Enum.Parse(typeof(GenderEnum), GenderSelect.SelectedItem.ToString().Replace(" ", "_")));

                if (PositionSelect != null && PositionSelect.SelectedItem != null)
                    m.Position = Convert.ToInt32((DefaultPositionEnum)Enum.Parse(typeof(DefaultPositionEnum), PositionSelect.SelectedItem.ToString().Replace(" ", "_")));

                m.IsConnectedToDerby = YesRadio.IsChecked.GetValueOrDefault();
                RegisterBtn.IsEnabled = false;

                progressIndicator.IsVisible = true;
                Task.Run(new Action(() =>
                    {
                        try
                        {
                            var user = UserMobileWP.SignUp(m);
                            if (user.DidSignUp)
                            {
                                SqlFactory fact = new SqlFactory();
                                fact.InsertProfile(new SqlAccount(user));
                                var json = fact.GetNotificationSettings();
                                json.MemberId = user.MemberId.ToString();
                                NotificationMobileJsonWP.SendNotificationId(json);
                                Dispatcher.BeginInvoke(delegate
                                {
                                    progressIndicator.IsVisible = false;
                                    NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative));
                                });
                            }
                            else
                            {
                                Dispatcher.BeginInvoke(delegate
                                {
                                    progressIndicator.IsVisible = false;
                                    warning.Text = user.Error;
                                    RegisterBtn.IsEnabled = true;
                                });
                            }
                        }
                        catch (Exception exception)
                        {
                            ErrorHandler.Save(exception, MobileTypeEnum.WP8);
                        }
                        Dispatcher.BeginInvoke(delegate
                        {
                            progressIndicator.IsVisible = false;
                            RegisterBtn.IsEnabled = true;

                        });
                    }));
            }
            catch (Exception exception)
            {
                ErrorHandler.Save(exception, MobileTypeEnum.WP8);
            }
        }
        void loginBtn_Click(object sender, EventArgs e)
        {
            var progressDialog = ProgressDialog.Show(this, "Please wait...", "Creating User Account...", true);
            new Thread(new ThreadStart(delegate
            {
                try
                {
                    UserMobile user = new UserMobile();
                    user.UserName = FindViewById<EditText>(Resource.Id.emailAddress).Text;
                    user.Password = FindViewById<EditText>(Resource.Id.password).Text;
                    user.DerbyName = FindViewById<EditText>(Resource.Id.derbyName).Text;
                    user.FirstName = FindViewById<EditText>(Resource.Id.firstName).Text;
                    user.Gender = genderSelected;
                    user.Position = positionSelected;
                    user.IsConnectedToDerby = doYouDerby;
                    var isAuthenticated = User.SignUp(user, (Context)this);

                    if (isAuthenticated.DidSignUp)
                    {
                        var main = new Intent(this, typeof(Main));
                        StartActivity(main);
                        RunOnUiThread(() => Toast.MakeText(this, "Signed Up & Logged In", ToastLength.Long).Show());
                    }
                    else
                    {
                        RunOnUiThread(() =>
                        {
                            var text = FindViewById<TextView>(Resource.Id.warning);
                            text.Text = isAuthenticated.Error;
                        });
                    }
                    RunOnUiThread(() => progressDialog.Hide());
                }
                catch (Exception exception)
                {
                    ErrorHandler.Save(exception, MobileTypeEnum.Android, (Context)this);

                }
            })).Start();
        }