Example #1
0
        public async Task <bool> EditMemberDetails(string email, EditMemberDetails editMemberDetails)
        {
            var member = await GetMemberByEmail(email);

            if (member == null)
            {
                return(false);
            }

            if (editMemberDetails.UserImage != null)
            {
                var path = Path.Combine(
                    AppConstants.DataFilesPath,
                    email,
                    editMemberDetails.UserImage.FileName);
                await _fileService.SaveImage(path, editMemberDetails.UserImage);

                string thumbnailPath = _fileService.CreateThumbnailFromImage(path, editMemberDetails.UserImage.FileName);
                member.PhotoPath          = path;
                member.PhotoThumbnailPath = thumbnailPath;
            }

            member.DateOfBirth     = editMemberDetails.DateOfBirth;
            member.FirstName       = editMemberDetails.FirstName;
            member.LastName        = editMemberDetails.LastName;
            member.MemberPositions = new List <MemberPositions>();
            if (editMemberDetails.PreferedPosition.HasValue)
            {
                member.MemberPositions.Add(new MemberPositions()
                {
                    Position = new Position
                    {
                        Name = editMemberDetails.PreferedPosition.Value.ToString()
                    }
                });
            }

            member.Weight = editMemberDetails.Weight;
            member.Height = editMemberDetails.Height;

            _membersRepository.EditMember(member);
            return(true);
        }