Exemplo n.º 1
0
        static async public void Login()
        {
            Console.WriteLine("Hasta aca llegue");
            IMLearningService _mLearningService = ServiceManager.GetService();

            //var com = new LoginViewModel(_mLearningService);
            //com.Name = "aocsa";
            Console.WriteLine("Hasta aca llegue222");
            //com.Password = "******";
            string username = "******";

            string password = "******";

            User user = new User {
                username = username, password = password
            };

            var result = await _mLearningService.ValidateLogin <User>(user, u => u.password == user.password && u.username == user.username, u => u.id, u => u.type);

            Console.WriteLine("ACCEDIENDO A LOS SERVICIOS = " + result.successful);
        }
        async void DoLoginCommand()
        {
            StatusLabel = _waitingMessage;

            ////Populate

            //var users = Builder<MLearningDB.User>.CreateListOfSize(5000).All().With(x => x.id = 0 ).And(x=>x.created_at = DateTime.UtcNow).And(x=>x.updated_at = DateTime.UtcNow).And(x=>x.social_id=null).Build();

            //foreach (var user in users)
            //{
            //    await _mLearningService.CreateAccount<MLearningDB.User>(user, u => u.id, UserType.Consumer);

            //    _mLearningService.AddUserToCircle(user.id, 45);
            //}



            ////end populate



            try
            {
                User user = new User {
                    username = Username, password = EncryptionService.encrypt(Password)
                };
                //   User user = new User { username = Username, password = Password };
                LoginOperationResult <User> result = await _mLearningService.ValidateLogin <User>(user, u => u.password == user.password && u.username == user.username, u => u.id, u => u.type);

                // LoginOperationResult result = await _mLearningService.ValidateConsumerLogin(user.username,user.password);

                if (result.successful)
                {
                    LoginOK = true;
                    SessionService.LogIn(result.id, Username);

                    SharedPreferences prefs = Constants.GetSharedPreferences(Constants.PreferencesFileName);
                    prefs.PutString(Constants.UserFirstNameKey, result.account.name);
                    prefs.PutString(Constants.UserLastNameKey, result.account.lastname);
                    prefs.PutString(Constants.UserImageUrlKey, result.account.image_url);

                    prefs.Commit();


                    switch ((UserType)result.userType)
                    {
                    case UserType.Consumer:

                        //Select corresponding user screen

                        ShowViewModel <MainViewModel>();


                        break;

                                                #if (ADMIN)
                    case UserType.Head:


                        ShowViewModel <HeadMainViewModel>(new { user_id = result.id });

                        break;

                    case UserType.Publisher:

                        ShowViewModel <PublisherMainViewModel>(new { user_id = result.id });
                        break;
                                                #endif

                    default:
                        StatusLabel = _wrongCredentialsMessage;
                        LoginOK     = false;
                        break;
                    }
                }
                else
                {
                    StatusLabel = _wrongCredentialsMessage;
                    LoginOK     = false;
                }
            }
            catch (WebException e)
            {
                StatusLabel  = _noInternetMessage;
                ConnectionOK = false;
            }
            catch (HttpRequestException e)
            {
                StatusLabel  = _noInternetMessage;
                ConnectionOK = false;
            }
            catch (MobileServiceInvalidOperationException e)
            {
                Mvx.Trace("MobileServiceInvalidOperationException " + e.Message);
                OperationOK = false;
            }
        }