public IActionResult AddPracticePlan(PracticePlan newPracticePlan) { var currentUserId = _userRepo.GetUserIdByUid(UserId); var newPracticePlanObject = _practicePlanRepo.AddPracticePlan(currentUserId, newPracticePlan); return(Created($"/api/practiceplans/{newPracticePlan.PlanId}", newPracticePlanObject)); }
public IActionResult UpdatePracticePlan(int planId, PracticePlan updatedPPObject) { var currentUserId = _userRepo.GetUserIdByUid(UserId); var updatedPracticePlan = _practicePlanRepo.UpdatePracticePlan(planId, updatedPPObject, currentUserId); return(Ok(updatedPracticePlan)); }
public PracticePlan UpdatePracticePlan(int planId, PracticePlan updatedPpObject, int userId) { using var db = new SqlConnection(_connectionString); var sqlToUpdatePracticePlan = @"UPDATE [dbo].[PracticePlans] SET [Name] = @name ,[UserId] = @userId ,[StartDate] = @startDate ,[EndDate] = @endDate ,[IsActive] = @isActive OUTPUT INSERTED.* WHERE Id = @planId"; var parametersForUpdatedPracticePlan = new { updatedPpObject.Name, userId, updatedPpObject.StartDate, updatedPpObject.EndDate, updatedPpObject.IsActive, planId, }; var updatedPracticePlan = db.QueryFirstOrDefault <PracticePlan>(sqlToUpdatePracticePlan, parametersForUpdatedPracticePlan); return(updatedPracticePlan); }
public PracticePlan GetPracticePlanById(int planId) { using var db = new SqlConnection(_connectionString); var sqlForSinglePlan = "select Id as PlanId, Name, StartDate, EndDate, IsActive, UserId from PracticePlans where Id = @planId"; var parameterForPlanId = new { planId }; PracticePlan selectedPlan = db.QueryFirstOrDefault <PracticePlan>(sqlForSinglePlan, parameterForPlanId); if (selectedPlan != null) { var sqlForPracticeGamesByPlanId = @"select ppg.Name as PracticeName, ppg.Id, pp.Id as PracticePlanId, g.Id as GameId, g.Name as GameName, PracticeDate, ppg.IsCompleted, ppg.IsActive, ppg.UserNotes from PracticePlans pp join PracticePlanGames ppg on pp.Id = ppg.PracticePlanId join Games g on g.Id = ppg.GameId where pp.Id = @planId AND pp.IsActive = 1 AND ppg.IsActive = 1 order by PracticeDate desc"; var gamesForThisPlan = db.Query <PracticePlanGameWithGameName>(sqlForPracticeGamesByPlanId, parameterForPlanId); List <PracticePlanGameWithGameName> gamesList = gamesForThisPlan.ToList(); selectedPlan.plannedGames.AddRange(gamesList); } return(selectedPlan); }
// added a new method that returns the new object created: public PracticePlan AddPracticePlanAndReturnFullObject(int id, PracticePlan newPracticePlan) { using var db = new SqlConnection(_connectionString); var sqlToAddNewPracticePlan = @"INSERT INTO [dbo].[PracticePlans] ([Name] ,[UserId] ,[StartDate] ,[EndDate] ,[IsActive]) OUTPUT INSERTED.Id VALUES (@name ,@userId ,@startDate ,@endDate ,1)"; var parametersForNewPracticePlan = new { name = newPracticePlan.Name, userId = id, startDate = newPracticePlan.StartDate, endDate = newPracticePlan.EndDate }; var newPracticePlanObject = db.QueryFirstOrDefault <PracticePlan>(sqlToAddNewPracticePlan, parametersForNewPracticePlan); return(newPracticePlanObject); }
public int AddPracticePlan(int id, PracticePlan newPracticePlan) { using var db = new SqlConnection(_connectionString); var sqlToAddNewPracticePlan = @"INSERT INTO [dbo].[PracticePlans] ([Name] ,[UserId] ,[StartDate] ,[EndDate] ,[IsActive]) OUTPUT INSERTED.Id VALUES (@name ,@userId ,@startDate ,@endDate ,1)"; var parametersForNewPracticePlan = new { name = newPracticePlan.Name, userId = id, startDate = newPracticePlan.StartDate, endDate = newPracticePlan.EndDate }; var newId = db.ExecuteScalar <int>(sqlToAddNewPracticePlan, parametersForNewPracticePlan); return(newId); }