private async void LoginWithFacebook(string id, string email, string name, string profilePicture)
        {
            UserApiRequest user = new UserApiRequest();

            user.RegisterProfileId = id;
            user.Email             = email;
            user.Name           = name;
            user.ProfilePicture = new ImageApiRequest()
            {
                Url = profilePicture
            };
            user.RegisterType = (int)ERegisterType.FACEBOOK;

            var response = await UserApiService.Login(user);

            if (ResponseValidator.Validate(response))
            {
                AppStatus.UserLogged = response;
                CheckUserLogged();
                StopLoading();
            }
            else
            {
                StopLoading();
            }
        }
示例#2
0
        private async void LoginWithFacebook(Profile profile, string email)
        {
            try
            {
                StartLoading();

                UserApiRequest user = new UserApiRequest();

                user.Name              = profile.Name.ToString();
                user.RegisterType      = (int)ERegisterType.FACEBOOK;
                user.RegisterProfileId = profile.Id.ToString();
                user.Email             = email;

                user.ProfilePicture     = new ImageApiRequest();
                user.ProfilePicture.Url = profile.GetProfilePictureUri(200, 200).ToString();

                var response = await UserApiService.Login(user);

                if (ResponseValidator.Validate(response, this))
                {
                    AppStatus.UserLogged = response;
                    CheckUserLogged();
                }
                else
                {
                    StopLoading();
                }
            }
            catch (Exception exception)
            {
                InsightsUtils.LogException(exception);
            }
        }
        public static User ToUserDomainModel(this UserApiRequest user)
        {
            var userDomainModel = new User(user.SubjectId, user.IdentityProvider);

            userDomainModel.IdentityProviderUserPrincipalName = user.IdentityProviderUserPrincipalName;
            return(userDomainModel);
        }
        private async Task <bool> Register()
        {
            if (string.IsNullOrEmpty(EmployeeCardNumberEntryText) || string.IsNullOrEmpty(PasswordEntryText) || string.IsNullOrEmpty(FirstNameEntryText) || string.IsNullOrEmpty(LastNameEntryText) || string.IsNullOrEmpty(EmailEntryText) || string.IsNullOrEmpty(PhoneNumberEntryText))
            {
                Alerts.PopAlertMessage("Invalid Field", "Please fill in all the fields");
                return(false);
            }

            bool isEmployee = int.TryParse(EmployeeCardNumberEntryText, out int employeeNumber);

            _employeeNumber = employeeNumber;
            _password       = PasswordEntryText;

            User newUser = new User()
            {
                EmployeeCardNumber = _employeeNumber,
                FirstName          = FirstNameEntryText,
                LastName           = LastNameEntryText,
                Password           = _password,
                Email       = EmailEntryText,
                PhoneNumber = PhoneNumberEntryText
            };

            UserApiRequest request = new UserApiRequest();

            return(await request.RegisterRequest(newUser));
        }
示例#5
0
        public async Task <IHttpActionResult> Login(UserApiRequest request)
        {
            request.Language        = Language;
            request.Platform        = Platform;
            request.AppRegistration = AppRegistration;
            request.TimeZone        = TimeZone;

            UserRequest userRequest = Mapper.Map <UserRequest>(request);

            UserResult user = await AppBusiness.User.Login(userRequest);

            UserApiResult response = Mapper.Map <UserApiResult>(user);

            return(Ok(response));
        }
示例#6
0
        public static async Task <UserApiResult> Login(UserApiRequest request)
        {
            UserApiResult result = null;

            try
            {
                result = await HttpController.PostData <UserApiResult>(ApiMethods.LoginUrl(), request);

                if (ResponseValidator.Validate(result))
                {
                    SaveUserLogged(result);
                }
            }
            catch (Exception)
            {
                result = null;
            }

            return(result);
        }
        public User GetAuthenticatedUser(UserApiRequest request)
        {
            using (var client = _httpClientFactory.Create(_baseUrl))
            {
                client.BaseAddress = _baseUrl;
                client.DefaultRequestHeaders.Add("Api-Key", request.ApiKey);
                client.DefaultRequestHeaders.Add("Authorization", string.Format("Bearer {0}", request.AccessToken));
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                var response = client.GetAsync("v7.0/user/self/").Result;
                if (response.IsSuccessStatusCode)
                {
                    var userData = response.Content.ReadAsAsync<dynamic>().Result;
                    var user = Map(userData);

                    return user;
                }

                throw new HttpRequestException(string.Format("Http Status:{0}| Reason:{1}", response.StatusCode,
                    response.ReasonPhrase));

            }
        }
        private async Task <bool> SignIn()
        {
            if (string.IsNullOrEmpty(EmployeeCardNumberEntryText) || string.IsNullOrEmpty(PasswordEntryText))
            {
                Alerts.PopAlertMessage("Invalid Fields", "Please fill in all the fields");
                return(false);
            }

            bool isEmployee = int.TryParse(EmployeeCardNumberEntryText, out int employeeNumber);

            _employeeNumber = employeeNumber;
            _password       = PasswordEntryText;

            User newUser = new User()
            {
                EmployeeCardNumber = _employeeNumber,
                Password           = _password,
            };

            UserApiRequest request = new UserApiRequest();

            return(await request.SignInRequest(newUser));
        }
示例#9
0
	public static void CallApi(UserApiRequest request, string parameter, Action<Dictionary<string, object>> callback)
	{
		CallApi(null, request, parameter, callback);
	}
示例#10
0
	public static void CallApi(GameObject sender, UserApiRequest request, string parameter, Action<Dictionary<string, object>> callback)
	{
		if (api != null)
		{
			api.callApi(sender, BuildUserRequest(request, parameter), callback);
		}
		else
		{
			Debug.LogWarning("Api is not iniatialized");
		}
	}
示例#11
0
	private static string BuildUserRequest(UserApiRequest request, string parameter)
	{
		string ret = getApiUrl();
		string req = "";
		string token = string.Format("_random={0}", DateTime.Now.Ticks);
		switch (request)
		{
		case UserApiRequest.GetProfile:
			req = "user/get_profile?" + token;
			break;
			
		case UserApiRequest.Login:
			req = "user/login?" + token;
			break;
			
		case UserApiRequest.NewUser:
			req = "user/create?" + token;
			break;
			
		case UserApiRequest.UpdateProperties:
			req = "user/properties?" + token;
			break;
			
		case UserApiRequest.UpdateStatus:
			req = "user/status?" + token;
			break;
			
		case UserApiRequest.UserCheck:
			req = "user/check?" + token;
			break;
		}
		
		ret = string.Format("{0}{1}&{2}", ret, req, parameter);
		Debug.Log("Calling Api: " + ret);
		
		return ret;
	}
示例#12
0
    private static string BuildUserRequest(UserApiRequest request, string parameter)
    {
        string ret = PopBloopSettings.WebServerUrl + KPConstants.KPUserApi;
        string req = "";
        switch (request)
        {
            case UserApiRequest.GetProfile:
                req = "profile/" + parameter;
                break;

            case UserApiRequest.Login:
                req = "login/" + parameter;
                break;

            case UserApiRequest.NewUser:
                req = "newuser/" + parameter;
                break;

            case UserApiRequest.UpdateProperties:
                req = "properties/" + parameter;
                break;

            case UserApiRequest.UpdateStatus:
                req = "status/" + parameter;
                break;

            case UserApiRequest.UserCheck:
                req = "check/" + parameter;
                break;
        }

        ret = string.Format("{0}{1}?token={2}", ret, req, DateTime.Now.Ticks);
        Debug.Log("Calling User Api: " + ret);

        return ret;
    }