public void TestarProduto() { //arrange var novoProduto = new ProdutoDTO("Celuar", 1500); var dataAtual = new DateTime(2016, 03, 16); //action IBaseBusiness negocioProduto = null; if (dataAtual.ToString("ddMM") == "1203") { negocioProduto = new DescontoNatalBusiness(); } else if (dataAtual.ToString("ddMM") == "1103") { negocioProduto = new DescontoNamoradosBusiness(); } else { negocioProduto = new DescontoNullObjectBusiness(); } //assert var novoValor = novoProduto.Valor; Assert.AreEqual(1500, novoValor); }
public override bool Login(string user, string password) { this._loginBusiness = InstanceFactory.GetImplementation<IBaseBusiness<Customer>>(); var customerFound = this._loginBusiness.SelectSingle( w => w.User == user && w.Password == MD5Util.GetHash(password) ); return customerFound != null && customerFound.Id > 0; }
public void Testar_Produto() { var novoPRoduto = new ProdutoDTO(); novoPRoduto.Codigo = 1; novoPRoduto.Nome = "Rexona ROllon"; novoPRoduto.Valor = 99.20M; var dataAtual = new DateTime(2016, 03, 12); IBaseBusiness negocioProduto = null; if (dataAtual.ToString("ddMM") == "1206") { negocioProduto = new DescontoNamoradoBusiness(); } else if (dataAtual.ToString("ddMM") == "2512") { negocioProduto = new DescontoNatalBusiness(); } else { negocioProduto = new DescontoNullObjectBusiness(); } //Temos um padrao do Martin Fowler (2009) //Padrao Null REference //A proposta do padrao 'e evitar tomar erros de NULL REFERENCE //Erros de NAO inicializacao de OBJETOS (Faltou dar new) //Erros sao pesados para a maquina CLR //Para nao dar erro de null, criamos um objeto default //com valores default //Uma classe qualquer, fazia so para dar erro de null reference //Aonte tiver IF variavel == null ou TRY CATCH de NULL REFERENCE var novoValor = negocioProduto.CalcularDesconto(novoPRoduto.Valor); //Quando criamos uma variavel PAI (Super Tipo) //IBaseBUsiness, podemos dar NEW em qualquer classe filha //Nas 3 classes de negocio, as 3 classes que herdam dela //Principio de Substituicao de Liskov (soLid) //Podemos inicializar qualquer filho dentro de um pai //BEM Flexivel, ABSTRAIDO //Um pai pode ser trocado por um filho }
public UserController(IBaseBusiness <User> userBusiness) { this.userBusiness = userBusiness; }
public UserController(IBaseBusiness<User> userBusiness) { this.userBusiness = userBusiness; }
public ProductController(IBaseBusiness <Product> productBusiness) { this.productBusiness = productBusiness; }
public StoreController(IBaseBusiness<Store> storeBusiness) { this.storeBusiness = storeBusiness; }
public Customer2Controller(IBaseBusiness<Customer> businessCustomer) { this._businessCustomer = businessCustomer; }
public StoreController(IBaseBusiness <Store> storeBusiness) { this.storeBusiness = storeBusiness; }
public FeedbackController(IBaseBusiness <Feedback> feedbackBusiness) { this.feedbackBusiness = feedbackBusiness; }
public SaleController(IBaseBusiness<Sale> saleBusiness, IBaseBusiness<Product> productBusiness) { this.saleBusiness = saleBusiness; this.productBusiness = productBusiness; }
public TokenController() { _iBaseBusiness = new BaseBusiness <UserToken>(); }
//Aplicamos o padrao IoC, a classe AmigoBusiness //Vai vir inicializada de fora public AmigoController(IBaseBusiness <AmigoDTO> negocio_) { _negocio = negocio_; }
public ProductController(IBaseBusiness<Product> productBusiness) { this.productBusiness = productBusiness; }
public SaleController(IBaseBusiness <Sale> saleBusiness, IBaseBusiness <Product> productBusiness) { this.saleBusiness = saleBusiness; this.productBusiness = productBusiness; }
public FeedbackController(IBaseBusiness<Feedback> feedbackBusiness) { this.feedbackBusiness = feedbackBusiness; }