private void TrainingWeekPage_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            if (e.PropertyName == "BindingWeekTrainingDays")
            {
                TrainingWeekViewModel viewModel = sender as TrainingWeekViewModel;
                if (viewModel != null)
                {
                    TouchViewCell touchViewCell;
                    DaySection.Clear();
                    foreach (var bindingWeekTrainingDay in viewModel.BindingWeekTrainingDays)
                    {
                        touchViewCell = new TouchViewCell()
                        {
                            IsIndicatorVisible = true,
                            BindingContext     = bindingWeekTrainingDay,
                            TitleTextColor     = Color.Red,
                            ValueTextColor     = Color.Red
                        };
                        touchViewCell.Tapped += DayCellTaped;
                        touchViewCell.SetBinding(TouchViewCell.ValueProperty, (BindingWeekTrainingDay source) => source.Label);

                        var trigger = new DataTrigger(typeof(Label));
                        trigger.BindingContext = bindingWeekTrainingDay;
                        trigger.Binding        = new Binding("TrainingDayExist");
                        trigger.Value          = true;
                        var setter = new Setter();
                        setter.Property = Label.TextColorProperty;
                        setter.Value    = Color.FromHex("#337ab7");
                        trigger.Setters.Add(setter);
                        touchViewCell.SetValueTrigger(trigger);

                        trigger = new DataTrigger(typeof(Label));
                        trigger.BindingContext = bindingWeekTrainingDay;
                        trigger.Binding        = new Binding("TrainingDayExist");
                        trigger.Value          = true;
                        setter          = new Setter();
                        setter.Property = Label.TextColorProperty;
                        setter.Value    = Color.FromHex("#337ab7");
                        trigger.Setters.Add(setter);
                        touchViewCell.SetTitleTrigger(trigger);

                        var menuItem = new MenuItem();
                        menuItem.SetBinding(MenuItem.TextProperty, new Binding(path: "SwitchDayLabel", source: viewModel));
                        menuItem.BindingContext = bindingWeekTrainingDay;
                        menuItem.Command        = viewModel.SwitchTrainingDayCommand;
                        menuItem.SetBinding(MenuItem.CommandParameterProperty, new Binding(path: "DayOfWeek", source: bindingWeekTrainingDay));
                        touchViewCell.ContextActions.Add(menuItem);

                        menuItem = new MenuItem();
                        menuItem.SetBinding(MenuItem.TextProperty, new Binding(path: "CopyDayLabel", source: viewModel));
                        menuItem.BindingContext = bindingWeekTrainingDay;
                        menuItem.Command        = viewModel.CopyTrainingDayCommand;
                        menuItem.SetBinding(MenuItem.CommandParameterProperty, new Binding(path: "DayOfWeek", source: bindingWeekTrainingDay));
                        touchViewCell.ContextActions.Add(menuItem);

                        DaySection.Add(touchViewCell);
                    }
                }
            }
        }
コード例 #2
0
        public static TrainingWeekViewModel TrainingWeekToViewModel(TrainingWeek trainingWeek, IUsersService usersService)
        {
            TrainingWeekViewModel trainingJournalVM = new TrainingWeekViewModel();

            trainingJournalVM.UserId = trainingWeek.UserId;
            trainingJournalVM.Year = trainingWeek.Year;
            trainingJournalVM.WeekOfYear = trainingWeek.WeekOfYear;
            trainingJournalVM.UserHeight = trainingWeek.UserHeight;
            trainingJournalVM.UserWeight = trainingWeek.UserWeight;
            trainingJournalVM.Unit = (int)trainingWeek.Unit;

            var user = usersService.GetUser(new UserKey() { Id = trainingWeek.UserId });
            if (user != null)
                trainingJournalVM.UserName = user.Name;

            return trainingJournalVM;
        }
コード例 #3
0
        public async Task <IActionResult> Delete(TrainingWeekViewModel viewModel)
        {
            if (await _bll.TrainingWeeks.IsPartOfBaseRoutineAsync(viewModel.TrainingWeek.Id) &&
                await _bll.WorkoutRoutines.BaseRoutineWithIdExistsAsync(viewModel.WorkoutRoutineId))
            {
                await _bll.TrainingWeeks.RemoveAsync(viewModel.TrainingWeek.Id);

                await _bll.SaveChangesAsync();

                await _bll.TrainingWeeks.NormalizeWeekNumbersAsync(viewModel.WorkoutRoutineId);

                await _bll.SaveChangesAsync();

                return(RedirectToAction(nameof(Index), new { id = viewModel.WorkoutRoutineId }));
            }

            return(BadRequest());
        }
コード例 #4
0
        public static TrainingWeekViewModel TrainingWeekToViewModel(TrainingWeek trainingWeek, IUsersService usersService)
        {
            TrainingWeekViewModel trainingJournalVM = new TrainingWeekViewModel();

            trainingJournalVM.UserId     = trainingWeek.UserId;
            trainingJournalVM.Year       = trainingWeek.Year;
            trainingJournalVM.WeekOfYear = trainingWeek.WeekOfYear;
            trainingJournalVM.UserHeight = trainingWeek.UserHeight;
            trainingJournalVM.UserWeight = trainingWeek.UserWeight;
            trainingJournalVM.Unit       = (int)trainingWeek.Unit;

            var user = usersService.GetUser(new UserKey()
            {
                Id = trainingWeek.UserId
            });

            if (user != null)
            {
                trainingJournalVM.UserName = user.Name;
            }

            return(trainingJournalVM);
        }
        public TrainingWeekPage(TrainingWeekViewModel baseViewModel) : base(baseViewModel)
        {
            InitializeComponent();

            baseViewModel.PropertyChanged += TrainingWeekPage_PropertyChanged;
        }