/*----------------------------------------------------------------------------------------------------------------------------------------*/
        //
        // Constractor
        //
        /*----------------------------------------------------------------------------------------------------------------------------------------*/
        #region Constractor

        public EditTrainingScheduleViewModel(int week, StackLayout trainingStack)
        {
            InitCommands();
            TrainingStack = trainingStack;
            WeekLabel     = ((WeekEnum)week).ToString();
            _week         = week;

            var target = TrainingScheduleService.GetTrainingSchedule(week);

            if (target != null)
            {
                _isUpdate = true;
                _id       = target.Id;
                var trainingScheduleStructure =
                    JsonConvert.DeserializeObject <TrainingScheduleStructure>(target.TrainingMenu);

                Off = trainingScheduleStructure.Off;

                if (!Off)
                {
                    foreach (var training in trainingScheduleStructure.TrainingContentList)
                    {
                        CommandAddTrainingAction(training);
                    }
                }
                else
                {
                    CommandAddTrainingAction();
                }
            }
            else
            {
                CommandAddTrainingAction();
            }
        }
        public TrainingScheduleType(TrainingScheduleService trainingScheduleService, UserService userService)
        {
            Field(o => o.Id);
            Field(o => o.Name);

            Field <ListGraphType <TrainingScheduleExerciseType>, IEnumerable <Exercise> >()
            .Name("exercises")
            .Resolve(ctx => trainingScheduleService.GetExercisesForTrainingScheduleByIdAsync(ctx.Source.Id));
            Field <UserType>("user",
                             resolve: context => userService.GetUserByIdAsync(context.Source.UserId));
        }
        /// <summary>
        ///     トレーニング画面遷移
        /// </summary>
        private static void CommandStartTrainingAction()
        {
            var check = TrainingResultService.CheckExitTargetDayData(DateTime.Now);

            if (check)
            {
                Application.Current.MainPage.DisplayAlert(LanguageUtils.Get(LanguageKeys.Confirm),
                                                          LanguageUtils.Get(LanguageKeys.TodayTrainingAlreadyCompleted), LanguageUtils.Get(LanguageKeys.OK));
            }
            else
            {
                var exits = TrainingScheduleService.GetTrainingSchedule((int)DateTime.Now.DayOfWeek);

                if (exits == null)
                {
                    Application.Current.MainPage.DisplayAlert(LanguageUtils.Get(LanguageKeys.Confirm),
                                                              LanguageUtils.Get(LanguageKeys.NotSettingTrainingSchedule), LanguageUtils.Get(LanguageKeys.OK));
                }
                else
                {
                    var training = JsonConvert
                                   .DeserializeObject <TrainingScheduleStructure>(
                        TrainingScheduleService.GetTrainingSchedule((int)DateTime.Now.DayOfWeek).TrainingMenu);

                    if (training.Off)
                    {
                        Application.Current.MainPage.DisplayAlert(LanguageUtils.Get(LanguageKeys.Confirm),
                                                                  LanguageUtils.Get(LanguageKeys.TodayIsRest), LanguageUtils.Get(LanguageKeys.OK));
                    }
                    else
                    {
                        ViewModelConst.TrainingPageNavigation.PushAsync(new TrainingView());
                    }
                }
            }
        }
        public SchemaMutation(ExerciseService exercises, TrainingScheduleService trainingSchedules, WorkoutService workoutService,
                              UserService userService)
        {
            Name = "Mutation";
            Field <ExerciseType>(
                "createExercise",
                arguments: new QueryArguments(
                    new QueryArgument <NonNullGraphType <ExerciseCreateInputType> > {
                Name = "exercise"
            }),
                resolve: context =>
            {
                var input = context.GetArgument <ExerciseCreateInputType>("exercise");
                var order = new Exercise {
                    Name = input.Name
                };
                return(exercises.CreateAsync(order));
            }
                );

            FieldAsync <TrainingScheduleType>(
                "createTrainingSchedule",
                arguments: new QueryArguments(new QueryArgument <NonNullGraphType <TrainingScheduleCreateInputType> >
            {
                Name = "trainingSchedule"
            }),
                resolve: async context =>
            {
                var input = context.GetArgument <TrainingScheduleCreateDto>("trainingSchedule");

                var trainingSchedule = new TrainingSchedule
                {
                    Name = input.Name,
                    User = await userService.GetUserByIdAsync(1),
                    TrainingScheduleExercises = input.ExercisesWithSets
                                                .Select(
                        exerciseIdWithSets => new TrainingScheduleExercise
                    {
                        ExerciseId = exerciseIdWithSets.Id,
                        Sets       = exerciseIdWithSets.Sets
                    }).ToList()
                };

                return(await context.TryAsyncResolve(async c =>
                                                     await trainingSchedules.CreateAsync(trainingSchedule)));
            }
                );

            FieldAsync <WorkoutType>(
                "createWorkout",
                arguments: new QueryArguments(new QueryArgument <NonNullGraphType <WorkoutCreateInputType> >
            {
                Name = "workout"
            }),
                resolve: async context =>
            {
                var input = context.GetArgument <WorkoutCreateDto>("workout");

                var trainingSchedule = new Workout
                {
                    User      = await userService.GetUserByIdAsync(1),
                    Exercises = input.Exercises
                                .Select(
                        exercise => new WorkoutExercise
                    {
                        ExerciseId = exercise.Id,
                        Sets       = exercise.Sets,
                        DateTime   = exercise.DateTime
                    }).ToList()
                };

                return(await context.TryAsyncResolve(async c =>
                                                     await workoutService.CreateAsync(trainingSchedule)));
            }
                );
        }
Ejemplo n.º 5
0
        public SchemaQuery(ExerciseService exercises, TrainingScheduleService trainingScheduleService, WorkshopService workshopService, WorkoutService workoutService, JourneyService journeyService)
        {
            Name = "Query";
            Field <ListGraphType <ExerciseType> >(
                "exercises",
                resolve: context => exercises.GetExercisesAsync()
                );

            Field <ListGraphType <TrainingScheduleType> >(
                "trainingSchedules",
                resolve: context => trainingScheduleService.GetTrainingSchedulesAsync()
                );

            Field <ListGraphType <WorkshopType> >(
                "workshops",
                resolve: context => workshopService.GetWorkshopsAsync()
                );

            Field <ListGraphType <WorkoutType> >(
                "workouts",
                resolve: context => workoutService.GetWorkoutsAsync()
                );

            Field <ListGraphType <JourneyType> >(
                "journeys",
                resolve: context => journeyService.GetJourneysAsync()
                );


            FieldAsync <ExerciseType>(
                "exercise",
                arguments: new QueryArguments(new QueryArgument <NonNullGraphType <IntGraphType> > {
                Name = "id"
            }),
                resolve: async context => {
                return(await context.TryAsyncResolve(
                           async c => await exercises.GetExerciseByIdAsync(c.GetArgument <int>("id"))
                           ));
            }
                );


            FieldAsync <JourneyType>(
                "journey",
                arguments: new QueryArguments(new QueryArgument <NonNullGraphType <IntGraphType> > {
                Name = "id"
            }),
                resolve: async context => {
                return(await context.TryAsyncResolve(
                           async c => await journeyService.GetJourneyByIdAsync(c.GetArgument <int>("id"))
                           ));
            }
                );

            FieldAsync <WorkoutType>(
                "workout",
                arguments: new QueryArguments(new QueryArgument <NonNullGraphType <IntGraphType> > {
                Name = "id"
            }),
                resolve: async context => {
                return(await context.TryAsyncResolve(
                           async c => await workoutService.GetWorkoutAsync(c.GetArgument <int>("id"))
                           ));
            }
                );
        }
        private async Task CommandSaveAction()
        {
            try
            {
                if (!Validate())
                {
                    ViewModelCommonUtil.SendMessage(ViewModelConst.MessagingTrainingSelfScroll);
                    return;
                }

                IsLoading = true;
                var trainingContentList = new List <TrainingListStructure>();

                if (!Off)
                {
                    // トレーニング一覧
                    var trainingStack = TrainingStack.Children;
                    foreach (var training in trainingStack)
                    {
                        var insert     = new TrainingListStructure();
                        var trainingId =
                            ((TrainingMasterModel)((Picker)((StackLayout)training).Children[1]).SelectedItem).Id;
                        var trainingseCount = ((Entry)((StackLayout)training).Children[3]).Text;

                        var loadContentList = new List <LoadContentStructure>();
                        var loadStack       = ((StackLayout)((StackLayout)training).Children[4]).Children;
                        foreach (var load in loadStack)
                        {
                            var insertload = new LoadContentStructure();
                            var subLoad    = ((StackLayout)load).Children[1];
                            var loadId     = ((LoadUnitModel)((Picker)((StackLayout)subLoad).Children[1]).SelectedItem)
                                             .LoadId;
                            var nums       = ((Entry)((StackLayout)subLoad).Children[0]).Text;
                            var loadUnitId =
                                ((LoadUnitModel)((Picker)((StackLayout)subLoad).Children[1]).SelectedItem).Id;
                            insertload.LoadId     = loadId;
                            insertload.LoadUnitId = loadUnitId;
                            insertload.Nums       = float.Parse(nums);
                            loadContentList.Add(insertload);
                        }

                        insert.LoadContentList  = loadContentList;
                        insert.TrainingId       = trainingId;
                        insert.TrainingSetCount = int.Parse(trainingseCount);
                        trainingContentList.Add(insert);
                    }
                }

                var trainingScheduleStructure =
                    new TrainingScheduleStructure
                {
                    TrainingContentList = trainingContentList,
                    Off  = Off,
                    Week = _week
                };

                var trainingScheduleStructureJson = JsonConvert.SerializeObject(trainingScheduleStructure);

                if (_isUpdate)
                {
                    TrainingScheduleService.UpdateTrainingSchedule(_id, trainingScheduleStructureJson,
                                                                   _week);
                }
                else
                {
                    TrainingScheduleService.RegistTrainingSchedule(trainingScheduleStructureJson,
                                                                   _week);
                }

                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);
            }
        }
Ejemplo n.º 7
0
        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);
        }