| | | 1 | | using Microsoft.Data.SqlClient; |
| | | 2 | | using Microsoft.EntityFrameworkCore; |
| | | 3 | | using OzonRepositories.Context; |
| | | 4 | | using System.Data; |
| | | 5 | | |
| | | 6 | | namespace OzonRepositories.Data |
| | | 7 | | { |
| | | 8 | | public class DuplicateOrdersRepository : MainRepository |
| | | 9 | | { |
| | 0 | 10 | | public DuplicateOrdersRepository(ApplicationDbContext orderContext) : base(orderContext) |
| | | 11 | | { |
| | 0 | 12 | | } |
| | | 13 | | public (int?, int?) DeleteDuplicateOrders() |
| | | 14 | | { |
| | 0 | 15 | | var duplicateCountParam = new SqlParameter("@DuplicateCount", SqlDbType.Int) |
| | 0 | 16 | | { |
| | 0 | 17 | | Direction = ParameterDirection.Output |
| | 0 | 18 | | }; |
| | | 19 | | |
| | 0 | 20 | | var deletedRowsCountParam = new SqlParameter("@DeletedRowsCount", SqlDbType.Int) |
| | 0 | 21 | | { |
| | 0 | 22 | | Direction = ParameterDirection.Output |
| | 0 | 23 | | }; |
| | | 24 | | |
| | | 25 | | try |
| | | 26 | | { |
| | 0 | 27 | | _context.Database.ExecuteSqlRaw("DeleteDuplicateOrders @DuplicateCount OUTPUT, @DeletedRowsCount OUTPUT" |
| | 0 | 28 | | duplicateCountParam, deletedRowsCountParam); |
| | | 29 | | |
| | 0 | 30 | | int? duplicateCount = duplicateCountParam.Value != DBNull.Value ? (int)duplicateCountParam.Value : 0; |
| | 0 | 31 | | int? deletedRowsCount = deletedRowsCountParam.Value != DBNull.Value ? (int)deletedRowsCountParam.Value : |
| | | 32 | | |
| | 0 | 33 | | return (duplicateCount, deletedRowsCount); |
| | | 34 | | } |
| | 0 | 35 | | catch (Exception) |
| | | 36 | | { |
| | 0 | 37 | | return (-1, -1); |
| | | 38 | | } |
| | 0 | 39 | | } |
| | | 40 | | } |
| | | 41 | | } |