public IActionResult AddProgram([FromBody] DTO.ExProgram dataProgram) { try { ExProgram program = _userPrograms.CreateProgram(dataProgram.Name); return(Ok(new { program.Id })); } catch (Exception e) { return(BadRequest(e.Message)); } }
public Day CreateDay(int programId, string dayName) { ExProgram program = _context.Programs.FirstOrDefault(n => n.Id == programId && _user.Id == n.User.Id); if (program == null || dayName == null) { throw new UnableToCreateDay("Unable to create day"); } Day day = new Day(); day.Name = dayName; day.Program = program; _context.Days.Add(day); _context.SaveChanges(); return(day); }
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Edit ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public void EditProgram(int programId, string programName) { try { ExProgram program = _context.Programs.FirstOrDefault(n => n.Id == programId && _user.Id == n.User.Id); if (program == null || programName == null) { throw new System.Exception(); } program.Name = programName; _context.SaveChanges(); } catch { throw new DoesNotMatchIdException("Program does not belong to user"); } }
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Create ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public ExProgram CreateProgram(string progrName) { // checking if user was found and provided program name is not null User user = _user; if (user == null || progrName == null) { throw new UnableToCreateAProgram("Unable to create a program"); } ExProgram program = new ExProgram(); program.Name = progrName; program.User = user; _context.Programs.Add(program); _context.SaveChanges(); return(program); }
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Delete ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ public void DeleteProgram(int programId) { ExProgram program = _context.Programs.FirstOrDefault(n => n.Id == programId && _user.Id == n.User.Id); //Also need to delete all the days in the program IF the program contains any if (_context.Days.FirstOrDefault(n => n.Program.Id == programId) != null && _user.Id == program.User.Id) { foreach (Day day in _context.Days.Where(n => n.Program.Id == programId).ToList()) { //Also need to delete all the exercises from that day IF the day contains any if (_context.Exercises.FirstOrDefault(n => n.Day.Id == day.Id) != null) { foreach (Exercise ex in _context.Exercises.Where(n => n.Day.Id == day.Id).ToList()) { _context.Exercises.Remove(ex); } } _context.Days.Remove(day); } } _context.Programs.Remove(program); _context.SaveChanges(); }