public async Task <DivingTimePoco> AddAsync(DivingTimePoco poco)
        {
            var parameters = new
            {
                p_diver_id        = poco.DiverId,
                p_year            = poco.Year,
                p_working_minutes = poco.WorkingMinutes
            };

            var sql = "with ins as (INSERT into diving_hours(diver_id, year, working_minutes) VALUES(@p_diver_id, @p_year, @p_working_minutes) returning *) select * from ins left join divers d on ins.diver_id = d.diver_id";

            using (IDbConnection conn = Connection)
            {
                var addedTimePoco =
                    (await conn.QueryAsync <DivingTimePoco, DiverPoco, DivingTimePoco>(sql, (time, diver) =>
                {
                    time.Diver = diver;

                    return(time);
                },
                                                                                       splitOn: "diver_id",
                                                                                       param: parameters))
                    .FirstOrDefault();

                return(addedTimePoco);
            }
        }
        public async Task <DivingTimePoco> UpdateAsync(DivingTimePoco poco)
        {
            var parameters = new
            {
                p_diver_id        = poco.DiverId,
                p_year            = poco.Year,
                p_working_minutes = poco.WorkingMinutes
            };

            string sql = "UPDATE diving_hours set working_minutes = @p_working_minutes where diver_id = @p_diver_id and year = @p_year returning *;";


            using (IDbConnection conn = Connection)
            {
                var updatedTimePoco = (await conn.QueryAsync <DivingTimePoco>(sql, parameters)).FirstOrDefault();

                return(updatedTimePoco);
            }
        }