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));
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }
Пример #5
0
        // 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);
        }
Пример #6
0
        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);
        }