/*----------------------------------------------------------------------------------------------------------------------------------------*/ // // ViewModel Logic // /*----------------------------------------------------------------------------------------------------------------------------------------*/ #region ViewModel Logic public void ReloadList() { Items.Clear(); var items = TrainingMasterService.GetTrainingMasterDataList(); items?.ForEach(data => Items.Add(data)); }
/*----------------------------------------------------------------------------------------------------------------------------------------*/ // // Constractor // /*----------------------------------------------------------------------------------------------------------------------------------------*/ #region Constractor public TrainingListViewModel() { InitMessageSubscribe(); InitCommands(); var items = TrainingMasterService.GetTrainingMasterDataList(); items?.ForEach(data => Items.Add(data)); }
/// <summary> /// トレーニングスケジュール画面遷移 /// </summary> private static void CommandEditTrainingScheduleAction() { var check = TrainingMasterService.GetTrainingMasterDataList(); if (check == null || check.Count == 0) { Application.Current.MainPage.DisplayAlert(LanguageUtils.Get(LanguageKeys.Confirm), LanguageUtils.Get(LanguageKeys.NotExistTraining), LanguageUtils.Get(LanguageKeys.OK)); return; } ViewModelConst.TrainingPageNavigation.PushAsync(new TrainingScheduleListView()); }
/*----------------------------------------------------------------------------------------------------------------------------------------*/ // // Command Actions // /*----------------------------------------------------------------------------------------------------------------------------------------*/ #region Command Actions /// <summary> /// トレーニング一覧画面遷移 /// </summary> private static void CommandEditTrainingAction() { var check = TrainingMasterService.GetTrainingMasterDataList(); if (check == null || check.Count == 0) { ViewModelConst.TrainingPageNavigation.PushAsync(new TrainingMasterView()); } else { ViewModelConst.TrainingPageNavigation.PushAsync(new TrainingListView()); } }
public TrainingMasterViewModel(StackLayout partStack, StackLayout loadStack, int id) { PartStack = partStack; LoadStack = loadStack; _targetTrainingMasterModel = TrainingMasterService.GetTrainingMasterData(id); InitCommands(); var partStructureList = JsonConvert.DeserializeObject <List <PartStructure> >(_targetTrainingMasterModel.Part); var loadStructure = JsonConvert.DeserializeObject <LoadStructure>(_targetTrainingMasterModel.Load); foreach (var data in partStructureList) { CommandAddPartAction(data.Part.Id, data.SubPart.Id); } foreach (var data in loadStructure.LoadList) { CommandAddLoadAction(data.Id); } TrainingName = _targetTrainingMasterModel.TrainingName; }
/*----------------------------------------------------------------------------------------------------------------------------------------*/ // // Command Actions // /*----------------------------------------------------------------------------------------------------------------------------------------*/ #region Command Actions /// <summary> /// トレーニング保存アクション /// </summary> /// <returns></returns> private async Task CommandSaveAction() { try { if (!ValidationInputData(TrainingName)) { ViewModelCommonUtil.SendMessage(ViewModelConst.MessagingTrainingSelfScroll); return; } IsLoading = true; var partStructureList = new List <PartStructure>(); PartStack.Children.ForEach(child => { var stack = (StackLayout)child; var partModel = ((PartModel)((Picker)stack.Children[0]).SelectedItem); var subPartModel = ((SubPartModel)((Picker)stack.Children[1]).SelectedItem); if (!partStructureList.Any( data => data.Part.Id == partModel.Id && data.SubPart.Id == subPartModel.Id)) { partStructureList.Add(new PartStructure { Part = partModel, SubPart = subPartModel }); } }); var loadList = new List <LoadModel>(); LoadStack.Children.ForEach(child => { var stack = (StackLayout)child; var loadModel = ((LoadModel)((Picker)stack.Children[0]).SelectedItem); if (loadList.All(data => data.Id != loadModel.Id)) { loadList.Add(loadModel); } }); var loadStructure = new LoadStructure { LoadList = loadList }; if (_targetTrainingMasterModel != null) { TrainingMasterService.UpdateTrainingMaster( _targetTrainingMasterModel.Id, TrainingName, JsonConvert.SerializeObject(loadStructure), JsonConvert.SerializeObject(partStructureList)); } else { TrainingMasterService.RegistTrainingMaster( TrainingName, JsonConvert.SerializeObject(loadStructure), JsonConvert.SerializeObject(partStructureList)); } IsLoading = false; await Application.Current.MainPage.DisplayAlert(LanguageUtils.Get(LanguageKeys.Complete), LanguageUtils.Get(LanguageKeys.SaveComplete), LanguageUtils.Get(LanguageKeys.OK)); // ホーム画面をリロードする ViewModelCommonUtil.SendMessage(ViewModelConst.MessagingTrainingPrevPageReload); ViewModelCommonUtil.TrainingBackPage(); } catch (Exception e) { Debug.WriteLine(e); } }
public void CommandAddTrainingAction(TrainingListStructure training) { var mainStack = new StackLayout(); var trainingLabel = new Label { Text = LanguageUtils.Get(LanguageKeys.TrainingName), FontAttributes = FontAttributes.Bold, Margin = new Thickness(0, 20, 0, 0) }; mainStack.Children.Add(trainingLabel); var trainingPicker = new Picker { ItemsSource = TrainingMasterService.GetTrainingMasterDataList(), ItemDisplayBinding = new Binding("TrainingName"), SelectedIndex = 0 }; mainStack.Children.Add(trainingPicker); var trainingSetCountLabel = new Label { Text = LanguageUtils.Get(LanguageKeys.SetCount), FontAttributes = FontAttributes.Bold, Margin = new Thickness(0, 0, 0, 0) }; mainStack.Children.Add(trainingSetCountLabel); var trainingSetCountEntry = new Entry { Text = training.TrainingSetCount.ToString(), Keyboard = Keyboard.Numeric }; mainStack.Children.Add(trainingSetCountEntry); var trainingLoadStack = new StackLayout(); trainingPicker.SelectedItem = ((List <TrainingMasterModel>)trainingPicker.ItemsSource).First(data => data.Id == training.TrainingId); foreach (var load in training.LoadContentList) { var loadModdel = LoadService.GetLoad(load.LoadId); var loadStack = new StackLayout(); loadStack.Children.Add(new Label { Text = loadModdel.LoadName, FontAttributes = FontAttributes.Bold, Margin = new Thickness(0, 0, 0, 0) }); var subLoadStack = new StackLayout { Orientation = StackOrientation.Horizontal }; subLoadStack.Children.Add(new Entry { Text = load.Nums.ToString(), Keyboard = Keyboard.Numeric, WidthRequest = 145 }); var loadUnitPick = new Picker { ItemsSource = LoadUnitService.GetLoadUnitList(load.LoadId), ItemDisplayBinding = new Binding("UnitName"), SelectedIndex = 0, WidthRequest = 145 }; loadUnitPick.SelectedItem = ((List <LoadUnitModel>)loadUnitPick.ItemsSource).First(data => data.Id == load.LoadUnitId); subLoadStack.Children.Add(loadUnitPick); loadStack.Children.Add(subLoadStack); trainingLoadStack.Children.Add(loadStack); } trainingPicker.SelectedIndexChanged += (sender, args) => { trainingLoadStack.Children.Clear(); var loadList = JsonConvert.DeserializeObject <LoadStructure>(((TrainingMasterModel)trainingPicker.SelectedItem) .Load); foreach (var load in loadList.LoadList) { var loadStack = new StackLayout(); loadStack.Children.Add(new Label { Text = load.LoadName, FontAttributes = FontAttributes.Bold, Margin = new Thickness(0, 0, 0, 0) }); var subLoadStack = new StackLayout { Orientation = StackOrientation.Horizontal }; subLoadStack.Children.Add(new Entry { Keyboard = Keyboard.Numeric, WidthRequest = 145 }); subLoadStack.Children.Add(new Picker { ItemsSource = LoadUnitService.GetLoadUnitList(load.Id), ItemDisplayBinding = new Binding("UnitName"), SelectedIndex = 0, WidthRequest = 145 }); loadStack.Children.Add(subLoadStack); trainingLoadStack.Children.Add(loadStack); } }; mainStack.Children.Add(trainingLoadStack); TrainingStack.Children.Add(mainStack); }
public static TrainingScheduleSViewtructure CreateTrainingScheduleSViewtructure(WeekEnum week) { var model = TrainingScheduleService.GetTrainingSchedule((int)week); if (model == null) { var empty = new TrainingScheduleSViewtructure { Week = (int)week, WeekName = week.ToString(), Off = false }; return(empty); } var trainingScheduleStructure = JsonConvert.DeserializeObject <TrainingScheduleStructure>(model.TrainingMenu); var trainingScheduleViewStructure = new TrainingScheduleSViewtructure { Week = (int)week, WeekName = week.ToString(), Off = trainingScheduleStructure.Off }; var trainingListViewStructureList = new List <TrainingListViewStructure>(); int count = 1; foreach (var training in trainingScheduleStructure.TrainingContentList) { var trainingListViewStructure = new TrainingListViewStructure { TrainingId = training.TrainingId, TrainingNo = count, TrainingName = TrainingMasterService.GetTrainingMasterData(training.TrainingId).TrainingName, TrainingSetCount = training.TrainingSetCount }; var loadContentViewStructureList = new List <LoadContentViewStructure>(); foreach (var load in training.LoadContentList) { var loadContentViewStructure = new LoadContentViewStructure { LoadId = load.LoadId, LoadName = LoadService.GetLoad(load.LoadId).LoadName, Nums = load.Nums.ToString(), LoadUnitId = load.LoadUnitId, LoadUnitName = LoadUnitService.GetLoadUnit(load.LoadUnitId).UnitName }; loadContentViewStructureList.Add(loadContentViewStructure); } trainingListViewStructure.LoadContentList = loadContentViewStructureList; trainingListViewStructureList.Add(trainingListViewStructure); count++; } trainingScheduleViewStructure.TrainingContentList = trainingListViewStructureList; return(trainingScheduleViewStructure); }