Advertisement
purshink

Andrays

Feb 20th, 2021
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.95 KB | None | 0 0
  1. package com.example.demo.service.impl;
  2.  
  3. import com.example.demo.model.entity.Item;
  4. import com.example.demo.model.entity.enums.CategoryEnum;
  5. import com.example.demo.model.entity.enums.GenderEnum;
  6. import com.example.demo.model.service.ItemAddServiceModel;
  7. import com.example.demo.repository.ItemRepository;
  8. import com.example.demo.service.CategoryService;
  9. import com.example.demo.service.ItemService;
  10. import com.example.demo.view.ItemDetailsViewModel;
  11. import com.example.demo.view.ItemViewModel;
  12. import org.modelmapper.ModelMapper;
  13. import org.springframework.stereotype.Service;
  14.  
  15. import java.util.ArrayList;
  16. import java.util.List;
  17. import java.util.Optional;
  18.  
  19. @Service
  20. public class ItemServiceImpl implements ItemService {
  21.     private final ModelMapper modelMapper;
  22.     private final ItemRepository itemRepository;
  23.     private final CategoryService categoryService;
  24.  
  25.     public ItemServiceImpl(ModelMapper modelMapper, ItemRepository itemRepository, CategoryService categoryService) {
  26.         this.modelMapper = modelMapper;
  27.         this.itemRepository = itemRepository;
  28.         this.categoryService = categoryService;
  29.     }
  30.  
  31.  
  32.     @Override
  33.     public void add(ItemAddServiceModel itemAddServiceModel) {
  34.         Item item = modelMapper.map(itemAddServiceModel, Item.class);
  35.         item.setCategory(this.categoryService.findByName(itemAddServiceModel.getCategory()));
  36.         this.itemRepository.save(item);
  37.  
  38.     }
  39.  
  40.     @Override
  41.     public long getItemsCount() {
  42.         return this.itemRepository.count();
  43.     }
  44.  
  45.     @Override
  46.     public List<ItemViewModel> findAllItems() {
  47.         List<Item> items = this.itemRepository.findAll();
  48.         List<ItemViewModel> itemViewModels = new ArrayList<>();
  49.  
  50.         for (Item item : items) {
  51.             ItemViewModel itemViewModel = this.modelMapper.map(item, ItemViewModel.class);
  52.  
  53.  
  54.             itemViewModel.setImgUrl(findImgUrl(item, item.getGender(), item.getCategory().getName()));
  55.  
  56.             itemViewModels.add(itemViewModel);
  57.  
  58.         }
  59.  
  60.  
  61.         return itemViewModels;
  62.     }
  63.  
  64.     private String findImgUrl(Item item, GenderEnum gender, CategoryEnum name) {
  65.         if(item.getGender().equals(GenderEnum.MALE) && item.getCategory().getName().equals(CategoryEnum.DENIM)){
  66.             return "/img/MALE-DENIM.jpg";
  67.         }
  68.         else if(item.getGender().equals(GenderEnum.MALE) && item.getCategory().getName().equals(CategoryEnum.JACKET)){
  69.            return "/img/MALE-JACKET.jpg";
  70.         }
  71.         else     if(item.getGender().equals(GenderEnum.MALE) && item.getCategory().getName().equals(CategoryEnum.SHIRT)){
  72.            return "/img/MALE-SHIRT.jpg";
  73.         }
  74.         else     if(item.getGender().equals(GenderEnum.MALE) && item.getCategory().getName().equals(CategoryEnum.SHORTS)){
  75.            return "/img/MALE-SHORTS.jpg";
  76.         }
  77.         else     if(item.getGender().equals(GenderEnum.FEMALE) && item.getCategory().getName().equals(CategoryEnum.DENIM)){
  78.             return "/img/FEMALE-DENIM.jpg";
  79.         }
  80.         else     if(item.getGender().equals(GenderEnum.FEMALE) && item.getCategory().getName().equals(CategoryEnum.JACKET)){
  81.            return "/img/FEMALE-JACKET.jpg";
  82.         }
  83.         else     if(item.getGender().equals(GenderEnum.FEMALE) && item.getCategory().getName().equals(CategoryEnum.SHIRT)){
  84.             return "/img/FEMALE-SHIRT.jpg";
  85.         }
  86.         else {
  87.             return "/img/FEMALE-SHORTS.jpg";
  88.         }
  89.  
  90.     }
  91.  
  92.     @Override
  93.     public ItemDetailsViewModel findItemDetailsById(String id) {
  94.         Optional<Item> item = this.itemRepository.findById(id);
  95.  
  96.  
  97.         ItemDetailsViewModel itemDetailsViewModel = this.modelMapper.map(item.get(), ItemDetailsViewModel.class);
  98.         itemDetailsViewModel.setImageUrl(findImgUrl(item.get(), item.get().getGender(), item.get().getCategory().getName()));
  99.         return itemDetailsViewModel;
  100.     }
  101.  
  102.     @Override
  103.     public void buyById(String id) {
  104.             this.itemRepository.deleteById(id);
  105.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement