Пример #1
0
        public DTOPromocao SalvarPromocao(DTOPromocao dtoPromocao)
        {
            try
            {
                var cliente = _repositorioCliente.ObterPorId(dtoPromocao.IdCliente);
                ClientePromocao clientePromocao;

                if (dtoPromocao.IdPromocao != 0) // Edicao
                {
                    clientePromocao =_repositorioClientePromocao.ObterTodosOnde(x => x.Cliente.Id == dtoPromocao.IdCliente && x.Promocao.Id == dtoPromocao.IdPromocao).FirstOrDefault();
                    clientePromocao.Promocao.AdicionarNome(dtoPromocao.Nome);
                    clientePromocao.Promocao.AdicionarDescricao(dtoPromocao.Descricao);
                    clientePromocao.AdicionarDataLiberacao(dtoPromocao.DataLiberacaoToDate);
                    clientePromocao.AdicionarDataExpiracao(dtoPromocao.DataExpiracaoToDate);
                    clientePromocao.AdicionarStatus(dtoPromocao.Ativo);
                    _repositorioClientePromocao.Alterar(clientePromocao);
                }
                else // Inclusao
                {
                    var promocao = new Promocao();
                    promocao.AdicionarNome(dtoPromocao.Nome);
                    promocao.AdicionarDescricao(dtoPromocao.Descricao);

                    clientePromocao = new ClientePromocao(cliente, promocao);
                    clientePromocao.AdicionarDataLiberacao(dtoPromocao.DataLiberacaoToDate);
                    clientePromocao.AdicionarDataExpiracao(dtoPromocao.DataExpiracaoToDate);
                    clientePromocao.AdicionarStatus(dtoPromocao.Ativo);

                    cliente.AdicionarClientePromocao(clientePromocao);
                    _repositorioCliente.Alterar(cliente);
                }

                return ObterPromocaoPorClientePromocao(clientePromocao);
            }
            catch (Exception ex)
            {
                ExceptionCustom.Log(ex);
                return null;
            }
        }
Пример #2
0
 public ClientePromocao(Cliente cliente, Promocao promocao)
     : this()
 {
     this.Cliente = cliente;
     this.Promocao = promocao;
 }
Пример #3
0
 public PromocaoAcesso(Promocao promocao)
     : this()
 {
     this.Promocao = promocao;
     this.DataEntrada = DateTime.Now;
 }