public IActionResult Create([FromBody] TrainingDayViewModel viewModel) { try { if (ModelState.IsValid) { if (string.IsNullOrWhiteSpace(viewModel.UserId) || viewModel.Year == 0 || viewModel.WeekOfYear == 0 || viewModel.DayOfWeek < 0 || viewModel.DayOfWeek > 6 || SessionUserId != viewModel.UserId) { return(BadRequest()); } //Verify trainingWeek exist var trainingWeekKey = new TrainingWeekKey() { UserId = viewModel.UserId, Year = viewModel.Year, WeekOfYear = viewModel.WeekOfYear }; var trainingWeekScenario = new TrainingWeekScenario() { ManageTrainingDay = false }; var trainingWeek = _trainingWeeksService.GetTrainingWeek(trainingWeekKey, trainingWeekScenario); if (trainingWeek == null) { return(BadRequest(new WebApiException(string.Format(Translation.P0_NOT_EXIST, Translation.TRAINING_WEEK)))); } //Verify valid week of year if (viewModel.WeekOfYear > 0 && viewModel.WeekOfYear <= 52) { var trainingDay = ControllerUtils.TransformViewModelToTrainingDay(viewModel); trainingDay = _trainingDaysService.CreateTrainingDay(trainingDay); if (trainingDay == null) { return(BadRequest(new WebApiException(string.Format(Translation.IMPOSSIBLE_TO_CREATE_P0, Translation.TRAINING_DAY)))); } else { return(new OkObjectResult(trainingDay)); } } else { return(BadRequest()); } } else { return(BadRequest(new WebApiException(ControllerUtils.GetModelStateError(ModelState)))); } } catch (Exception exception) { return(BadRequest(new WebApiException("Error", exception))); } }
private async Task <TrainingDayViewModel> GetIndexViewModelAsync(Guid trainingDayId) { var parentRoutine = await _bll.WorkoutRoutines.FindWithTrainingDayIdAsync(trainingDayId); var trainingDay = await _bll.TrainingDays.FindAsync(trainingDayId); var viewModel = new TrainingDayViewModel { WorkoutRoutineId = parentRoutine.Id, TrainingDay = trainingDay }; return(viewModel); }
public TrainingDayPage(TrainingDayViewModel viewModel) : base(viewModel) { InitializeComponent(); /*if (this.ToolbarItems != null && Device.OS == TargetPlatform.iOS) * { * for (int i = 0; i < ToolbarItems.Count; i++) { * if (ToolbarItems[i].Text == viewModel.PrintLabel) { * this.ToolbarItems.Remove (ToolbarItems[i]); * break; * } * } * }*/ }
public static TrainingDay TransformViewModelToTrainingDay(TrainingDayViewModel viewModel) { TrainingDay trainingDay = new TrainingDay(); trainingDay.UserId = viewModel.UserId; trainingDay.Year = viewModel.Year; trainingDay.WeekOfYear = viewModel.WeekOfYear; trainingDay.DayOfWeek = viewModel.DayOfWeek; trainingDay.TrainingDayId = viewModel.TrainingDayId; trainingDay.BeginHour = viewModel.BeginHour.ToUniversalTime(); trainingDay.EndHour = viewModel.EndHour.ToUniversalTime(); trainingDay.Unit = Utils.IntToEnum <TUnitType>(viewModel.Unit); return(trainingDay); }
public static TrainingDayViewModel TrainingDayToViewModel(TrainingDay trainingDay, UserInfo userInfo) { var result = new TrainingDayViewModel() { UserId = trainingDay.UserId, Year = trainingDay.Year, WeekOfYear = trainingDay.WeekOfYear, DayOfWeek = trainingDay.DayOfWeek, TrainingDayId = trainingDay.TrainingDayId }; //convert date to user timezone var timeZoneInfo = TimeZoneMapper.GetTimeZoneByOlsonName(userInfo.TimeZoneName); if (timeZoneInfo == null) timeZoneInfo = TimeZoneInfo.Local; result.BeginHour = TimeZoneInfo.ConvertTime(trainingDay.BeginHour, timeZoneInfo); result.EndHour = TimeZoneInfo.ConvertTime(trainingDay.EndHour, timeZoneInfo); return result; }
public static TrainingDayViewModel TrainingDayToViewModel(TrainingDay trainingDay, UserInfo userInfo) { //convert date to user timezone var timeZoneInfo = TimeZoneMapper.GetTimeZoneByOlsonName(userInfo.TimeZoneName); if (timeZoneInfo == null) { timeZoneInfo = TimeZoneInfo.Local; } var result = new TrainingDayViewModel() { UserId = trainingDay.UserId, Year = trainingDay.Year, WeekOfYear = trainingDay.WeekOfYear, DayOfWeek = trainingDay.DayOfWeek, TrainingDayId = trainingDay.TrainingDayId, BeginHour = TimeZoneInfo.ConvertTime(trainingDay.BeginHour, timeZoneInfo), EndHour = TimeZoneInfo.ConvertTime(trainingDay.EndHour, timeZoneInfo), Unit = (int)trainingDay.Unit }; if (trainingDay.TrainingExercises != null) { foreach (var trainingExercise in trainingDay.TrainingExercises) { if (result.RegroupExerciseUnitType == null) { result.RegroupExerciseUnitType = trainingExercise.ExerciseUnitType; } else if (result.RegroupExerciseUnitType != trainingExercise.ExerciseUnitType) { result.RegroupExerciseUnitType = null; // Mixt, stop foreach break; } } } return(result); }