Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using BeerOverflow.Data;
- using BeerOverflow.Models;
- using BeerOverflow.Services.DTO;
- using BeerOverflow.Services.Provider.Contracts;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace BeerOverflow.Services
- {
- public class BeerService
- {
- private readonly IDateTimeProvider dateTimeProvider;
- public BeerService(IDateTimeProvider dateTimeProvider)
- {
- this.dateTimeProvider = dateTimeProvider ?? throw new ArgumentNullException(nameof(dateTimeProvider));
- }
- public BeerDTO GetBeer(int id)
- {
- var beer = Database.Beers
- .Where(beer => beer.IsDeleted == false)
- .FirstOrDefault(beer => beer.BeerID == id);
- if (beer == null)
- {
- throw new ArgumentNullException();
- }
- var beerDTO = new BeerDTO
- {
- BeerID = beer.BeerID,
- Name = beer.Name,
- Type = beer.Type,
- Brewery = beer.Brewery,
- Country = beer.Country,
- AlcoholPerecentage = beer.AlcoholPerecentage,
- };
- return beerDTO;
- }
- public BeerDTO CreateBeer(BeerDTO beerDTO)
- {
- var beer = new Beer
- {
- BeerID = beerDTO.BeerID,
- Name = beerDTO.Name,
- Type = beerDTO.Type,
- Brewery = beerDTO.Brewery,
- Country = beerDTO.Country,
- AlcoholPerecentage = beerDTO.AlcoholPerecentage,
- // CreatedOn = this.dateTimeProvider.GetDateTime(),
- };
- Database.Beers.Add(beer);
- return beerDTO;
- }
- public BeerDTO UpdateBeer(int id, string newName, string newType,
- Brewery newBrewery, Country newCountry, double newAlcoholPerecentage)
- {
- var beer = Database.Beers
- .Where(beer => beer.IsDeleted == false)
- .FirstOrDefault(beer => beer.BeerID == id);
- beer.Name = newName;
- beer.Type = newType;
- beer.Brewery = newBrewery;
- beer.Country = newCountry;
- beer.AlcoholPerecentage = newAlcoholPerecentage;
- //beer.ModifiedOn = this.dateTimeProvider.GetDateTime();
- var beerDTO = new BeerDTO
- {
- BeerID = beer.BeerID,
- Name = beer.Name,
- Type = beer.Type,
- Brewery = beer.Brewery,
- Country = beer.Country,
- AlcoholPerecentage = beer.AlcoholPerecentage,
- };
- return beerDTO;
- }
- public bool DeleteBeer(int id)
- {
- try
- {
- var beer = Database.Beers
- .Where(beer => beer.IsDeleted == false)
- .FirstOrDefault(beer => beer.BeerID == id);
- beer.IsDeleted = true;
- // beer.DeletedOn = this.dateTimeProvider.GetDateTime();
- return true;
- }
- catch (Exception)
- {
- return false;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement