public static async Task <bool> ShowAsync(TrainingWeek originTrainingWeek, BaseViewModel parent = null) { var viewModel = new CopyTrainingWeekViewModel(); viewModel._originTrainingWeek = originTrainingWeek; return(await ShowModalViewModelAsync(viewModel, parent)); }
private void ConfirmClose(object sender, RoutedEventArgs e) { string text = ((ComboBoxItem)fatique_combo.SelectedItem).Content.ToString(); int fatique; if (text == "low") { fatique = 24; } else if (text == "medium") { fatique = 40; } else if (text == "high") { fatique = 56; } else { fatique = 72; } string squat_primary = ((ComboBoxItem)squat_primary_combo.SelectedItem).Content.ToString(); string bench_primary = ((ComboBoxItem)bench_primary_combo.SelectedItem).Content.ToString(); string deadlift_primary = ((ComboBoxItem)deadlift_primary_combo.SelectedItem).Content.ToString(); MainWorkouts main_workouts = new MainWorkouts(bench_primary, deadlift_primary, squat_primary); TrainingWeek new_week = new TrainingWeek(template_path, trainingBlock.GetBlockType(), fatique, main_workouts); trainingBlock.GetTrainingWeeks().Add(new_week); this.Close(); }
private void ChangeIDForNewTrainingWeek(TrainingWeek trainingWeek, int oldTrainingYear, int oldTrainingWeek, int newTrainingYear, int newTrainingWeek) { trainingWeek.Year = newTrainingYear; trainingWeek.WeekOfYear = newTrainingWeek; if (trainingWeek.TrainingDays != null) { foreach (var trainginDay in trainingWeek.TrainingDays) { trainginDay.Year = newTrainingYear; trainginDay.WeekOfYear = newTrainingWeek; if (trainginDay.TrainingExercises != null) { foreach (var trainginsExercise in trainginDay.TrainingExercises) { trainginsExercise.Year = newTrainingYear; trainginsExercise.WeekOfYear = newTrainingWeek; if (trainginsExercise.TrainingExerciseSets != null) { foreach (var set in trainginsExercise.TrainingExerciseSets) { set.Year = newTrainingYear; set.WeekOfYear = newTrainingWeek; } } } } } } }
private async Task <bool> SaveDataAsync() { TrainingWeek trainingWeek = null; if (EditMode == TEditMode.Create) { trainingWeek = await TrainingWeekWebService.CreateTrainingWeekAsync(TrainingWeek); if (trainingWeek != null) { var trainingWeekScenario = new TrainingWeekScenario() { ManageTrainingDay = true }; _trainingWeekService.UpdateTrainingWeek(trainingWeek, trainingWeekScenario); } } else { var trainingWeekScenario = new TrainingWeekScenario() { ManageTrainingDay = false }; trainingWeek = await TrainingWeekWebService.UpdateTrainingWeekAsync(TrainingWeek, trainingWeekScenario); if (trainingWeek != null) { _trainingWeekService.UpdateTrainingWeek(trainingWeek, trainingWeekScenario); } } return(trainingWeek != null); }
private async Task CreateNewTrainingWeekActionAsync() { try { var userInfo = UserData.Instance.UserInfo; if (userInfo == null) { userInfo = new UserInfo(); } DateTime dateTime = DateTime.Now; var trainingWeek = new TrainingWeek() { UserId = userInfo.UserId, Year = dateTime.Year, WeekOfYear = CultureInfo.CurrentCulture.Calendar.GetWeekOfYear(dateTime, CalendarWeekRule.FirstFullWeek, DayOfWeek.Monday), UserHeight = userInfo.Height, UserWeight = userInfo.Weight, Unit = userInfo.Unit }; if (await EditTrainingWeekViewModel.ShowAsync(trainingWeek, TEditMode.Create, this)) { //Refresh data RetreiveLocalData(); SynchronizeData(); } } catch (Exception except) { await _userDialog.AlertAsync(except.Message, Translation.Get(TRS.ERROR), Translation.Get(TRS.OK)); } }
public static async Task <bool> ShowAsync(TrainingWeek trainingWeek, TEditMode editMode, BaseViewModel parent = null) { var viewModel = new EditTrainingWeekViewModel(); viewModel.TrainingWeek = trainingWeek; viewModel.EditMode = editMode; return(await ShowModalViewModelAsync(viewModel, parent)); }
public async Task CopyTrainingDayActionAsync(DayOfWeek dayOfWeek) { if (TrainingWeek == null) { return; } try { var trainingDayKey = new TrainingDayKey() { UserId = TrainingWeek.UserId, Year = TrainingWeek.Year, WeekOfYear = TrainingWeek.WeekOfYear, DayOfWeek = (int)dayOfWeek }; List <GenericData> datas = new List <GenericData>(); foreach (DayOfWeek dayOfWeekTmp in Enum.GetValues(typeof(DayOfWeek))) { if (dayOfWeekTmp != dayOfWeek) { datas.Add(new GenericData() { Tag = (int)dayOfWeekTmp, Name = Translation.Get(dayOfWeekTmp.ToString().ToUpper()) }); } } var result = await ListViewModel.ShowGenericListAsync(Translation.Get(TRS.DAY_OF_WEEK), datas, null, this); if (result.Validated && result.SelectedData != null) { int dayOfWeekSelected = (int)result.SelectedData.Tag; //Copy day on server await TrainingDayWebService.CopyDayOfTrainingDay(trainingDayKey, dayOfWeekSelected); //Reload updated TrainingWeek on server var updatedTrainingWeek = await TrainingWeekWebService.GetTrainingWeekAsync(TrainingWeek, true); if (updatedTrainingWeek != null) { var trainingWeekService = new TrainingWeekService(DbContext); var trainingWeekScenario = new TrainingWeekScenario() { ManageTrainingDay = true }; trainingWeekService.UpdateTrainingWeek(updatedTrainingWeek, trainingWeekScenario); //Update UI TrainingWeek = updatedTrainingWeek; await SynchronizeDataAsync(); } } } catch (Exception except) { await _userDialog.AlertAsync(except.Message, Translation.Get(TRS.ERROR), Translation.Get(TRS.OK)); } }
public static async Task <TrainingWeek> UpdateTrainingWeekAsync(TrainingWeek trainingWeek, TrainingWeekScenario trainingWeekScenario) { var trainingWeekWithScenario = new TrainingWeekWithScenario() { TrainingWeek = trainingWeek, TrainingWeekScenario = trainingWeekScenario }; return(await HttpConnector.Instance.PostAsync <TrainingWeekWithScenario, TrainingWeek> ("Api/TrainingWeeks/Update", trainingWeekWithScenario)); }
public static async Task <bool> ShowAsync(TrainingWeek trainingWeek, BaseViewModel parent = null) { bool result = false; if (trainingWeek != null) { var viewModel = new TrainingWeekViewModel(); viewModel.TrainingWeek = trainingWeek; result = await ShowModalViewModelAsync(viewModel, parent); } return(result); }
/// <summary> /// Create data in database /// </summary> /// <param name="trainingJournal">Data</param> /// <returns>insert data</returns> public TrainingWeek Create(TrainingWeek trainingJournal) { if (trainingJournal == null || string.IsNullOrWhiteSpace(trainingJournal.UserId) || trainingJournal.Year == 0 || trainingJournal.WeekOfYear == 0) return null; var row = new TrainingWeekRow(); TrainingWeekTransformer.ToRow(trainingJournal, row); _dbContext.TrainingWeek.Add(row); _dbContext.SaveChanges(); return TrainingWeekTransformer.ToBean(row); }
public static void ToRow(TrainingWeek bean, TrainingWeekRow row) { if (bean == null) return; row.UserId = bean.UserId; row.Year = bean.Year; row.WeekOfYear = bean.WeekOfYear; row.UserHeight = bean.UserHeight; row.UserWeight = bean.UserWeight; row.Unit = (int)bean.Unit; row.ModificationDate = DbUtils.DateToUtc(Utils.DateTimeWithoutMs); // Set modificationDate }
/// <summary> /// Create data in database /// </summary> /// <param name="trainingJournal">Data</param> /// <returns>insert data</returns> public TrainingWeek Create(TrainingWeek trainingJournal) { if (trainingJournal == null || string.IsNullOrWhiteSpace(trainingJournal.UserId) || trainingJournal.Year == 0 || trainingJournal.WeekOfYear == 0) { return(null); } var row = new TrainingWeekRow(); TrainingWeekTransformer.ToRow(trainingJournal, row); _dbContext.Insert(row); return(TrainingWeekTransformer.ToBean(row)); }
private void FillWeekOfYearDescription(TrainingWeek trainingWeek) { if (trainingWeek != null && trainingWeek.WeekOfYear > 0) { DateTime date = Utils.YearWeekToPlanningDateTime(trainingWeek.Year, trainingWeek.WeekOfYear); string dateStr = string.Format(Translation.Get(TRS.FROM_THE_P0TH_TO_THE_P1TH_OF_P2_P3), date.Day, date.AddDays(6).Day, Translation.Get(((TMonthType)date.Month).ToString().ToUpper()), date.Year); trainingWeek.WeekOfYearDescription = dateStr; } else { trainingWeek.WeekOfYearDescription = string.Empty; } }
public bool CopyTrainingWeek(string currentUserId, CopyTrainingWeek copyTrainingWeek, out TrainingWeek newTrainingWeek) { newTrainingWeek = null; if (string.IsNullOrWhiteSpace(copyTrainingWeek.UserId) || copyTrainingWeek.OriginYear == 0 || copyTrainingWeek.OriginWeekOfYear == 0 || copyTrainingWeek.Year == 0 || copyTrainingWeek.WeekOfYear == 0 || currentUserId != copyTrainingWeek.UserId) return false; bool result = false; //Verify valid week of year if (copyTrainingWeek.WeekOfYear > 0 && copyTrainingWeek.WeekOfYear <= 52 && !(copyTrainingWeek.Year == copyTrainingWeek.OriginYear && copyTrainingWeek.WeekOfYear == copyTrainingWeek.OriginWeekOfYear)) { //check if new trainingWeek exist var trainingWeekScenario = new TrainingWeekScenario() { ManageTrainingDay = false }; var trainingWeekKey = new TrainingWeekKey() { UserId = copyTrainingWeek.UserId, Year = copyTrainingWeek.Year, WeekOfYear = copyTrainingWeek.WeekOfYear }; var trainingWeek = GetTrainingWeek(trainingWeekKey, trainingWeekScenario); if (trainingWeek != null) throw new ErrorException(string.Format(Translation.P0_ALREADY_EXIST, Translation.TRAINING_WEEK)); // Check if origin training week exist trainingWeekScenario = new TrainingWeekScenario() { ManageTrainingDay = true, TrainingDayScenario = new TrainingDayScenario() { ManageExercise = true } }; trainingWeekKey = new TrainingWeekKey() { UserId = copyTrainingWeek.UserId, Year = copyTrainingWeek.OriginYear, WeekOfYear = copyTrainingWeek.OriginWeekOfYear }; trainingWeek = GetTrainingWeek(trainingWeekKey, trainingWeekScenario); if (trainingWeek == null) throw new ErrorException(string.Format(Translation.P0_NOT_EXIST, Translation.TRAINING_WEEK)); //Change ids of origin training week/exercise/day etc.. for new trainingweek ChangeIDForNewTrainingWeek(trainingWeek, copyTrainingWeek.OriginYear, copyTrainingWeek.OriginWeekOfYear, copyTrainingWeek.Year, copyTrainingWeek.WeekOfYear); // Create data in database (with update for Security existing old data in database) trainingWeek = UpdateTrainingWeek(trainingWeek, trainingWeekScenario); if (trainingWeek == null) { throw new ErrorException(string.Format(Translation.IMPOSSIBLE_TO_CREATE_P0, Translation.TRAINING_WEEK)); } else { result = true; newTrainingWeek = trainingWeek; } } return result; }
internal static TrainingWeek ToBean(TrainingWeekRow row) { if (row == null) return null; var bean = new TrainingWeek(); bean.UserId = row.UserId; bean.Year = row.Year; bean.WeekOfYear = row.WeekOfYear; bean.UserHeight = row.UserHeight; bean.UserWeight = row.UserWeight; bean.Unit = Utils.IntToEnum<TUnitType>(row.Unit); bean.ModificationDate = DbUtils.DbDateToUtc(row.ModificationDate); return bean; }
public static void ToRow(TrainingWeek bean, TrainingWeekRow row) { if (bean == null) { return; } row.UserId = bean.UserId; row.Year = bean.Year; row.WeekOfYear = bean.WeekOfYear; row.UserHeight = bean.UserHeight; row.UserWeight = bean.UserWeight; row.Unit = (int)bean.Unit; row.ModificationDate = bean.ModificationDate; }
public static void ToRow(TrainingWeek bean, TrainingWeekRow row) { if (bean == null) { return; } row.UserId = bean.UserId; row.Year = bean.Year; row.WeekOfYear = bean.WeekOfYear; row.UserHeight = bean.UserHeight; row.UserWeight = bean.UserWeight; row.Unit = (int)bean.Unit; row.ModificationDate = DbUtils.DateToUtc(Utils.DateTimeWithoutMs); // Set modificationDate }
internal TrainingWeek UpdateTrainingWeek(TrainingWeek trainingWeek, TrainingWeekScenario trainingWeekScenario) { DbContext.ChangeTracker.AutoDetectChangesEnabled = false; TrainingWeek trainingWeekResult = null; trainingWeekResult = _trainingWeekModule.Update(trainingWeek); if (trainingWeekScenario != null && trainingWeekScenario.ManageTrainingDay) { var trainingDayCriteria = new TrainingDayCriteria() { UserId = new StringCriteria() { Equal = trainingWeek.UserId }, Year = new IntegerCriteria() { Equal = trainingWeek.Year }, WeekOfYear = new IntegerCriteria() { Equal = trainingWeek.WeekOfYear } }; var userUnit = AppUtils.GetUserUnit(_userInfosService, trainingWeek.UserId); var trainingDaysDb = _trainingDayService.FindTrainingDay(userUnit, trainingDayCriteria, trainingWeekScenario.TrainingDayScenario); if (trainingDaysDb != null && trainingDaysDb.Count > 0) { foreach (var trainingDayDb in trainingDaysDb) { _trainingDayService.DeleteTrainingDay(trainingDayDb); } } if (trainingWeek.TrainingDays != null) { trainingWeekResult.TrainingDays = new List <TrainingDay>(); foreach (var trainingDay in trainingWeek.TrainingDays) { trainingWeekResult.TrainingDays.Add(_trainingDayService.UpdateTrainingDay(trainingDay, trainingWeekScenario.TrainingDayScenario)); } } } DbContext.ChangeTracker.DetectChanges(); DbContext.SaveChanges(); DbContext.ChangeTracker.AutoDetectChangesEnabled = true; return(trainingWeekResult); }
internal TrainingWeek UpdateTrainingWeek(TrainingWeek trainingWeek, TrainingWeekScenario trainingWeekScenario) { TrainingWeek trainingWeekResult = null; trainingWeekResult = _trainingWeekModule.Update(trainingWeek); if (trainingWeekScenario != null && trainingWeekScenario.ManageTrainingDay) { var trainingDayScenario = new TrainingDayScenario() { ManageExercise = true }; var trainingDayCriteria = new TrainingDayCriteria() { UserId = new StringCriteria() { Equal = trainingWeek.UserId }, Year = new IntegerCriteria() { Equal = trainingWeek.Year }, WeekOfYear = new IntegerCriteria() { Equal = trainingWeek.WeekOfYear } }; var trainingDaysDb = _trainingDaysService.FindTrainingDay(AppUtils.GetUserUnit(_userInfosService, trainingWeek.UserId), trainingDayCriteria, trainingDayScenario); if (trainingDaysDb != null && trainingDaysDb.Count > 0) { foreach (var trainingDayDb in trainingDaysDb) { _trainingDaysService.DeleteTrainingDay(trainingDayDb); } } if (trainingWeek.TrainingDays != null) { trainingWeekResult.TrainingDays = new List <TrainingDay>(); foreach (var trainingDay in trainingWeek.TrainingDays) { trainingWeekResult.TrainingDays.Add(_trainingDaysService.UpdateTrainingDay(trainingDay, trainingWeekScenario.TrainingDayScenario)); } } } return(trainingWeekResult); }
protected virtual IEnumerable <UserTrainingDay> GenerateTrainingDays(TrainingWeek baseTrainingWeek, IReadOnlyList <DateTime> dates, Guid parentId) { var generatedTrainingDays = new List <UserTrainingDay>(); var baseTrainingDays = baseTrainingWeek.TrainingDays.ToArray(); for (var i = 0; i < baseTrainingWeek.TrainingDays.Count(); i++) { var generatedTrainingDay = GenerateTrainingDay(baseTrainingDays[i], dates[i], baseTrainingWeek.WeekNumber); generatedTrainingDay.TrainingWeekId = parentId; generatedTrainingDays.Add(generatedTrainingDay); } return(generatedTrainingDays); }
private async Task <bool> SaveDataAsync() { bool result = false; TrainingWeek trainingWeek = await TrainingWeekWebService.CopyTrainingWeekAsync(CopyTrainingWeek); if (trainingWeek != null) { var trainingWeekScenario = new TrainingWeekScenario() { ManageTrainingDay = true }; _trainingWeekService.UpdateTrainingWeek(trainingWeek, trainingWeekScenario); result = true; } return(result); }
internal TrainingWeek CreateTrainingWeek(TrainingWeek trainingWeek) { TrainingWeek trainingWeekResult = null; trainingWeekResult = _trainingWeekModule.Create(trainingWeek); if (trainingWeek.TrainingDays != null) { trainingWeekResult.TrainingDays = new List <TrainingDay>(); foreach (var trainingDay in trainingWeek.TrainingDays) { trainingWeekResult.TrainingDays.Add(_trainingDayService.CreateTrainingDay(trainingDay)); } } return(trainingWeekResult); }
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 IActionResult Create([FromBody] TrainingWeek trainingWeek) { try { if (trainingWeek == null || trainingWeek.UserId != SessionUserId) { return(BadRequest()); } var result = _trainingWeeksService.CreateTrainingWeek(trainingWeek); return(new OkObjectResult(result)); } catch (Exception exception) { return(BadRequest(new WebApiException("Error", exception))); } }
internal static TrainingWeek ToBean(TrainingWeekRow row) { if (row == null) { return(null); } var bean = new TrainingWeek(); bean.UserId = row.UserId; bean.Year = row.Year; bean.WeekOfYear = row.WeekOfYear; bean.UserHeight = row.UserHeight; bean.UserWeight = row.UserWeight; bean.Unit = Utils.IntToEnum <TUnitType>(row.Unit); bean.ModificationDate = DbUtils.DbDateToUtc(row.ModificationDate); return(bean); }
private UserTrainingWeek CreateWeek(TrainingWeek trainingWeek, DateTime weekDate) { var week = new UserTrainingWeek { Id = Guid.NewGuid(), Number = trainingWeek.Number, Days = new List <UserTrainingDay>() }; var previousDayOfWeek = 0; var trainingDate = weekDate.Date; foreach (var day in trainingWeek.Days) { week.Days.Add(CreateDay(day, trainingDate)); trainingDate = trainingDate.AddDays(day.DayOfWeek - previousDayOfWeek).Date; previousDayOfWeek = day.DayOfWeek; } return(week); }
protected virtual TrainingWeek GenerateTrainingWeek(TrainingWeek baseTrainingWeek, DateTime startingDate) { var baseDates = baseTrainingWeek.TrainingDays.Select(d => d.Date) .OrderBy(d => d.Date) .ToArray(); var newDates = startingDate.StartingFromGetDatesWithSameDayOfWeek(baseDates); var generatedTrainingWeek = new TrainingWeek { Id = Guid.NewGuid(), StartingDate = startingDate, EndingDate = startingDate.AddDays(6), IsDeload = baseTrainingWeek.IsDeload, WeekNumber = baseTrainingWeek.WeekNumber }; generatedTrainingWeek.TrainingDays = GenerateTrainingDays(baseTrainingWeek, newDates, generatedTrainingWeek.Id); return(generatedTrainingWeek); }
public TrainingWeek CreateTrainingWeek(TrainingWeek trainingWeek) { TrainingWeek result = null; BeginTransaction(); try { result = GetTrainingWeekManager().CreateTrainingWeek(trainingWeek); CommitTransaction(); } catch { RollbackTransaction(); throw; } finally { EndTransaction(); } return(result); }
private void FillWeekDays(TrainingWeek trainingWeek) { foreach (var bindingWeekTrainingDay in BindingWeekTrainingDays) { bindingWeekTrainingDay.TrainingDayExist = false; } if (trainingWeek != null && trainingWeek.TrainingDays != null) { foreach (var trainingDay in trainingWeek.TrainingDays) { foreach (var bindingWeekTrainingDay in BindingWeekTrainingDays) { if (trainingDay.DayOfWeek == (int)bindingWeekTrainingDay.DayOfWeek) { bindingWeekTrainingDay.TrainingDayExist = true; } } } } }
public TrainingWeek UpdateTrainingWeek(TrainingWeek trainingWeek, TrainingWeekScenario trainingWeekScenario) { TrainingWeek result = null; BeginTransaction(); try { result = GetTrainingWeekManager().UpdateTrainingWeek(trainingWeek, trainingWeekScenario); CommitTransaction(); } catch { RollbackTransaction(); throw; } finally { EndTransaction(); } return(result); }
public bool CopyTrainingWeek(string currentUserId, CopyTrainingWeek copyTrainingWeek, out TrainingWeek newTrainingWeek) { bool result = false; BeginTransaction(); try { result = GetTrainingWeekManager().CopyTrainingWeek(currentUserId, copyTrainingWeek, out newTrainingWeek); CommitTransaction(); result = true; } catch (Exception exception) { _logger.LogCritical("Unable to copy training week", exception); RollbackTransaction(); throw exception; } finally { EndTransaction(); } return result; }
/// <summary> /// Update data in database /// </summary> /// <param name="trainingJournal">data</param> /// <returns>updated data</returns> public TrainingWeek Update(TrainingWeek trainingJournal) { if (trainingJournal == null || string.IsNullOrWhiteSpace(trainingJournal.UserId) || trainingJournal.Year == 0 || trainingJournal.WeekOfYear == 0) { return(null); } var trainingJournalRow = _dbContext.TrainingWeek.Where(t => t.UserId == trainingJournal.UserId && t.Year == trainingJournal.Year && t.WeekOfYear == trainingJournal.WeekOfYear).FirstOrDefault(); if (trainingJournalRow == null) { // No data in database return(Create(trainingJournal)); } else { //Modify Data in database TrainingWeekTransformer.ToRow(trainingJournal, trainingJournalRow); _dbContext.SaveChanges(); return(TrainingWeekTransformer.ToBean(trainingJournalRow)); } }
public TrainingWeek CreateTrainingWeek(TrainingWeek trainingWeek) { TrainingWeek result = null; //Create data in database BeginTransaction(); try { result = GetTrainingWeekManager().CreateTrainingWeek(trainingWeek); CommitTransaction(); } catch (Exception exception) { _logger.LogCritical("Unable to create training week", exception); RollbackTransaction(); throw exception; } finally { EndTransaction(); } return result; }
public TrainingWeek UpdateTrainingWeek(TrainingWeek trainingWeek, TrainingWeekScenario trainingWeekScenario) { TrainingWeek result = null; BeginTransaction(); try { result = GetTrainingWeekManager().UpdateTrainingWeek(trainingWeek, trainingWeekScenario); CommitTransaction(); } catch (Exception exception) { _logger.LogCritical("Unable to update training week", exception); RollbackTransaction(); throw exception; } finally { EndTransaction(); } return(result); }
private void CompleteTrainingWeekWithTrainingDay(TrainingWeek trainingWeek, TrainingDayScenario trainingDayScenario) { if (trainingWeek != null) { var trainingDayCriteria = new TrainingDayCriteria() { UserId = new StringCriteria() { Equal = trainingWeek.UserId }, Year = new IntegerCriteria() { Equal = trainingWeek.Year }, WeekOfYear = new IntegerCriteria() { Equal = trainingWeek.WeekOfYear }, }; trainingWeek.TrainingDays = _trainingDaysService.FindTrainingDay(AppUtils.GetUserUnit(_userInfosService, trainingWeek.UserId), trainingDayCriteria, trainingDayScenario); } }
private TrainingWeek CreateWeek(int number, int daysBreak) { var week = new TrainingWeek { Id = Guid.NewGuid(), Number = number, Days = new List <TrainingDay>() }; var dayOfWeek = 1; for (var i = 0; i < 7; i++) { if (dayOfWeek > 7) { break; } week.Days.Add(CreateDay(dayOfWeek)); dayOfWeek += daysBreak; } return(week); }
/// <summary> /// Update data in database /// </summary> /// <param name="trainingWeek">data</param> /// <returns>updated data</returns> public TrainingWeek Update(TrainingWeek trainingWeek) { if (trainingWeek == null || string.IsNullOrWhiteSpace(trainingWeek.UserId) || trainingWeek.Year == 0 || trainingWeek.WeekOfYear == 0) { return(null); } var trainingWeekRow = _dbContext.Table <TrainingWeekRow>().Where(t => t.UserId == trainingWeek.UserId && t.Year == trainingWeek.Year && t.WeekOfYear == trainingWeek.WeekOfYear).FirstOrDefault(); if (trainingWeekRow == null) { // No data in database return(Create(trainingWeek)); } else { //Modify Data in database TrainingWeekTransformer.ToRow(trainingWeek, trainingWeekRow); _dbContext.Delete(trainingWeekRow); //Update don't work... need delete and insert _dbContext.Insert(trainingWeekRow); return(TrainingWeekTransformer.ToBean(trainingWeekRow)); } }
/// <summary> /// Update data in database /// </summary> /// <param name="trainingJournal">data</param> /// <returns>updated data</returns> public TrainingWeek Update(TrainingWeek trainingJournal) { if (trainingJournal == null || string.IsNullOrWhiteSpace(trainingJournal.UserId) || trainingJournal.Year == 0 || trainingJournal.WeekOfYear == 0) return null; var trainingJournalRow = _dbContext.TrainingWeek.Where(t => t.UserId == trainingJournal.UserId && t.Year == trainingJournal.Year && t.WeekOfYear == trainingJournal.WeekOfYear).FirstOrDefault(); if (trainingJournalRow == null) { // No data in database return Create(trainingJournal); } else { //Modify Data in database TrainingWeekTransformer.ToRow(trainingJournal, trainingJournalRow); _dbContext.SaveChanges(); return TrainingWeekTransformer.ToBean(trainingJournalRow); } }
private void CompleteTrainingWeekWithTrainingDay(TrainingWeek trainingWeek, TrainingDayScenario trainingDayScenario) { if (trainingWeek != null) { var trainingDayCriteria = new TrainingDayCriteria() { UserId = new StringCriteria() { Equal = trainingWeek.UserId }, Year = new IntegerCriteria() { Equal = trainingWeek.Year }, WeekOfYear = new IntegerCriteria() { Equal = trainingWeek.WeekOfYear }, }; trainingWeek.TrainingDays = _trainingDaysService.FindTrainingDay(trainingDayCriteria, trainingDayScenario); } }
internal TrainingWeek UpdateTrainingWeek(TrainingWeek trainingWeek, TrainingWeekScenario trainingWeekScenario) { TrainingWeek trainingWeekResult = null; trainingWeekResult = _trainingWeekModule.Update(trainingWeek); if (trainingWeekScenario != null && trainingWeekScenario.ManageTrainingDay) { var trainingDayScenario = new TrainingDayScenario() { ManageExercise = true }; var trainingDayCriteria = new TrainingDayCriteria() { UserId = new StringCriteria() { Equal = trainingWeek.UserId }, Year = new IntegerCriteria() { Equal = trainingWeek.Year }, WeekOfYear = new IntegerCriteria() { Equal = trainingWeek.WeekOfYear } }; var trainingDaysDb = _trainingDaysService.FindTrainingDay(trainingDayCriteria, trainingDayScenario); if (trainingDaysDb != null && trainingDaysDb.Count > 0) { foreach (var trainingDayDb in trainingDaysDb) _trainingDaysService.DeleteTrainingDay(trainingDayDb); } if (trainingWeek.TrainingDays != null) { trainingWeekResult.TrainingDays = new List<TrainingDay>(); foreach (var trainingDay in trainingWeek.TrainingDays) { trainingWeekResult.TrainingDays.Add(_trainingDaysService.UpdateTrainingDay(trainingDay, trainingWeekScenario.TrainingDayScenario)); } } } return trainingWeekResult; }
public TrainingWeek UpdateTrainingWeek(TrainingWeek trainingWeek, TrainingWeekScenario trainingWeekScenario) { TrainingWeek result = null; BeginTransaction(); try { result = GetTrainingWeekManager().UpdateTrainingWeek(trainingWeek, trainingWeekScenario); CommitTransaction(); } catch (Exception exception) { _logger.LogCritical("Unable to update training week", exception); RollbackTransaction(); throw exception; } finally { EndTransaction(); } return result; }
internal TrainingWeek CreateTrainingWeek(TrainingWeek trainingWeek) { TrainingWeek trainingWeekResult = null; trainingWeekResult = _trainingWeekModule.Create(trainingWeek); if (trainingWeek.TrainingDays != null) { trainingWeekResult.TrainingDays = new List<TrainingDay>(); foreach (var trainingDay in trainingWeek.TrainingDays) { trainingWeekResult.TrainingDays.Add(_trainingDaysService.CreateTrainingDay(trainingDay)); } } return trainingWeekResult; }
// // GET: /Report/TrainingDayReport/Index public IActionResult Index(string userId, int year, int weekOfYear, int dayOfWeek, int? trainingDayId, bool displayImages, string userIdViewer) { var userInfo = _userInfosService.GetUserInfo(new UserInfoKey() { UserId = userId }); if (userInfo == null) userInfo = new UserInfo(); var trainingWeekKey = new TrainingWeekKey() { UserId = userId, Year = year, WeekOfYear = weekOfYear }; var trainingWeekScenario = new TrainingWeekScenario() { ManageTrainingDay = true, TrainingDayScenario = new TrainingDayScenario() { ManageExercise = true } }; var trainingWeek = _trainingWeeksService.GetTrainingWeek(trainingWeekKey, trainingWeekScenario); if (trainingWeek == null) trainingWeek = new TrainingWeek(); //Unit viewer convertion if (string.IsNullOrEmpty(userIdViewer)) { userIdViewer = SessionUserId; } var viewerUnit = GetUserUnit(userIdViewer); var userUnit = GetUserUnit(userId); trainingWeek.UserHeight = Utils.TransformLengthToUnitSytem(userUnit, viewerUnit, trainingWeek.UserHeight); trainingWeek.UserWeight = Utils.TransformWeightToUnitSytem(userUnit, viewerUnit, trainingWeek.UserWeight); var trainingWeekViewModel = TrainingViewModelTransformer.TrainingWeekToViewModel(trainingWeek, _usersService); List<TrainingDayViewModel> trainingDayViewModels = null; List<TrainingExerciseViewModel> trainingExerciseViewModels = null; if (trainingWeek != null && trainingWeek.TrainingDays != null && trainingWeek.TrainingDays.Count > 0) { trainingDayViewModels = new List<TrainingDayViewModel>(); foreach (var trainingDay in trainingWeek.TrainingDays) { if (!trainingDayId.HasValue || trainingDay.TrainingDayId == trainingDayId) { if (trainingDay.DayOfWeek == dayOfWeek) { // Get only current trainingDayViewModels.Add(TrainingViewModelTransformer.TrainingDayToViewModel(trainingDay, userInfo)); var trainingExercises = FindTrainingExercise(trainingDay); if (trainingExercises != null) { foreach (var trainingExercise in trainingExercises) { //Convert user Unit to viewer unit if (trainingExercise.TrainingExerciseSets != null) { foreach (var set in trainingExercise.TrainingExerciseSets) set.Weight = Utils.TransformWeightToUnitSytem(userUnit, viewerUnit, set.Weight); } if (trainingExerciseViewModels == null) trainingExerciseViewModels = new List<TrainingExerciseViewModel>(); trainingExerciseViewModels.Add(TrainingViewModelTransformer.TrainingExerciseToViewModel(trainingExercise, _bodyExercisesService)); } } } } } } ViewBag.DayOfWeek = dayOfWeek; ViewBag.displayImages = displayImages; ViewBag.ViewerUnit = viewerUnit; return View(new Tuple<TrainingWeekViewModel, List<TrainingDayViewModel>, List<TrainingExerciseViewModel>>(trainingWeekViewModel, trainingDayViewModels, trainingExerciseViewModels)); }
public IActionResult Create() { var userInfo = _userInfosService.GetUserInfo(new UserInfoKey() { UserId = SessionUserId }); if (userInfo == null) userInfo = new UserInfo(); var timeZoneInfo = TimeZoneMapper.GetTimeZoneByOlsonName(userInfo.TimeZoneName); if (timeZoneInfo == null) timeZoneInfo = TimeZoneInfo.Local; DateTime dateTime = TimeZoneInfo.ConvertTime(DateTime.Now, timeZoneInfo); var trainingWeek = new TrainingWeek(); trainingWeek.UserId = SessionUserId; trainingWeek.Year = dateTime.Year; trainingWeek.WeekOfYear = CultureInfo.CurrentCulture.Calendar.GetWeekOfYear(dateTime, CalendarWeekRule.FirstFullWeek, DayOfWeek.Monday); trainingWeek.UserHeight = userInfo.Height; trainingWeek.UserWeight = userInfo.Weight; trainingWeek.Unit = userInfo.Unit; ViewBag.UserUnit = userInfo.Unit; return View(TrainingViewModelTransformer.TrainingWeekToViewModel(trainingWeek, _usersService)); }
private TrainingWeek TransformViewModelToTrainingWeek(TrainingWeekViewModel viewModel) { TrainingWeek trainingJournal = new TrainingWeek(); trainingJournal.UserId = viewModel.UserId; trainingJournal.Year = viewModel.Year; trainingJournal.WeekOfYear = viewModel.WeekOfYear; trainingJournal.UserHeight = viewModel.UserHeight; trainingJournal.UserWeight = viewModel.UserWeight; trainingJournal.Unit = Utils.IntToEnum<TUnitType>(viewModel.Unit); return trainingJournal; }