Skip to content
Original file line number Diff line number Diff line change
@@ -1,11 +1,18 @@
package bg.softuni.invoice.model.bind;

import org.hibernate.validator.constraints.Length;

import jakarta.validation.constraints.Pattern;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.validator.constraints.Length;

import static bg.softuni.invoice.constant.ErrorMsg.*;
import static bg.softuni.invoice.constant.ErrorMsg.ADDRESS_MIN_LENGTH;
import static bg.softuni.invoice.constant.ErrorMsg.NAME_MIN_LENGTH;
import static bg.softuni.invoice.constant.ErrorMsg.STRING_MIN_LENGTH;
import static bg.softuni.invoice.constant.ErrorMsg.UNIQUE_IDENTIFIER_LENGTH;
import static bg.softuni.invoice.constant.ErrorMsg.UNIQUE_IDENTIFIER_REGEX;

@Setter
@Getter
public class CompanyAddBindingModel {

@Length(min = STRING_MIN_LENGTH, message = NAME_MIN_LENGTH)
Expand All @@ -17,27 +24,4 @@ public class CompanyAddBindingModel {
@Pattern(regexp = UNIQUE_IDENTIFIER_REGEX, message = UNIQUE_IDENTIFIER_LENGTH)
private String uniqueIdentifier;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getAddress() {
return address;
}

public void setAddress(String address) {
this.address = address;
}

public String getUniqueIdentifier() {
return uniqueIdentifier;
}

public void setUniqueIdentifier(String uniqueIdentifier) {
this.uniqueIdentifier = uniqueIdentifier;
}
}
Original file line number Diff line number Diff line change
@@ -1,12 +1,20 @@
package bg.softuni.invoice.model.bind;

import org.hibernate.validator.constraints.Length;

import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.validator.constraints.Length;

import static bg.softuni.invoice.constant.ErrorMsg.*;
import static bg.softuni.invoice.constant.ErrorMsg.ADDRESS_MIN_LENGTH;
import static bg.softuni.invoice.constant.ErrorMsg.NAME_MIN_LENGTH;
import static bg.softuni.invoice.constant.ErrorMsg.STRING_MIN_LENGTH;
import static bg.softuni.invoice.constant.ErrorMsg.SUPPLIER_NOT_NULL;
import static bg.softuni.invoice.constant.ErrorMsg.UNIQUE_IDENTIFIER_LENGTH;
import static bg.softuni.invoice.constant.ErrorMsg.UNIQUE_IDENTIFIER_REGEX;

@Setter
@Getter
public class CompanyEditBindingModel {

private String id;
Expand All @@ -23,43 +31,4 @@ public class CompanyEditBindingModel {
@NotNull(message = SUPPLIER_NOT_NULL)
private boolean supplier;

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getAddress() {
return address;
}

public void setAddress(String address) {
this.address = address;
}

public String getUniqueIdentifier() {
return uniqueIdentifier;
}

public void setUniqueIdentifier(String uniqueIdentifier) {
this.uniqueIdentifier = uniqueIdentifier;
}

public boolean isSupplier() {
return supplier;
}

public void setSupplier(boolean supplier) {
this.supplier = supplier;
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
package bg.softuni.invoice.model.service;

import lombok.Getter;
import lombok.Setter;

@Setter
@Getter
public class CompanyServiceModel {

private String id;
Expand All @@ -8,43 +13,4 @@ public class CompanyServiceModel {
private String uniqueIdentifier;
private boolean supplier;

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getAddress() {
return address;
}

public void setAddress(String address) {
this.address = address;
}

public String getUniqueIdentifier() {
return uniqueIdentifier;
}

public void setUniqueIdentifier(String uniqueIdentifier) {
this.uniqueIdentifier = uniqueIdentifier;
}

public boolean isSupplier() {
return supplier;
}

public void setSupplier(boolean supplier) {
this.supplier = supplier;
}
}
44 changes: 5 additions & 39 deletions src/main/java/bg/softuni/invoice/model/view/CompanyViewModel.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
package bg.softuni.invoice.model.view;

import lombok.Getter;
import lombok.Setter;

@Setter
@Getter
public class CompanyViewModel {

private String id;
Expand All @@ -8,43 +13,4 @@ public class CompanyViewModel {
private String uniqueIdentifier;
private boolean supplier;

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getAddress() {
return address;
}

public void setAddress(String address) {
this.address = address;
}

public String getUniqueIdentifier() {
return uniqueIdentifier;
}

public void setUniqueIdentifier(String uniqueIdentifier) {
this.uniqueIdentifier = uniqueIdentifier;
}

public boolean isSupplier() {
return supplier;
}

public void setSupplier(boolean supplier) {
this.supplier = supplier;
}
}
Original file line number Diff line number Diff line change
@@ -1,23 +1,13 @@
package bg.softuni.invoice.model.view;

import lombok.Getter;
import lombok.Setter;

@Setter
@Getter
public class CompanyViewSelectModel {

private String id;
private String name;

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,26 +5,21 @@
import bg.softuni.invoice.model.service.CompanyServiceModel;
import bg.softuni.invoice.repository.CompanyRepository;
import bg.softuni.invoice.service.CompanyService;
import lombok.RequiredArgsConstructor;
import org.modelmapper.ModelMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

import static bg.softuni.invoice.constant.ErrorMsg.COMPANY_NOT_FOUND;

@Service
@RequiredArgsConstructor
public class CompanyServiceImpl implements CompanyService {

private final CompanyRepository companyRepository;
private final ModelMapper modelMapper;

@Autowired
public CompanyServiceImpl(CompanyRepository companyRepository, ModelMapper modelMapper) {
this.companyRepository = companyRepository;
this.modelMapper = modelMapper;
}

@Override
public CompanyServiceModel getCompanyByName(String name) {
return this.companyRepository
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,25 @@
import bg.softuni.invoice.service.CompanyService;
import bg.softuni.invoice.web.annotation.PageTitle;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import org.modelmapper.ModelMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;

import java.util.Comparator;
import java.util.List;

@Controller
@RequestMapping("/company")
@RequiredArgsConstructor
public class CompanyController {

private static final String COMPANY_ADD_BINDING_MODEL = "companyAddBindingModel";
Expand All @@ -32,12 +37,6 @@ public class CompanyController {
private final CompanyService companyService;
private final ModelMapper modelMapper;

@Autowired
public CompanyController(CompanyService companyService, ModelMapper modelMapper) {
this.companyService = companyService;
this.modelMapper = modelMapper;
}

@GetMapping("/add")
@PageTitle("Company add")
@PreAuthorize("hasRole('ADMIN')")
Expand Down