コード例 #1
0
        private List <Tracker> BuildTracker()
        {
            var trackerList = new List <Tracker>();

            trackerList.Add(_trackerPivotService.AddTracker(TrackerConstants.CURRENT_WEIGHT,
                                                            CurrentWeightValue.ToString()));

            trackerList.Add(_trackerPivotService.AddTracker(TrackerConstants.CURRENT_WEIGHT_UI,
                                                            CurrentWeightValue.ToString()));

            trackerList.Add(_trackerPivotService.AddTracker(TrackerConstants.WEIGHT_VOLUME_TYPE,
                                                            App.Configuration.AppConfig.DefaultWeightVolume));

            if (GoalAchieved)
            {
                trackerList.Add(_trackerPivotService.AddTracker(TrackerConstants.TSHIRT_SIZE,
                                                                TShirtSize.Trim()));
                trackerList.Add(_trackerPivotService.AddTracker(TrackerConstants.FRONT_IMAGE,
                                                                ImageFront.Trim()));
                trackerList.Add(_trackerPivotService.AddTracker(TrackerConstants.SIDE_IMAGE,
                                                                ImageSide.Trim()));
                trackerList.Add(_trackerPivotService.AddTracker(TrackerConstants.ABOUT_JOURNEY,
                                                                AboutYourJourney.Trim()));
            }

            return(trackerList);
        }
コード例 #2
0
ファイル: ThumbnailSizeTests.cs プロジェクト: synweb/rocms
        public void StringConstructorTest(string input, int pixels, ImageSide side)
        {
            var ts = new ThumbnailSize(input);

            Assert.AreEqual(pixels, ts.Pixels);
            Assert.AreEqual(side, ts.Side);
        }
コード例 #3
0
        private async Task <List <Tracker> > BuildTracker()
        {
            var trackerList = new List <Tracker>();
            await Task.Run(async() =>
            {
                trackerList.Add(await trackerService.AddTracker(TrackerConstants.CURRENT_WEIGHT,
                                                                CurrentWeightValue.ToString()));
                if (GoalAchieved)
                {
                    trackerList.Add(await trackerService.AddTracker(TrackerConstants.TSHIRT_SIZE,
                                                                    TShirtSize.Trim()));
                    trackerList.Add(await trackerService.AddTracker(TrackerConstants.FRONT_IMAGE,
                                                                    ImageFront.Trim()));
                    trackerList.Add(await trackerService.AddTracker(TrackerConstants.SIDE_IMAGE,
                                                                    ImageSide.Trim()));
                    trackerList.Add(await trackerService.AddTracker(TrackerConstants.ABOUT_JOURNEY,
                                                                    AboutYourJourney.Trim()));
                }
            });

            return(trackerList);
        }
コード例 #4
0
        private async Task UploadImageAsync(ImageSide side)
        {
            if (side == ImageSide.SIDE)
            {
                _model.ImageSide = _model.ImageDefault;
            }
            else
            {
                _model.ImageFront = _model.ImageDefault;
            }

            var result = await DisplayActionSheet(TextResources.ChooseOption, TextResources.Cancel, null,
                                                  new string[] { TextResources.PickFromGallery, TextResources.TakeFromCamera });

            if (result != null)
            {
                if (result == "Cancel")
                {
                    return;
                }
                _media.Refresh();
                if (result == TextResources.PickFromGallery)
                {
                    var mediaFile = await _media.PickPhotoAsync();

                    if (mediaFile == null)
                    {
                        _model.SetActivityResource(showError: true, errorMessage: _media.Message);
                        return;
                    }

                    await Task.Run(() => { _model.SetActivityResource(false, true); });

                    var response = await _media.UploadPhotoAsync(mediaFile);

                    if (!response)
                    {
                        _model.SetActivityResource(true, false, showError: true, errorMessage: _media.Message);
                        return;
                    }

                    _model.SetActivityResource();
                    if (_media.FileName != null)
                    {
                        if (side == ImageSide.SIDE)
                        {
                            _model.ImageSide = _media.FileName;
                        }
                        else
                        {
                            _model.ImageFront = _media.FileName;
                        }
                        (side == ImageSide.SIDE ? imageSide : imageFront).Source =
                            ImageSource.FromStream(() => mediaFile.GetStream());
                    }
                    else
                    {
                        _model.SetActivityResource(showError: true,
                                                   errorMessage: _media.Message);
                    }
                }
                else if (result == TextResources.TakeFromCamera)
                {
                    var mediaFile = await _media.TakePhotoAsync();

                    if (mediaFile == null)
                    {
                        _model.SetActivityResource(showError: true, errorMessage: _media.Message);
                    }
                    else
                    {
                        await Task.Run(() => { _model.SetActivityResource(false, true); });

                        var response = await _media.UploadPhotoAsync(mediaFile);

                        if (!response)
                        {
                            _model.SetActivityResource(true, false, showError: true, errorMessage: _media.Message);
                            return;
                        }

                        _model.SetActivityResource();
                        if (!string.IsNullOrEmpty(_media.FileName))
                        {
                            if (side == ImageSide.SIDE)
                            {
                                _model.ImageSide = _media.FileName;
                            }
                            else
                            {
                                _model.ImageFront = _media.FileName;
                            }
                            (side == ImageSide.SIDE ? imageSide : imageFront).Source =
                                ImageSource.FromStream(() => mediaFile.GetStream());
                        }
                        else
                        {
                            _model.SetActivityResource(showError: true,
                                                       errorMessage: _media.Message);
                        }
                    }
                }
            }
        }
コード例 #5
0
        protected async Task UploadImageAsync(ImageSide side)
        {
            if (side == ImageSide.SIDE)
            {
                _model.ImageSide = _model.ImageDefault;
            }
            else
            {
                _model.ImageFront = _model.ImageDefault;
            }

            //var result = await DisplayActionSheet(TextResources.ChooseOption, TextResources.Cancel, null,
            //    new string[] { TextResources.PickFromGallery, TextResources.TakeFromCamera });
            //var result = await DisplayAlert(TextResources.ChooseOption, string.Empty, TextResources.PickFromGallery, TextResources.TakeFromCamera );
            var result = TextResources.TakeFromCamera;

            if (result != null)
            {
                if (result == "Cancel")
                {
                    return;
                }
                if (!await _devicePermissionServices.RequestReadStoragePermission())
                {
                    await DisplayAlert(TextResources.Review, TextResources.MessagePermissionReadStorageRequired,
                                       TextResources.Ok);

                    return;
                }

                media.Refresh();
                if (result.ToString() == TextResources.PickFromGallery)
                {
                    var _mediaFile = await media.PickPhotoAsync();

                    if (_mediaFile == null)
                    {
                        _model.SetActivityResource(showError: true, errorMessage: media.Message);
                        return;
                    }

                    (side == ImageSide.SIDE ? imageSide : imageFront).Source =
                        ImageSource.FromStream(() => { return(_mediaFile.GetStream()); });
                    if (media.FileName != null)
                    {
                        if (side == ImageSide.SIDE)
                        {
                            _model.ImageSide = media.FileName;
                        }
                        else
                        {
                            _model.ImageFront = media.FileName;
                        }
                    }
                    else
                    {
                        _model.SetActivityResource(showError: true, errorMessage: media.Message);
                    }
                }
                else if (result.ToString() == TextResources.TakeFromCamera)
                {
                    if (!await _devicePermissionServices.RequestCameraPermission())
                    {
                        await DisplayAlert(TextResources.Review, TextResources.MessagePermissionCameraRequired,
                                           TextResources.Ok);

                        return;
                    }

                    if (!await _devicePermissionServices.RequestWriteStoragePermission())
                    {
                        await DisplayAlert(TextResources.Review, TextResources.MessagePermissionCameraRequired,
                                           TextResources.Ok);

                        return;
                    }

                    var mediaFile = await media.TakePhotoAsync();

                    if (mediaFile == null)
                    {
                        _model.SetActivityResource(showError: true, errorMessage: media.Message);
                        return;
                    }

                    (side == ImageSide.SIDE ? imageSide : imageFront).Source =
                        ImageSource.FromStream(() => { return(mediaFile.GetStream()); });
                    if (media.FileName != null && media.FileName.Trim().Length > 0)
                    {
                        var index    = media.FileName.LastIndexOf("\"");
                        var fileName = media.FileName.Remove(index, 1);
                        if (side == ImageSide.SIDE)
                        {
                            _model.ImageSide = fileName;
                        }
                        else
                        {
                            _model.ImageFront = fileName;
                        }
                    }
                    else
                    {
                        _model.SetActivityResource(showError: true, errorMessage: media.Message);
                    }
                }
            }
        }
コード例 #6
0
ファイル: ThumbnailSizeTests.cs プロジェクト: synweb/rocms
        public void SizeIdCreationTest(int pix, ImageSide side, string id)
        {
            var ts = new ThumbnailSize(pix, side);

            Assert.AreEqual(id, ts.SizeString);
        }
コード例 #7
0
        private async Task UploadImageAsync(ImageSide side)
        {
            if (side == ImageSide.SIDE)
            {
                _model.ImageSide = _model.ImageDefault;
            }
            else
            {
                _model.ImageFront = _model.ImageDefault;
            }
            Device.BeginInvokeOnMainThread(async() =>
            {
                var localMessage = "";
                var result       = await DisplayActionSheet(TextResources.ChooseOption, TextResources.Cancel, null,
                                                            new string[] { TextResources.PickFromGallery, TextResources.TakeFromCamera });

                if (result != null)
                {
                    if (result == "Cancel")
                    {
                        return;
                    }
                    if (!await _devicePermissionServices.RequestReadStoragePermission())
                    {
                        _model.SetActivityResource(showError: true,
                                                   errorMessage: TextResources.MessagePermissionReadStorageRequired);
                        return;
                    }

                    _media.Refresh();
                    if (result.ToString() == TextResources.PickFromGallery)
                    {
                        var mediaFile = await _media.PickPhotoAsync();
                        if (mediaFile == null)
                        {
                            localMessage = _media.Message;
                        }
                        else
                        {
                            _model.SetActivityResource(false, true);
                            var response = await _media.UploadPhotoAsync(mediaFile);
                            if (response)
                            {
                                if (side == ImageSide.SIDE)
                                {
                                    _model.ImageSide = _media.FileName;
                                }
                                else
                                {
                                    _model.ImageFront = _media.FileName;
                                }
                                (side == ImageSide.SIDE ? imageSide : imageFront).Source =
                                    ImageSource.FromStream(() => { return(mediaFile.GetStream()); });
                            }
                            else
                            {
                                localMessage = _media.Message;
                            }

                            _model.SetActivityResource();
                        }
                    }
                    else if (result.ToString() == TextResources.TakeFromCamera)
                    {
                        if (!await _devicePermissionServices.RequestCameraPermission())
                        {
                            _model.SetActivityResource(showError: true,
                                                       errorMessage: TextResources.MessagePermissionCameraRequired);
                            return;
                        }

                        if (!await _devicePermissionServices.RequestWriteStoragePermission())
                        {
                            _model.SetActivityResource(showError: true,
                                                       errorMessage: TextResources.MessagePermissionCameraRequired);
                            return;
                        }

                        var mediaFile = await _media.TakePhotoAsync();
                        if (mediaFile == null)
                        {
                            localMessage = _media.Message;
                        }
                        else
                        {
                            _model.SetActivityResource(false, true);
                            var response = await _media.UploadPhotoAsync(mediaFile);
                            if (response)
                            {
                                if (side == ImageSide.SIDE)
                                {
                                    _model.ImageSide = _media.FileName;
                                }
                                else
                                {
                                    _model.ImageFront = _media.FileName;
                                }
                                (side == ImageSide.SIDE ? imageSide : imageFront).Source =
                                    ImageSource.FromStream(() => { return(mediaFile.GetStream()); });
                            }
                            else
                            {
                                localMessage = _media.Message;
                            }

                            _model.SetActivityResource();
                        }
                    }

                    if (!string.IsNullOrEmpty(localMessage))
                    {
                        _model.SetActivityResource(showError: true, errorMessage: localMessage);
                    }
                }
            });
            await Task.Delay(TimeSpan.FromMilliseconds(1));
        }
コード例 #8
0
        private async Task <bool> Validate()
        {
            var validationErrors = new ValidationErrors();
            await Task.Run(() =>
            {
                // Current Weight
                if (CurrentWeightValue == 0)
                {
                    validationErrors.Add(
                        string.Format(TextResources.Required_IsMandatory, TextResources.WeightLossGoal));
                }
                else if (CurrentWeightValue < App.Configuration.AppConfig.MINIMUM_WEIGHT_LOSE)
                {
                    validationErrors.Add(string.Format(TextResources.Validation_MustBeMoreThan,
                                                       TextResources.WeightLossGoal, App.Configuration.AppConfig.MINIMUM_WEIGHT_LOSE));
                }

                if (GoalAchieved)
                {
                    // Front Photo
                    if (ImageFront == null || ImageFront.Trim().Length == 0 ||
                        ImageFront == ImageDefault)
                    {
                        validationErrors.Add(string.Format(TextResources.Required_MustBeSelected,
                                                           TextResources.FrontPhoto));
                    }
                    // Side Photo
                    if (ImageSide == null || ImageSide.Trim().Length == 0 ||
                        ImageSide == ImageDefault)
                    {
                        validationErrors.Add(string.Format(TextResources.Required_MustBeSelected,
                                                           TextResources.SidePhoto));
                    }
                    //Gender
                    if (IsGenderRequired && !IsGenderSelected)
                    {
                        validationErrors.Add(string.Format(TextResources.Required_MustBeSelected,
                                                           TextResources.Gender));
                    }
                    // T-Shirt Size
                    if (TShirtSize == null || TShirtSize.Trim().Length == 0)
                    {
                        validationErrors.Add(string.Format(TextResources.Required_MustBeSelected,
                                                           TextResources.TShirtSize));
                    }
                    // Why you want to join
                    if (AboutYourJourney == null || AboutYourJourney.Trim().Length == 0)
                    {
                        validationErrors.Add(string.Format(TextResources.Required_IsMandatory,
                                                           TextResources.AboutYourJourney));
                    }
                }
            });

            if (validationErrors.Count() > 0)
            {
                SetActivityResource(showError: true,
                                    errorMessage: validationErrors.Count() > 2
                        ? TextResources.PleaseReviewAllInputsAreMandatory
                        : validationErrors.Show("\n"));
            }
            return(validationErrors.Count() == 0);
        }
コード例 #9
0
        private async Task UploadImageAsync(ImageSide side)
        {
            if (side == ImageSide.SIDE)
            {
                _imageSideName   = string.Empty;
                _model.ImageSide = _model.ImageDefault;
            }
            else
            {
                _imageFrontName   = string.Empty;
                _model.ImageFront = _model.ImageDefault;
            }

            var result = await DisplayActionSheet(TextResources.ChooseOption, TextResources.Cancel, null,
                                                  new string[] { TextResources.PickFromGallery, TextResources.TakeFromCamera });

            if (result != null)
            {
                if (result == "Cancel")
                {
                    return;
                }
                if (!await _devicePermissionServices.RequestReadStoragePermission())
                {
                    _model.SetActivityResource(showError: true,
                                               errorMessage: TextResources.MessagePermissionReadStorageRequired);
                    return;
                }

                _media.Refresh();
                if (result == TextResources.PickFromGallery)
                {
                    var mediaFile = await _media.PickPhotoAsync();

                    if (mediaFile == null)
                    {
                        _model.SetActivityResource(showError: true, errorMessage: _media.Message);
                        return;
                    }

                    _model.SetActivityResource(false, true);
                    var response = await _media.UploadPhotoAsync(mediaFile);

                    if (!response)
                    {
                        _model.SetActivityResource(true, false, showError: true, errorMessage: _media.Message);
                        return;
                    }

                    _model.SetActivityResource();
                    (side == ImageSide.SIDE ? imageSide : imageFront).Source =
                        ImageSource.FromStream(() => { return(mediaFile.GetStream()); });
                    if (_media.FileName != null)
                    {
                        if (side == ImageSide.SIDE)
                        {
                            _imageSideName = _model.ImageSide = _media.FileName;
                        }
                        else
                        {
                            _imageFrontName = _model.ImageFront = _media.FileName;
                        }
                        (side == ImageSide.SIDE ? imageSide : imageFront).Source =
                            ImageSource.FromStream(() => { return(mediaFile.GetStream()); });
                    }
                    else
                    {
                        _model.SetActivityResource(showError: true,
                                                   errorMessage: _media.Message);
                    }
                }
                else if (result == TextResources.TakeFromCamera)
                {
                    if (!await _devicePermissionServices.RequestCameraPermission())
                    {
                        _model.SetActivityResource(showError: true,
                                                   errorMessage: TextResources.MessagePermissionCameraRequired);
                        return;
                    }

                    if (!await _devicePermissionServices.RequestWriteStoragePermission())
                    {
                        _model.SetActivityResource(showError: true,
                                                   errorMessage: TextResources.MessagePermissionCameraRequired);
                        return;
                    }

                    var mediaFile = await _media.TakePhotoAsync();

                    if (mediaFile == null)
                    {
                        _model.SetActivityResource(showError: true, errorMessage: _media.Message);
                        return;
                    }

                    _model.SetActivityResource(false, true);
                    var response = await _media.UploadPhotoAsync(mediaFile);

                    if (!response)
                    {
                        _model.SetActivityResource(true, false, showError: true, errorMessage: _media.Message);
                        return;
                    }

                    _model.SetActivityResource();
                    if (_media.FileName != null && _media.FileName.Trim().Length > 0)
                    {
                        if (side == ImageSide.SIDE)
                        {
                            _imageSideName = _model.ImageSide = _media.FileName;
                        }
                        else
                        {
                            _imageFrontName = _model.ImageFront = _media.FileName;
                        }
                        (side == ImageSide.SIDE ? imageSide : imageFront).Source =
                            ImageSource.FromStream(() => { return(mediaFile.GetStream()); });
                    }
                    else
                    {
                        _model.SetActivityResource(showError: true,
                                                   errorMessage: _media.Message);
                    }
                }
            }
        }
コード例 #10
0
ファイル: ThumbnailSize.cs プロジェクト: synweb/rocms
 public ThumbnailSize(int pixels, ImageSide side)
 {
     Pixels = pixels;
     Side   = side;
 }