예제 #1
0
            public async Task <int> Handle(Command message, CancellationToken cancellationToken)
            {
                RSystem.Domain.Produto produto;

                if (!message.Editando)
                {
                    produto = new RSystem.Domain.Produto {
                    };

                    await _adminContext.AddAsync(produto);
                }
                else
                {
                    produto = await _adminContext
                              .Set <RSystem.Domain.Produto>()
                              .FirstOrDefaultAsync(m => m.Id == message.Id);

                    ChecarSe.Encontrou(produto);
                }

                produto.Id                 = message.Id.Value;
                produto.Descricao          = message.Descricao;
                produto.Valor              = message.Valor;
                produto.MarcaId            = message.MarcaId;
                produto.UnidadeMedida      = message.UnidadeMedida;
                produto.Ativo              = message.Ativo;
                produto.Quantidade         = message.Quantidade;
                produto.Volume             = message.Volume;
                produto.DescricaoDetalhada = message.DescricaoDetalhada;

                await _adminContext.SaveChangesAsync();

                return(produto.Id);
            }
예제 #2
0
            public async Task <int> Handle(Command message, CancellationToken cancellationToken)
            {
                RSystem.Domain.Estoque estoque;

                if (!message.Editando)
                {
                    estoque = new RSystem.Domain.Estoque {
                    };

                    await _adminContext.AddAsync(estoque);
                }
                else
                {
                    estoque = await _adminContext
                              .Set <RSystem.Domain.Estoque>()
                              .FirstOrDefaultAsync(m => m.Id == message.Id);

                    ChecarSe.Encontrou(estoque);
                }

                estoque.Id        = message.Id.Value;
                estoque.Descricao = message.Descricao;

                await _adminContext.SaveChangesAsync();

                return(estoque.Id);
            }
예제 #3
0
            public async Task <int> Handle(Command request, CancellationToken cancellationToken)
            {
                await _validar.ValidateAndThrowAsync(request);

                Produto produto;

                if (request.Id == null)
                {
                    produto = new Produto();

                    _lojaContext.Add(produto);
                }
                else
                {
                    produto = await _lojaContext
                              .Set <Produto>()
                              .FirstOrDefaultAsync(p => p.Id == request.Id);

                    ChecarSe.Encontrou(produto);
                }

                Mapear(produto, request);

                await _lojaContext.SaveChangesAsync();

                return(produto.Id);
            }
예제 #4
0
            public async Task <int> Handle(Command message, CancellationToken cancellationToken)
            {
                RSystem.Domain.Marca marca;

                if (!message.Editando)
                {
                    marca = new RSystem.Domain.Marca {
                    };

                    await _adminContext.AddAsync(marca);
                }
                else
                {
                    marca = await _adminContext
                            .Set <RSystem.Domain.Marca>()
                            .FirstOrDefaultAsync(m => m.Id == message.Id);

                    ChecarSe.Encontrou(marca);
                }

                marca.EstoqueId = message.EstoqueId;
                marca.Descricao = message.Descricao;
                marca.Id        = message.Id.Value;

                await _adminContext.SaveChangesAsync();

                return(marca.Id);
            }
예제 #5
0
            public async Task <Command> Handle(Query request, CancellationToken cancellationToken)
            {
                var command = await _adminContext
                              .Set <Produto>()
                              .AsNoTracking()
                              .Select(a => new Command
                {
                    Id        = a.Id,
                    Descricao = a.Descricao,
                    Valor     = a.Valor,
                    Ativo     = a.Ativo,
                    EspecificacoesTecnicas = a.EspecificacoesTecnicas,
                    Titulo        = a.Titulo,
                    CaminhoImagem = a.CaminhoImagem,
                    Marcas        = new MarcaDto
                    {
                        Id          = a.Marca.Id,
                        Descricao   = a.Marca.Descricao,
                        Selecionado = true
                    }
                })
                              .FirstOrDefaultAsync(p => p.Id == request.Id);

                ChecarSe.Encontrou(command);

                return(command);
            }
예제 #6
0
        public async Task <int> InserirEditar(ProdutoInserirEditarDto produtoDto)
        {
            await _validarProduto.ValidateAndThrowAsync(produtoDto);

            Produto produto = null;

            if (produtoDto.Id == null)
            {
                produto = new Produto();

                _lojaContext.Add(produto);
            }
            else
            {
                produto = await _lojaContext
                          .Set <Produto>()
                          .Where(p => p.Id == produtoDto.Id)
                          .FirstOrDefaultAsync();

                ChecarSe.Encontrou(produto);
            }

            produto.Descricao = produtoDto.Descricao;
            produto.Valor     = produtoDto.Valor;

            await _lojaContext.SaveChangesAsync();

            return(produto.Id);
        }
예제 #7
0
            public async Task <int> Handle(Command message, CancellationToken cancellationToken)
            {
                var item = await _adminContext.Set <RSystem.Domain.Produto>()
                           .FirstOrDefaultAsync(p => p.Id == message.Id);

                ChecarSe.Encontrou(item);

                _adminContext.Remove(item);

                return(await _adminContext.SaveChangesAsync());
            }
예제 #8
0
            protected override async Task Handle(Command request, CancellationToken cancellationToken)
            {
                var produto = await _lojaContext
                              .Set <Produto>()
                              .FirstOrDefaultAsync(p => p.Id == request.Id);

                ChecarSe.Encontrou(produto);

                _lojaContext.Remove(produto);

                await _lojaContext.SaveChangesAsync();
            }
예제 #9
0
            protected override async Task Handle(Command request, CancellationToken cancellationToken)
            {
                var product = await _adminContext
                              .Set <Domain.Admin.Product>()
                              .FirstOrDefaultAsync(p => p.Id == request.Id);

                ChecarSe.Encontrou(product);

                _adminContext.Remove(product);

                await _adminContext.SaveChangesAsync();
            }
예제 #10
0
        public async Task Excluir(int id)
        {
            var produto = await _lojaContext
                          .Set <Produto>()
                          .Where(p => p.Id == id)
                          .FirstOrDefaultAsync();

            ChecarSe.Encontrou(produto);

            _lojaContext.Remove(produto);

            await _lojaContext.SaveChangesAsync();
        }
예제 #11
0
            public async Task <Command> Handle(Query request, CancellationToken cancellationToken)
            {
                var command = await _adminContext
                              .Set <Marca>()
                              .AsNoTracking()
                              .Select(a => new Command
                {
                    Id        = a.Id,
                    Descricao = a.Descricao
                })
                              .FirstOrDefaultAsync(p => p.Id == request.Id);

                ChecarSe.Encontrou(command);

                return(command);
            }
예제 #12
0
            public async Task <Command> Handle(Query message, CancellationToken cancellationToken)
            {
                Command command;

                if (!message.Id.HasValue)
                {
                    var ultimoId = await _adminContext
                                   .Set <RSystem.Domain.Produto>()
                                   .Take(1)
                                   .OrderByDescending(o => o.Id)
                                   .Select(s => s.Id)
                                   .FirstOrDefaultAsync();

                    command = new Command
                    {
                        Id       = ultimoId + 1,
                        Editando = false
                    };
                }
                else
                {
                    command = await _adminContext
                              .Set <RSystem.Domain.Produto>()
                              .AsNoTracking()
                              .Select(m => new Command
                    {
                        Id                 = m.Id,
                        Descricao          = m.Descricao,
                        Valor              = m.Valor,
                        MarcaId            = m.MarcaId,
                        UnidadeMedida      = m.UnidadeMedida,
                        Ativo              = m.Ativo,
                        Quantidade         = m.Quantidade,
                        Volume             = m.Volume,
                        DescricaoDetalhada = m.DescricaoDetalhada
                    })
                              .FirstOrDefaultAsync(m => m.Id == message.Id);

                    ChecarSe.Encontrou(command);

                    command.Editando = true;
                }

                return(command);
            }
예제 #13
0
            public async Task <Command> Handle(Query message, CancellationToken cancellationToken)
            {
                Command command;

                if (!message.Id.HasValue)
                {
                    var ultimoId = await _adminContext
                                   .Set <RSystem.Domain.Marca>()
                                   .Take(1)
                                   .OrderByDescending(o => o.Id)
                                   .Select(s => s.Id)
                                   .FirstOrDefaultAsync();

                    command = new Command
                    {
                        Id       = ultimoId + 1,
                        Editando = false
                    };
                }
                else
                {
                    command = await _adminContext
                              .Set <RSystem.Domain.Marca>()
                              .AsNoTracking()
                              .Select(m => new Command
                    {
                        Id        = m.Id,
                        Descricao = m.Descricao,
                        EstoqueId = m.EstoqueId
                    })
                              .FirstOrDefaultAsync(m => m.Id == message.Id);

                    ChecarSe.Encontrou(command);

                    command.Editando = true;
                }

                return(command);
            }