public Models.Workout.WorkoutAdvice Create(Models.Requests.Workout.WorkoutAdviceCreate adviceCreate, UserInfo userInfo) { Client dbClient = _context.Clients.Find(adviceCreate.ClientId); if (dbClient == null) { throw new ResourceNotFoundException($"Client with id {adviceCreate.ClientId} not found"); } if (userInfo.Role == "EMPLOYEE") { Trainer dbTrainer = _context.Trainers.Find(adviceCreate.TrainerId); if (dbTrainer == null) { throw new ResourceNotFoundException($"Trainer with id {adviceCreate.TrainerId} not found"); } } else { adviceCreate.TrainerId = userInfo.Id; } WorkoutAdvice dbWorkoutAdvice = WorkoutAdviceMapper.toDb(adviceCreate); _context.WorkoutAdvices.Add(dbWorkoutAdvice); _context.SaveChanges(); return(GetById(dbWorkoutAdvice.Id)); }
public WorkoutAdviceCreateForm(string accessToken, WorkoutAdvice workoutAdvice) { InitializeComponent(); _accessToken = accessToken; _workoutAdvice = workoutAdvice; _trainerApiService = new ApiService("trainers", _accessToken); _clientApiService = new ApiService("clients", _accessToken); _workoutAdviceApiService = new ApiService("workoutAdvice", _accessToken); _ = initFormData(); }
public void Update(int id, Models.Requests.Workout.WorkoutAdviceCreate adviceCreate, UserInfo userInfo) { WorkoutAdvice dbWorkoutAdvice = _context.WorkoutAdvices.Find(id); if (dbWorkoutAdvice == null) { throw new ResourceNotFoundException($"Workout advice with id {id} not found"); } Client dbClient = _context.Clients.Find(adviceCreate.ClientId); if (dbClient == null) { throw new ResourceNotFoundException($"Client with id {adviceCreate.ClientId} not found"); } if (userInfo.Role == "TRAINER") { adviceCreate.TrainerId = userInfo.Id; } Trainer dbTrainer = _context.Trainers.Find(adviceCreate.TrainerId); if (dbTrainer == null) { throw new ResourceNotFoundException($"Trainer with id {adviceCreate.TrainerId} not found"); } if (userInfo.Role == "TRAINER") { if (dbWorkoutAdvice.TrainerId != userInfo.Id) { throw new OperationNowAllowedException(); } } if (adviceCreate.Message != null) { dbWorkoutAdvice.Message = adviceCreate.Message; } if (adviceCreate.ClientId != null) { dbWorkoutAdvice.ClientId = adviceCreate.ClientId; } if (adviceCreate.TrainerId != null) { dbWorkoutAdvice.TrainerId = adviceCreate.TrainerId; } _context.WorkoutAdvices.Update(dbWorkoutAdvice); _context.SaveChanges(); }
private void DgvAdvices_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e) { int selectedRowIndex = dgvAdvices.CurrentCell.RowIndex; int id = int.Parse(dgvAdvices.Rows[selectedRowIndex].Cells[0].Value.ToString()); WorkoutAdvice workoutAdvice = _workoutAdvices.Where(x => x.Id == id).FirstOrDefault(); WorkoutAdviceCreateForm workoutForm = new WorkoutAdviceCreateForm(_accessToken, workoutAdvice); workoutForm.MdiParent = this.MdiParent; workoutForm.WindowState = FormWindowState.Maximized; workoutForm.ControlBox = false; workoutForm.MaximizeBox = false; workoutForm.MinimizeBox = false; workoutForm.ShowIcon = false; workoutForm.Show(); }
public void Delete(int id, UserInfo userInfo) { WorkoutAdvice dbWorkoutAdvice = _context.WorkoutAdvices.Find(id); if (dbWorkoutAdvice == null) { throw new ResourceNotFoundException($"Workout advice with id {id} not found"); } if (userInfo.Role == "TRAINER") { if (dbWorkoutAdvice.TrainerId != userInfo.Id) { throw new OperationNowAllowedException(); } } _context.WorkoutAdvices.Remove(dbWorkoutAdvice); _context.SaveChanges(); }
public WorkoutAdviceCreateViewModel(WorkoutAdvice workoutAdvice) { string token = (string)Application.Current.Properties["access_token"]; clientsApiService = new ApiService("clients", token); workoutAdviceApiService = new ApiService("workoutAdvice", token); WorkoutAdvice = workoutAdvice; if (WorkoutAdvice != null) { AdviceContent = WorkoutAdvice.Message; } SaveAdviceCommand = new Command(async() => { EntryErrorVissible = false; PickerErrorVissible = false; if (string.IsNullOrEmpty(AdviceContent)) { EntryErrorVissible = true; } if (Client == null) { PickerErrorVissible = true; } if (PickerErrorVissible || EntryErrorVissible) { return; } WorkoutAdviceCreate adviceCreate = new WorkoutAdviceCreate { ClientId = Client.Id, Message = AdviceContent }; if (WorkoutAdvice != null) { await workoutAdviceApiService.Update <WorkoutAdvice>(WorkoutAdvice.Id, adviceCreate); } else { await workoutAdviceApiService.Create <WorkoutAdvice>(adviceCreate); } EntryErrorVissible = false; PickerErrorVissible = false; await Navigation.PopAsync(); await Navigation.PushAsync(new WorkoutAdviceTrainerPage()); }); DeleteAdviceCommand = new Command(async() => { await workoutAdviceApiService.Delete(WorkoutAdvice.Id); await Navigation.PopAsync(); await Navigation.PushAsync(new WorkoutAdviceTrainerPage()); }); }
public WorkoutAdviceCreatePage(WorkoutAdvice workoutAdvice) { InitializeComponent(); BindingContext = WorkoutAdviceCreateViewModel = new WorkoutAdviceCreateViewModel(workoutAdvice); WorkoutAdviceCreateViewModel.Navigation = Navigation; }