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); } } } }
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 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()); }
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; }