public ActionResult <RequestDeliveryDTO> GetRequestDelivery(int id)
        {
            RequestDeliveryDTO item = repository.Get(id);

            if (item == null)
            {
                return(NotFound());
            }
            return(item);
        }
        public RequestDeliveryDTO Get(int id)
        {
            using IDbConnection db = new SqlConnection(connectionString);

            const string       query  = "SELECT * FROM RequestDeliverys WHERE Id = @Id";
            RequestDeliveryDTO entity = mapper.Map <RequestDeliveryDTO>(db.QueryFirstOrDefault <RequestDelivery>(query, new { Id = id }));

            LoadReferences(db, entity);

            return(entity);
        }
        private void LoadReferences(IDbConnection db, RequestDeliveryDTO entity)
        {
            const string shopQuery = "SELECT * FROM Shops WHERE Id = @ShopId";

            entity.Shop = mapper.Map <ShopDTO>(db.QueryFirst <Shop>(shopQuery, entity));

            const string warehouseQuery = "SELECT * FROM WHERE Id = @WarehouseId";

            entity.Warehouse = mapper.Map <WarehouseDTO>(db.QueryFirst <Warehouse>(warehouseQuery, entity));

            const string productsQuery = "SELECT p.* FROM Products as p INNER JOIN DeliveryItems as di ON p.Id = di.ProductId WHERE di.RequestDeliveryId = @Id";

            entity.Products = mapper.Map <List <ProductDTO> >(db.Query <Product>(productsQuery, entity));
        }