public async Task <IActionResult> Create(OptionalGroupModel model)
        {
            var username = ApplicationUtility.GetTokenAttribute(Request.Headers["Authorization"], "sub");
            var service  = new StudentClassificationRepository(connString);
            await service.CreateGroup(model, username);

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

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

                var cmd = new MySqlCommand("Create_OptionalGroup", _connection);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("InstititueIdVal", model.InstituteId);
                cmd.Parameters.AddWithValue("NameVal", model.Name);
                cmd.Parameters.AddWithValue("DescriptionVal", model.Description);
                cmd.Parameters.AddWithValue("CreatedByValue", actor);
                cmd.ExecuteNonQuery();
            }
            catch { throw; }
            finally { await _connection.CloseAsync(); }
        }