public async Task <UserDetailResponse> GetUserDetail(string userName)
        {
            var url     = Constants.FetchUserDetailUrl + "?Mobile=" + userName;
            var content = await httpClient.GetStringAsync(url);

            return(userResponse = JsonConvert.DeserializeObject <UserDetailResponse>(content));
        }
        public async Task <bool> GenerateAndStoreAppId(UserDetailResponse userResponse)
        {
            var connection = DependencyService.Get <ISQLiteDb>().GetConnection();
            var appId      = CrossDeviceInfo.Current.GenerateAppId(false, null, null);

            var userUpdate = new UserUpdate
            {
                Name         = userResponse.UserDetails.Name,
                Mobile       = userResponse.UserDetails.Mobile,
                AppId        = appId,
                UserStatus   = "active",
                ActivateDate = userResponse.UserDetails.ActivatedDate,
                ExpireDate   = userResponse.UserDetails.ExpireDate,
            };

            //Add the App Id in the server
            var status = await UpdateUserDetail(userUpdate);

            if (status)
            {
                var appInfo = new AppInfo
                {
                    Username         = userResponse.UserDetails.Mobile,
                    AppID            = appId,
                    IsAppIdValidated = true
                };
                //Store the app id in the sqlite
                await connection.InsertOrReplaceAsync(appInfo);

                return(true);
            }

            return(false);
        }
        private async Task OnlineValidation()
        {
            var appInfo = await connection.Table<AppInfo>().FirstOrDefaultAsync();
            //Must call this method before validating the user response
            userResponse = await accountValidation.FetchUserInfo(appInfo.Username);

            if (!accountValidation.ValidateCredentials())
            {
                var errorMessage = "Invalid Login";
                Application.Current.MainPage = new LoginPage(errorMessage);
                return;
            }

            if (accountValidation.IsAccountExpired())
            {
                var errorMessage = "Your Account Expired. Please contact support.";
                Application.Current.MainPage = new LoginPage(errorMessage);
                return;
            }

            if (accountValidation.IsFirstTimeLogin())
            {
                await userService.GenerateAndStoreAppId(userResponse);
                NavigateToMasterPage();
            }
            else
            {
                var isValidAppId = accountValidation.IsValidAppId();
                if (isValidAppId)
                    NavigateToMasterPage();
                else
                    Application.Current.MainPage = new LicenseViolation();
            }
        }
Esempio n. 4
0
        public async Task <UserDetailResponse> GetSalesmanById(int id)
        {
            var sales = await dep.GetSalesmanById(id);

            if (sales == null)
            {
                return(null);
            }

            UserDetailResponse resp = new UserDetailResponse()
            {
                Id           = sales.Id,
                Nama         = sales.Nama,
                Alamat       = sales.Alamat,
                Email        = sales.Email,
                JenisKelamin = sales.JenisKelamin,
                KodeDealer   = sales.KodeDealer,
                KotaId       = sales.KotaId,
                ProvinsiId   = sales.ProvinsiId,
                Telp         = sales.Telp,
                IsSuccess    = true,
                Message      = "Success"
            };

            return(resp);
        }
Esempio n. 5
0
 ///<summary>
 public IHttpActionResult GetUserDetails(int userId = 0)
 {
     try
     {
         List <UserDetailResponse> userDetailResponses = new List <UserDetailResponse>();
         var users = _profileService.GetUserDetails(userId);
         foreach (var user in users)
         {
             UserDetailResponse response = new UserDetailResponse
             {
                 EmailId     = user.EmailId,
                 FirstName   = user.FirstName,
                 LastName    = user.LastName,
                 PhoneNumber = user.PhoneNumber,
                 Status      = user.Status,
                 UserId      = user.UserId
             };
             userDetailResponses.Add(response);
         }
         return(Ok(userDetailResponses));
     }
     catch (Exception ex)
     {
         return(InternalServerError());
     }
 }
        /// <summary>
        /// Map user dto to Generic model T
        /// </summary>
        /// <typeparam name="T">Response type</typeparam>
        /// <param name="dto">User data transport object</param>
        public static T Map <T>(this UserDto dto)
            where T : UserListResponse
        {
            if (dto == null)
            {
                return(null);
            }

            T result = (T)Activator.CreateInstance(typeof(T), args: dto.Id);

            result.Document = dto.Document;
            result.Name     = new FullNameResponse(dto.Name.FirstName, dto.Name.LastName);
            result.Email    = dto.Email;
            result.BornDate = dto.BornDate;
            result.Type     = dto.Type;
            result.IsActive = dto.IsActive;

            UserDetailResponse userDetail = result as UserDetailResponse;

            if (userDetail != null)
            {
                if (dto.Credential != null)
                {
                    userDetail.Credential = new SimpleUserCredentialResponse()
                    {
                        Login             = dto.Credential.Login,
                        ChangeCredentials = dto.Credential.ChangeCredentials
                    };
                }

                IEnumerable <SimpleIdentification <Guid> > scopes = dto
                                                                    .Scopes
                                                                    .Select(s => new SimpleIdentification <Guid>(s.Id, s.Name))
                                                                    .Distinct()
                                                                    .ToList();

                IList <UserPermissonsResponse> permissions = new List <UserPermissonsResponse>();

                foreach (SimpleIdentification <Guid> scope in scopes)
                {
                    IEnumerable <RoleDto>  roles      = dto.Roles?.Where(x => x.Scope.Id == scope.Id).ToList();
                    UserPermissonsResponse permission = new UserPermissonsResponse()
                    {
                        Id    = scope.Id.Value,
                        Name  = scope.Name,
                        Roles = roles?.Select(r => r.MapSimple())
                    };
                    permissions.Add(permission);
                }

                userDetail.Permissions = permissions;
            }

            return(result);
        }
        private async void Login(object sender, EventArgs e)
        {
            Loader.IsRunning = true;
            if (!ConnectivityHelper.IsInternetAvailable)
            {
                ErrorLabel.Text = "Please enable internet to login";
                StopLoader();
                return;
            }


            if (Username.Text != string.Empty)
            {
                userResponse = await accountValidation.FetchUserInfo(Username.Text);

                if (!accountValidation.ValidateCredentials())
                {
                    ErrorLabel.Text = "Login Failed";
                    StopLoader();
                    return;
                }

                if (accountValidation.IsAccountExpired())
                {
                    ErrorLabel.Text = "Your Account Expired. Please contact support.";
                    StopLoader();
                    return;
                }

                if (accountValidation.IsFirstTimeLogin())
                {
                    await userService.GenerateAndStoreAppId(userResponse);

                    NavigateToMasterPage();
                }
                else
                {
                    var isValidAppId = accountValidation.IsValidAppId();
                    if (isValidAppId)
                    {
                        NavigateToMasterPage();
                    }
                    else
                    {
                        Application.Current.MainPage = new LicenseViolation();
                    }
                }
            }
        }
Esempio n. 8
0
 public void MapAppUserEntityToUserDetailResponse(AppUser source, out UserDetailResponse destination)
 {
     destination = new UserDetailResponse
     {
         Id           = source.Id,
         Email        = source.Email,
         UserName     = source.UserName,
         Description  = source.Description,
         City         = source.City,
         FirstName    = source.FirstName,
         LastName     = source.LastName,
         BirthDate    = source.BirthDate,
         JoinDate     = source.JoinDate,
         MainPhotoUrl = source.MainPhotoUrl
     };
 }
        public ActionResult <UserDetailResponse> GetUserData()
        {
            string username = User.Claims.Where(x => x.Type == ClaimTypes.Name).FirstOrDefault()?.Value;
            string email    = User.Claims.Where(x => x.Type == ClaimTypes.Email).FirstOrDefault()?.Value;
            string avatar   = User.Claims.Where(x => x.Type == "Avatar").FirstOrDefault()?.Value;

            var user = new UserDetailResponse
            {
                Name   = username,
                Email  = email,
                Avatar = avatar,
                Token  = Request.Headers["Authorization"]
            };

            return(user);
        }
        public async Task <IEnumerable <UserDetail> > GetUserDetail()
        {
            try
            {
                UserDetail        userDetail  = new UserDetail();
                List <UserDetail> userDetails = new List <UserDetail>();
                List <User>       users       = await _context.Users.Find(_ => true).ToListAsync();

                List <Question> questions = await _context.Questions.Find(_ => true).ToListAsync();

                foreach (User u in users)
                {
                    userDetail.internalId = u.internalId;
                    userDetail.surveyId   = u.surveyId;
                    userDetail.userName   = u.userName;
                    userDetail.userPhone  = u.userPhone;
                    userDetail.userEmail  = u.userEmail;
                    userDetail.optIn      = u.optIn;
                    List <Response> responses = await _context.Responses.Find(r => r.userId == u.internalId).ToListAsync();

                    List <UserDetailResponse> udResponses = new List <UserDetailResponse>();
                    foreach (Question q in questions)
                    {
                        Response response = await _context.Responses.Find(s => s.questionId == q.questionId).SingleOrDefaultAsync();

                        UserDetailResponse udResponse = new UserDetailResponse();
                        udResponse.questionDesc = q.questionDesc;
                        udResponse.questionType = q.questionType;
                        udResponse.choice       = response.choice;
                        udResponses.Add(udResponse);
                    }
                    userDetail.responses = udResponses;
                    userDetails.Add(userDetail);
                }
                return(userDetails);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 11
0
 public async Task <UserDetailResponse> FetchUserInfo(string username)
 {
     return(userResponse = await userService.GetUserDetail(username));
 }