public async Task Delete(int id)
 {
     using (var conn = new SqlConnection(AppSettings.ConnectionString))
     {
         var sql = new TurnoversSql();
         await conn.ExecuteAsync(sql.Delete(id));
     }
 }
 public async Task <Turnover> ById(int id)
 {
     using (var conn = new SqlConnection(AppSettings.ConnectionString))
     {
         var sql = new TurnoversSql();
         return(await conn.QueryFirstOrDefaultAsync <Turnover>(sql.ById(id)));
     }
 }
        public async Task <Turnover> Add(Turnover turnover)
        {
            using (var conn = new SqlConnection(AppSettings.ConnectionString))
            {
                var sql = new TurnoversSql();
                var id  = await conn.QueryFirstOrDefaultAsync <int>(sql.Add(turnover.DirectionId, turnover.Name));

                return(await ById(id));
            }
        }
        public async Task <Turnover> Update(Turnover turnover)
        {
            using (var conn = new SqlConnection(AppSettings.ConnectionString))
            {
                var sql = new TurnoversSql();
                await conn.ExecuteAsync(sql.Update(turnover.DirectionId, turnover.Name, turnover.Id));

                return(await ById(turnover.Id));
            }
        }
        public async Task <TurnoversPaging> GetAll(int skip, int limit, string filter)
        {
            var sql = new TurnoversSql();

            CreateSqlFilterQuery(skip, limit, filter, out var sqlQueryData, out var sqlQueryCount, sql);

            using (var conn = new SqlConnection(AppSettings.ConnectionString))
            {
                var result = await conn.QueryAsync <Turnover>(sqlQueryData);

                var count = await conn.ExecuteScalarAsync <int>(sqlQueryCount);

                var output = new TurnoversPaging
                {
                    Data  = result.ToList(),
                    Total = count
                };

                return(output);
            }
        }