public async Task <IActionResult> Put(int id, OptionalGroupUpdateModel model)
        {
            var username = ApplicationUtility.GetTokenAttribute(Request.Headers["Authorization"], "sub");
            var service  = new StudentClassificationRepository(connString);
            await service.UpdateGroup(id, model, username);

            var response = new GenericResponse <string>()
            {
                IsSuccess    = true,
                Message      = "Optional group updated successfully.",
                ResponseCode = 200,
                Result       = "Success"
            };

            return(Ok(response));
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="id"></param>
        /// <param name="model"></param>
        /// <param name="actor"></param>
        /// <returns></returns>
        public async Task UpdateGroup(int id, OptionalGroupUpdateModel model, string actor)
        {
            try
            {
                await _connection.OpenAsync();

                var cmd = new MySqlCommand("Update_OptionalGroup", _connection);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("GroupId", id);
                cmd.Parameters.AddWithValue("NameVal", model.Name);
                cmd.Parameters.AddWithValue("DescriptionVal", model.Description);
                cmd.Parameters.AddWithValue("ModifiedByValue", actor);
                cmd.ExecuteNonQuery();
            }
            catch { throw; }
            finally { await _connection.CloseAsync(); }
        }