public async Task <Boolean> UpdateProfileAndGoals(string jwtToken, Profile profile, List <Goal> goals)
        {
            ProfileUpdateRequest profileUpdateRequest = new ProfileUpdateRequest()
            {
                Id      = "10",
                Method  = "profile.Update",
                JSonRPC = "2.0",
                Profile = profile
            };
            string request     = JsonConvert.SerializeObject(profileUpdateRequest);
            string apiResponse = await CallFilteredApi <string>(request, jwtToken);

            ProfileResponse retProfile = new ProfileResponse();

            //check updatedProfile return is valid
            try
            {
                retProfile = JsonConvert.DeserializeObject <ProfileResponse>(apiResponse);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
            //update goals
            foreach (Goal goal in goals)
            {
                await UpdateGoal <GoalResponse>(goal, jwtToken);
            }
            return(true);
        }
Ejemplo n.º 2
0
        public async void SignUpUpdate(ProfileUpdateRequest signupRequest, Action success, Action <SignupResponse> failed)
        {
            bool IsNetwork = true;//await DependencyService.Get<IMediaService>().CheckNewworkConnectivity();

            if (IsNetwork)
            {
                var url = string.Format("{0}profile.php", _settingsManager.ApiHost);

                await Task.Factory.StartNew(() =>
                {
                    var result = _apiProvider.Post <SignupResponse, ProfileUpdateRequest>(url, signupRequest).Result;
                    if (result.IsSuccessful)
                    {
                        if (success != null)
                        {
                            signupResponse = result.Result;
                            success.Invoke();
                        }
                    }
                    else
                    {
                        failed.Invoke(result.Result);
                    }
                });
            }
            else
            {
                UserDialogs.Instance.HideLoading(); UserDialogs.Instance.Alert(error, null, "OK");
            }
        }
Ejemplo n.º 3
0
        private static Response UpdateProfileResponse(ProfileUpdateRequest profileUpdateRequest)
        {
            ProfileUpdateResponse ack = new ProfileUpdateResponse()
            {
                Status = "OK", Reason = "Profile Updated Successfully.", RequiresImageUpdate = profileUpdateRequest.RequiresImageUpdate
            };
            Response resp = new Response()
            {
                Type = ResponseType.UpdateProfile, Status = "OK", Content = ack
            };
            string query = "";

            if (profileUpdateRequest.RequiresImageUpdate)
            {
                query = string.Format("UPDATE account_data SET fullname='{0}', profileimage='/User/{1}.jpg' WHERE username='******'", RefineContent(profileUpdateRequest.FullName), profileUpdateRequest.Username, profileUpdateRequest.Username);
            }
            else
            {
                query = string.Format("UPDATE account_data SET fullname='{0}' WHERE username='******'", RefineContent(profileUpdateRequest.FullName), profileUpdateRequest.Username);
            }
            DatabaseManager database = new DatabaseManager();

            (MySqlDataReader reader, var Connection) = database.RunQuery(query);
            if (reader != null)
            {
                if (reader.RecordsAffected == 0)
                {
                    ack.Status = "FAIL";
                    ack.Reason = "Failed to update.";
                }
                else if (profileUpdateRequest.RequiresPasswordUpdate)
                {
                    query = string.Format("UPDATE user_login SET password='******' WHERE username='******' AND password='******'", profileUpdateRequest.Password, profileUpdateRequest.Username, profileUpdateRequest.OldPassword);
                    (reader, Connection) = database.RunQuery(query);
                    if (reader == null || reader.RecordsAffected == 0)
                    {
                        ack.Status = "FAIL";
                        ack.Reason = "Failed to Update Password.";
                    }
                }
                Connection.Close();
                return(resp);
            }
            else
            {
                Connection.Close();
                return(new Response()
                {
                    Type = ResponseType.Acknowledge, Status = "FAIL"
                });
            }
        }
Ejemplo n.º 4
0
        public async Task RequestProfileUpdate(ProfileUpdateRequest request)
        {
            try
            {
                var userId = await GetUserIdAsync();

                var profile = await _dal.UpdateProfileAsync(request, userId);

                await Clients.Caller.SendAsync("ReceiveProfile", profile);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
Ejemplo n.º 5
0
        public IHttpActionResult UpdateProfile(int id, [FromBody] ProfileUpdateRequest profileRequest)
        {
            Require.Positive(id, nameof(id));
            Require.NotNull(profileRequest, nameof(profileRequest));

            User.AssertResourceOwnerOrAdmin(id);

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Account userToChange;

            try
            {
                userToChange = _userManager.GetUser(id);
            }
            catch (AccountNotFoundException)
            {
                return(NotFound());
            }

            if (profileRequest != null)
            {
                var profile = new Profile
                {
                    Image                = profileRequest.Image,
                    InstituteName        = profileRequest.InstituteName,
                    PhoneNumber          = profileRequest.PhoneNumber,
                    Specialization       = profileRequest.Specialization,
                    StudentAccessionYear = profileRequest.StudentAccessionYear,
                    StudyingDirection    = profileRequest.StudyingDirection,
                    VkProfileUri         = profileRequest.VkProfileUri
                };

                userToChange.Profile = profile;
            }

            _userManager.UpdateUser(userToChange);

            return(Ok());
        }
Ejemplo n.º 6
0
        public HttpResponseMessage ProfileUpdate([FromBody] ProfileUpdateRequest payload)
        {
            try
            {
                SuccessResponse response = new SuccessResponse();

                _profileService.UpdateProfile(payload);

                return(Request.CreateResponse(response));
            }
            catch (Exception ex)
            {
                ErrorLogService    svc   = new ErrorLogService();
                ErrorLogAddRequest error = new ErrorLogAddRequest();
                error.ErrorFunction = "aic.Web.Controllers.Api.ProfileUpdate";
                error.ErrorMessage  = ex.Message;
                error.UserId        = UserService.UserSelect().PersonId;
                svc.ErrorLogInsert(error);
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message));
            }
        }
        public async Task <IActionResult> Profile(
            [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "user/profile")]
            [RequestBodyType(typeof(ProfileUpdateRequest), "User profile update request")] HttpRequest request)
        {
            var validateStatus = base.AuthorizationStatus(request);

            if (validateStatus != HttpStatusCode.Accepted)
            {
                return(new BadRequestObjectResult(validateStatus));
            }

            string requestBody = await new StreamReader(request.Body).ReadToEndAsync();
            ProfileUpdateRequest requestData = JsonConvert.DeserializeObject <ProfileUpdateRequest>(requestBody);

            try
            {
                await _profileService.UpdateProfile(requestData);
            }
            catch (HttpResponseException ex)
            {
                return(new BadRequestObjectResult(ex));
            }
            return(new OkObjectResult(new { message = "Profile update successfully." }));
        }
        /// <summary>
        /// Update user profile.
        /// </summary>
        /// <param name="model">.</param>
        /// <returns>.</returns>
        public async Task UpdateProfile(ProfileUpdateRequest model)
        {
            var users = await _tableStorage.GetAllAsync <User>("User");

            var currentUser = users.SingleOrDefault(user => user.RowKey == model.Id);

            // Validate email id availabilty if user update.
            if (!String.IsNullOrEmpty(model.Email))
            {
                var isEmailAvailable = users.Any(user => user.RowKey != model.Id && user.Email == model.Email);
                if (isEmailAvailable)
                {
                    var resp = new HttpResponseMessage(HttpStatusCode.NotAcceptable)
                    {
                        Content = new StringContent(string.Format("Email Id does not avalable to update!")),
                    };
                    throw new HttpResponseException(resp);
                }
                currentUser.Email = model.Email;
            }

            // Validate password and confirmed passwrd are same.
            if (!String.IsNullOrEmpty(model.Password) && !String.IsNullOrEmpty(model.Password))
            {
                if (model.Password != model.ConfirmPassword)
                {
                    var resp = new HttpResponseMessage(HttpStatusCode.NotAcceptable)
                    {
                        Content = new StringContent(string.Format("Password and confirm password are not same!")),
                    };
                    throw new HttpResponseException(resp);
                }
                currentUser.PasswordHash = BC.HashPassword(model.Password);
            }


            if (String.IsNullOrEmpty(model.FirstName))
            {
                var resp = new HttpResponseMessage(HttpStatusCode.NotAcceptable)
                {
                    Content = new StringContent(string.Format("First name required!")),
                };
                throw new HttpResponseException(resp);
            }

            if (String.IsNullOrEmpty(model.LastName))
            {
                var resp = new HttpResponseMessage(HttpStatusCode.NotAcceptable)
                {
                    Content = new StringContent(string.Format("Last name required!")),
                };
                throw new HttpResponseException(resp);
            }

            currentUser.FirstName = model.FirstName;
            currentUser.LastName  = model.LastName;

            try
            {
                await _tableStorage.UpdateAsync("User", currentUser);
            }
            catch (Exception ex)
            {
                throw new AppException("User profile update rrror: ", ex.InnerException);
            }
        }
Ejemplo n.º 9
0
        private async void FinishCommandExecute()
        {
            var SignupRequest = new SignupRequest
            {
                Address1     = Address1,
                Address2     = Address2,
                Address3     = Address3,
                State        = State,
                City         = City,
                Country      = Country,
                Email        = Email,
                FirstName    = FirstName,
                Hobbies      = Hobbies,
                LastName     = LastName,
                UserName     = UserName,
                MobileNumber = MobileNumber,
                Password     = Password,
                PhoneNumber  = PhoneNumber,
                Postcode     = postCode,
                Picture      = ImageBase64,
                DateOfBirth  = DateOfBirth,
                Gender       = Gender,
            };



            await Task.Run(async() =>
            {
                UserDialogs.Instance.ShowLoading("Requesting..");
                if (BtnText == "UPDATE")
                {
                    var ProfileUpdateRequest = new ProfileUpdateRequest
                    {
                        Address1     = Address1,
                        Address2     = Address2,
                        Address3     = Address3,
                        State        = State,
                        City         = City,
                        Country      = Country,
                        EmailId      = Email,
                        FirstName    = FirstName,
                        Hobbies      = Hobbies,
                        LastName     = LastName,
                        UserName     = UserName,
                        MobileNumber = MobileNumber,
                        Password     = Password,
                        PhoneNumber  = PhoneNumber,
                        Postcode     = postCode,
                        PhotoUrl     = ImageBase64 == "" ? ImageBase64 = await GetImageAsBase64Url(Picture): ImageBase64,
                        DateOfBirth  = DateOfBirth,
                        Gender       = Gender,
                        AboutMe      = AboutMe,
                        UserId       = UserId
                    };

                    userManager.SignUpUpdate(ProfileUpdateRequest, () =>
                    {
                        var SignupResponse = userManager.SignupResponse;
                        Device.BeginInvokeOnMainThread(() =>
                        {
                            if (SignupResponse.StatusCode == 200)
                            {
                                UserDialogs.Instance.HideLoading();

                                //FullName = DateOfBirth = Ocupation = Email = UserName = Password = MobileNumber = AboutMe = "";
                                //Address1 = Address2 = Address3 = City = State = Country = Postcode = Gender = Hobbies = PhoneNumber = "";
                                UserDialogs.Instance.Alert(SignupResponse.Message, "Success", "OK");
                                //App.Current.MainPage.Navigation.PushAsync(new SignInView());
                            }
                            else
                            {
                                UserDialogs.Instance.Alert(SignupResponse.Message, "Error", "OK");
                            }
                        });

                        UserDialogs.Instance.HideLoading();
                    },
                                             (requestFailedReason) =>
                    {
                        UserDialogs.Instance.Alert(requestFailedReason.Message, "Error", "OK");
                        UserDialogs.Instance.HideLoading();
                    });
                }

                else
                {
                    userManager.SignUp(SignupRequest, () =>
                    {
                        var SignupResponse = userManager.SignupResponse;
                        Device.BeginInvokeOnMainThread(() =>
                        {
                            if (SignupResponse.StatusCode == 200)
                            {
                                UserDialogs.Instance.HideLoading();
                                UserDialogs.Instance.Alert(SignupResponse.Message);
                                FullName = DateOfBirth = Ocupation = Email = UserName = Password = MobileNumber = AboutMe = "";
                                Address1 = Address2 = Address3 = City = State = Country = Postcode = Gender = Hobbies = PhoneNumber = "";
                                App.Current.MainPage.Navigation.PushAsync(new SignInView());
                            }
                            else
                            {
                                UserDialogs.Instance.Alert(SignupResponse.Message, "Error", "OK");
                            }
                        });

                        UserDialogs.Instance.HideLoading();
                    },
                                       (requestFailedReason) =>
                    {
                        UserDialogs.Instance.Alert(requestFailedReason.Message, "Error", "OK");
                        UserDialogs.Instance.HideLoading();
                    });
                }
            });


            #endregion
        }
        /// <summary>
        /// The CreateUpdate.
        /// </summary>
        /// <param name="model">The model<see cref="TeacherRequest"/>.</param>
        /// <returns>The <see cref="Task"/>.</returns>
        public async Task CreateUpdate(TeacherRequest model)
        {
            TableQuery <Entites.Teacher> query = new TableQuery <Entites.Teacher>()
                                                 .Where(TableQuery.GenerateFilterCondition("RowKey", QueryComparisons.Equal, model.Id));
            var teacherQuery = await _tableStorage.QueryAsync <Entites.Teacher>("Teacher", query);

            var teacher = teacherQuery.SingleOrDefault();

            if (teacher != null)
            {
                // Update profile
                ProfileUpdateRequest profileUpdateRequest = new ProfileUpdateRequest
                {
                    Email     = model.Email,
                    FirstName = model.FirstName,
                    LastName  = model.LastName,
                    Id        = model.Id
                };

                await _profileService.UpdateProfile(profileUpdateRequest);

                //Update teacher information
                teacher.Gender    = model.Gender;
                teacher.Address1  = model.Address1;
                teacher.Address2  = model.Address2;
                teacher.Country   = model.Country;
                teacher.State     = model.State;
                teacher.City      = model.City;
                teacher.Zip       = model.Zip;
                teacher.Latitude  = model.Latitude;
                teacher.Longitude = model.Longitude;
                teacher.Active    = true;
                teacher.CreatedBy = model.CreatedBy;
                teacher.UpdatedOn = DateTime.UtcNow;
                teacher.UpdatedBy = model.CreatedBy;

                try
                {
                    await _tableStorage.UpdateAsync("Teacher", teacher);
                }
                catch (Exception ex)
                {
                    throw new AppException("update teacher error: ", ex.InnerException);
                }
            }
            else
            {
                // Register user as teacher
                var             userId          = String.IsNullOrEmpty(model.Id) ? Guid.NewGuid().ToString() : model.Id;
                var             defaultPasswrod = "teacher@123"; //SettingConfigurations.GetRandomPassword(10);
                RegisterRequest registerRequest = new RegisterRequest
                {
                    Email           = model.Email,
                    FirstName       = model.FirstName,
                    LastName        = model.LastName,
                    Role            = model.Role,
                    AcceptTerms     = true,
                    Id              = userId,
                    SchoolId        = model.SchoolId,
                    Password        = defaultPasswrod,
                    ConfirmPassword = defaultPasswrod
                };

                var newTeacher = new Entites.Teacher(model.SchoolId, userId)
                {
                    Address1  = model.Address1,
                    Address2  = model.Address2,
                    Country   = model.Country,
                    State     = model.State,
                    City      = model.City,
                    Zip       = model.Zip,
                    Latitude  = model.Latitude,
                    Longitude = model.Longitude,
                    Active    = true,
                    Gender    = model.Gender,
                    CreatedBy = model.CreatedBy,
                    UpdatedOn = DateTime.UtcNow,
                    UpdatedBy = model.CreatedBy,
                };
                try
                {
                    await _profileService.Register(registerRequest);

                    await _tableStorage.AddAsync("Teacher", newTeacher);
                    await NewTeacherNotificationEmail(registerRequest);
                }
                catch (Exception ex)
                {
                    throw new AppException("Create teacher error: ", ex.InnerException);
                }
            }
        }
Ejemplo n.º 11
0
 public bool ProfileUpdate(IDKin.IM.Core.Staff staff)
 {
     bool result;
     try
     {
         ProfileUpdateRequest request = new ProfileUpdateRequest();
         request.name = staff.Name;
         request.age = staff.Age;
         request.birthday = staff.Birthday;
         request.birthdayType = staff.BirthdayType;
         request.city = staff.City;
         request.country = staff.Country;
         request.email = staff.Email;
         request.job = staff.Job;
         request.mobile = staff.Mobile;
         request.name = staff.Name;
         request.nickname = staff.Nickname;
         request.province = staff.Province;
         request.school = staff.School;
         request.sex = (int)staff.Sex;
         request.signature = staff.Signature;
         request.telphone = staff.Telephone;
         request.uid = staff.Uid;
         request.img = staff.HeaderFileName;
         request.showScope = staff.ShowScope;
         request.description = staff.MyDescription;
         request.site = staff.MyHome;
         request.zodiac = staff.Zodiac;
         request.bloodType = staff.BloodType;
         request.constellation = staff.Constellation;
         request.extension = staff.Extension;
         this.connection = ServiceUtil.Instance.Connection;
         this.connection.Send(PacketType.PROFILE_UPDATE, request);
         result = true;
     }
     catch (System.Exception ex)
     {
         if (this.logger != null)
         {
             this.logger.Error(ex.ToString());
         }
         result = false;
     }
     return result;
 }
Ejemplo n.º 12
0
        private async void saveProfileButton_Click(object sender, RoutedEventArgs e)
        {
            progressRing.isActive = true;
            if (isPhotoPicked)
            {
                JpegBitmapEncoder encoder = new JpegBitmapEncoder()
                {
                    QualityLevel = 50
                };
                CroppedBitmap bm = new CroppedBitmap(imagePicked, new Int32Rect(OriginX, OriginY, Minimum, Minimum));
                if (!Directory.Exists("Temporary"))
                {
                    Directory.CreateDirectory("Temporary");
                }
                encoder.Frames.Add(BitmapFrame.Create(bm));
                using (FileStream fs = new FileStream("Temporary/" + SettingsManager.Username + ".jpg", FileMode.OpenOrCreate))
                    encoder.Save(fs);
            }

            ProfileUpdateRequest request = new ProfileUpdateRequest()
            {
                FullName               = fullNameTextBlock.Text,
                Username               = SettingsManager.Username,
                RequiresImageUpdate    = isPhotoPicked,
                RequiresPasswordUpdate = !String.IsNullOrWhiteSpace(passwordTextBlock.Password),
                OldPassword            = Security.MD5Hash(passwordTextBlock.Password),
                Password               = Security.MD5Hash(newPasswordTextBlock.Password)
            };
            Object resp = await ConnectionManager.SendRequestAsync(request, RequestType.UpdateProfile, ResponseType.UpdateProfile);

            if (resp != null)
            {
                ProfileUpdateResponse response = ((JObject)resp).ToObject <ProfileUpdateResponse>();
                if (response.Status == "OK")
                {
                    if (isPhotoPicked)
                    {
                        resp = await ConnectionManager.SendFileAsync("Temporary/" + SettingsManager.Username + ".jpg", null);
                    }
                    if (resp != null)
                    {
                        var response2 = ((JObject)resp).ToObject <Acknowledge>();
                        errorTextBlock.Text = response2.Reason;
                        SettingsManager.UpdateImage();
                        SettingsManager.FullName = SettingsManager.FullName;
                        SettingsManager.Password = SettingsManager.Password;
                        if (File.Exists("Temporary/" + SettingsManager.Username + ".jpg"))
                        {
                            File.Delete("Temporary/" + SettingsManager.Username + ".jpg");
                        }
                        if (response2.Status == "OK")
                        {
                            AppNotificationManager.PushMessage(new AppNotification()
                            {
                                Message = "Profile Updated Successfully."
                            });
                        }
                        Close();
                    }
                    else
                    {
                        errorTextBlock.Text = "Connection Error";
                    }
                    if (File.Exists("Temporary/" + SettingsManager.Username + ".jpg"))
                    {
                        File.Delete("Temporary/" + SettingsManager.Username + ".jpg");
                    }
                }
                else
                {
                    errorTextBlock.Text = response.Reason;
                }
            }

            progressRing.isActive = false;
        }