Index: src/main/java/com/example/autopartz/controller/AdminController.java
===================================================================
--- src/main/java/com/example/autopartz/controller/AdminController.java	(revision 4d67d70d3028de867bfdd92dc719ccab5c2cfc27)
+++ src/main/java/com/example/autopartz/controller/AdminController.java	(revision 84652fb373c673944a12d219fd490af5cae5a0ac)
@@ -5,4 +5,5 @@
 import com.example.autopartz.model.manytomany.PartIsFromCategory;
 import com.example.autopartz.model.manytomany.PartIsInStockInWarehouse;
+import com.example.autopartz.model.manytomany.RsForCm;
 import com.example.autopartz.repository.*;
 import com.example.autopartz.service.PriceService;
@@ -15,5 +16,4 @@
 import java.io.IOException;
 import java.time.LocalDate;
-import java.time.LocalDateTime;
 import java.util.List;
 import java.util.Objects;
@@ -23,4 +23,5 @@
 public class AdminController {
     private final UserService userService;
+    private final CarManufacturerRepository carManufacturerRepository;
     private final PartIsFromCategoryRepository partIsFromCategoryRepository;
     private final PartIsAppropriateForCarRepository partIsAppropriateForCarRepository;
@@ -34,7 +35,10 @@
     private final PartManufacturerRepository partManufacturerRepository;
     private final PriceService priceService;
-
-    public AdminController(UserService userService, PartIsFromCategoryRepository partIsFromCategoryRepository, PartIsAppropriateForCarRepository partIsAppropriateForCarRepository, WarehousemanRepository warehousemanRepository, PartIsInStockInWarehouseRepository partIsInStockInWarehouseRepository, DeliverymanRepository deliverymanRepository, CategoryRepository categoryRepository, PartRepository partRepository, WarehouseRepository warehouseRepository, CarRepository carRepository, PartManufacturerRepository partManufacturerRepository, PriceService priceService) {
+    private final RepairShopRepository repairShopRepository;
+    private final RsForCmRepository rsForCmRepository;
+
+    public AdminController(UserService userService, CarManufacturerRepository carManufacturerRepository, PartIsFromCategoryRepository partIsFromCategoryRepository, PartIsAppropriateForCarRepository partIsAppropriateForCarRepository, WarehousemanRepository warehousemanRepository, PartIsInStockInWarehouseRepository partIsInStockInWarehouseRepository, DeliverymanRepository deliverymanRepository, CategoryRepository categoryRepository, PartRepository partRepository, WarehouseRepository warehouseRepository, CarRepository carRepository, PartManufacturerRepository partManufacturerRepository, PriceService priceService, RepairShopRepository repairShopRepository, RsForCmRepository rsForCmRepository) {
         this.userService = userService;
+        this.carManufacturerRepository = carManufacturerRepository;
         this.partIsFromCategoryRepository = partIsFromCategoryRepository;
         this.partIsAppropriateForCarRepository = partIsAppropriateForCarRepository;
@@ -48,4 +52,6 @@
         this.partManufacturerRepository = partManufacturerRepository;
         this.priceService = priceService;
+        this.repairShopRepository = repairShopRepository;
+        this.rsForCmRepository = rsForCmRepository;
     }
 
@@ -115,3 +121,100 @@
         }
     }
+    @GetMapping("/addCarManufacturer")
+    public String getCarManView(Model model){
+        model.addAttribute("bodyContent","addCarManufacturer");
+        return "master-template";
+    }
+    @PostMapping("/addCarManufacturer")
+    public void saveCarManufacturer(@RequestParam String name,@RequestParam String location,
+                                    Model model, HttpServletResponse response) {
+        carManufacturerRepository.save(new CarManufacturer(name,location));
+        try {
+            response.sendRedirect("/");
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
+    @GetMapping("/addPartManufacturer")
+    public String getPartManView(Model model){
+        model.addAttribute("bodyContent","addPartManufacturer");
+        return "master-template";
+    }
+    @PostMapping("/addPartManufacturer")
+    public void savePartManufacturer(@RequestParam String name,@RequestParam String location,
+                                    Model model, HttpServletResponse response) {
+        partManufacturerRepository.save(new PartManufacturer(name,location));
+        try {
+            response.sendRedirect("/");
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
+    @GetMapping("/addCategory")
+    public String getCategoryView(Model model){
+        model.addAttribute("bodyContent","addCategory");
+        return "master-template";
+    }
+    @PostMapping("/addCategory")
+    public void saveCategory(@RequestParam String name,
+                                    Model model, HttpServletResponse response) {
+        categoryRepository.save(new Category(name));
+        try {
+            response.sendRedirect("/");
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
+    @GetMapping("/addCar")
+    public String getCarView(Model model){
+        model.addAttribute("bodyContent","addCar");
+        model.addAttribute("manufacturers",carManufacturerRepository.findAll());
+        return "master-template";
+    }
+    @PostMapping("/addCar")
+    public void saveCar(@RequestParam Integer since,@RequestParam Integer till,
+                             @RequestParam String name,@RequestParam Integer mId,
+                                HttpServletResponse response) {
+        carRepository.save(new Car(since,till,name,carManufacturerRepository.findById(mId).get()));
+        try {
+            response.sendRedirect("/");
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
+    @GetMapping("/addRepairShop")
+    public String getRepairShopView(Model model){
+        model.addAttribute("bodyContent","addRepairShop");
+        model.addAttribute("manufacturers",carManufacturerRepository.findAll());
+        return "master-template";
+    }
+    @PostMapping("/addRepairShop")
+    public void saveRepairShop(@RequestParam String name,@RequestParam String location,
+                        @RequestParam String number,@RequestParam Integer carMId,
+                        HttpServletResponse response) {
+        RepairShop newRs = new RepairShop(name,location,number,
+                List.of(carManufacturerRepository.findById(carMId).get()));
+        repairShopRepository.save(newRs);
+        rsForCmRepository.save(new RsForCm(newRs.getId(), carMId));
+        try {
+            response.sendRedirect("/");
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
+    @GetMapping("/addWarehouse")
+    public String getWarehouseView(Model model){
+        model.addAttribute("bodyContent","addWarehouse");
+        return "master-template";
+    }
+    @PostMapping("/addWarehouse")
+    public void saveWarehouse(@RequestParam String name,
+                        HttpServletResponse response) {
+        warehouseRepository.save(new Warehouse(name));
+        try {
+            response.sendRedirect("/");
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
 }
