/
CustomerManager.cs
75 lines (63 loc) · 2.27 KB
/
CustomerManager.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
using Business.Abstract;
using Business.Constants;
using Business.ValidationRules.FluentValidation;
using Core.Aspects.Autofac.Validation;
using Core.CrossCuttingConcerns.Validation;
using Core.Utilities.Results.Abstract;
using Core.Utilities.Results.Concrete;
using DataAccess.Abstract;
using Entities.Concrete;
using Entities.DTO;
using System;
using System.Collections.Generic;
using System.Text;
namespace Business.Concrete
{
public class CustomerManager : ICustomerService
{
ICustomerDal _customerDal;
public CustomerManager(ICustomerDal customerDal)
{
_customerDal = customerDal;
}
[ValidationAspect(typeof(CustomerValidator))]
public IResult Add(Customer customer)
{
ValidationTool.Validate(new CustomerValidator(), customer);
_customerDal.Add(customer);
return new SuccessResult(Messages.CustomerAdded);
}
public IResult Delete(Customer customer)
{
_customerDal.Delete(customer);
return new SuccessResult(Messages.CustomerDeleted);
}
public IDataResult<List<Customer>> GetAll()
{
return new SuccessDataResult<List<Customer>> (_customerDal.GetAll());
}
public IDataResult<Customer> GetByCompanyName(string companyName)
{
return new SuccessDataResult<Customer> (_customerDal.Get(c => c.CompanyName == companyName));
}
public IDataResult<Customer> GetById(int id)
{
return new SuccessDataResult<Customer>(_customerDal.Get(c => c.Id == id));
}
public IDataResult<Customer> GetByUserId(int userId)
{
return new SuccessDataResult<Customer> (_customerDal.Get(c => c.UserId == userId));
}
public IDataResult<List<CustomerDetailDto>> GetCustomerDetails()
{
return new SuccessDataResult<List<CustomerDetailDto>>(_customerDal.GetCustomerDetails());
}
[ValidationAspect(typeof(CustomerValidator))]
public IResult Update(Customer customer)
{
ValidationTool.Validate(new CustomerValidator(), customer);
_customerDal.Update(customer);
return new SuccessResult(Messages.CustomerUpdated);
}
}
}