コード例 #1
0
        public static bool MontaProdutoPedidoCreate(ProdutoPedidoViewModel entrada, out ProdutoPedido modelo, ContextPage contexto)
        {
            modelo           = new ProdutoPedido();
            modelo           = entrada.produtoPedido;
            modelo.idProduto = entrada.produto.id;

            if (modelo.idProduto != null)
            {
                ////************ Objetos de controle de acesso ***************
                modelo.criadoEm          = DateTime.Now;
                modelo.criadoPor         = contexto.idUsuario;
                modelo.criadoPorName     = contexto.nomeUsuario;
                modelo.modificadoEm      = DateTime.Now;
                modelo.modificadoPor     = contexto.idUsuario;
                modelo.modificadoPorName = contexto.nomeUsuario;
                modelo.idOrganizacao     = contexto.idOrganizacao;
                ////************ FIM Objetos de controle de acesso ***************

                //************* Executa calculo ************
                ProdutoPedidoRules.CalculaProdutoPedido(ref modelo);

                return(true);
            }

            return(false);
        }
コード例 #2
0
        public ViewResult FormCreateProdutoPedido(string idPedido, string idListaPreco)
        {
            ProdutoPedidoViewModel modelo = new ProdutoPedidoViewModel();

            try
            {
                modelo.contexto               = contexto;
                modelo.produtoPedido          = new ProdutoPedido();
                modelo.produtoPedido.idPedido = new Guid(idPedido);

                modelo.produtoPedido.idListaPreco  = new Guid(idListaPreco);
                modelo.produtoPedido.criadoEm      = DateTime.Now;
                modelo.produtoPedido.criadoPorName = contexto.nomeUsuario;
                IEnumerable <LookupItemLista> produtos = ItemlistaPrecoData.GetAllByListaPreco(new Guid(idListaPreco));

                modelo.produtos = produtos.ToPagedList <LookupItemLista>(1, 5);
            }
            catch (Exception ex)
            {
                LogOsca log = new LogOsca();
                log.GravaLog(1, 16, this.contexto.idUsuario, this.contexto.idOrganizacao, "FormCreateProdutoPedido-get", ex.Message);
            }

            return(View(modelo));
        }
        public async Task <IActionResult> AdicionaProdutoPedido(Guid id, [FromBody] ProdutoPedidoViewModel viewModel)
        {
            var idProdutoPedido = await _pedidoService.AdicionarProdutoPedido(id, viewModel);

            if (!IsValidOperation())
            {
                return(Response());
            }

            _unitOfWork.Commit();

            await _pedidoService.NotificarAdicionadoProdutoPedido(id);

            return(Response(idProdutoPedido));
        }
コード例 #4
0
        public async Task <JsonResult> CriaPedido([FromBody] CriarPedido criarPedido)
        {
            if (criarPedido.IdMercado > 0 && criarPedido.IdProduto > 0 && criarPedido.Quantidade > 0 && criarPedido.IdUsuario > 0)
            {
                try
                {
                    var produtoPedido = new ProdutoPedidoViewModel()
                    {
                        IdMercado  = criarPedido.IdMercado,
                        IdProduto  = criarPedido.IdProduto,
                        Quantidade = criarPedido.Quantidade
                    };

                    await Contexto.ProdutoPedidoViewModel.AddAsync(produtoPedido);

                    await Contexto.SaveChangesAsync();

                    var pedido = new PedidoViewModel()
                    {
                        IdUsuarioSolic  = criarPedido.IdUsuario,
                        IdMercado       = criarPedido.IdMercado,
                        ProdutosPedidos = produtoPedido.IdProdutoPedido.ToString(),
                        StatusPedido    = 0,
                        DataSolicitada  = DateTime.Now
                    };

                    await Contexto.PedidoViewModel.AddAsync(pedido);

                    await Contexto.SaveChangesAsync();

                    produtoPedido.IdPedido = pedido.IdPedido;

                    Contexto.ProdutoPedidoViewModel.Update(produtoPedido);
                    await Contexto.SaveChangesAsync();

                    return(Json(new { mensagem = "Pedido Criado", resultado = true }));
                }
                catch (Exception ex)
                {
                    return(Json(new { mensagem = ex.Message, resultado = false }));
                }
            }
            else
            {
                return(Json(new { mensagem = "Campos obrigatorio não preenchidos", resultado = false }));
            }
        }
コード例 #5
0
        public static bool MontaProdutoPedidoUpdate(ProdutoPedidoViewModel entrada, out ProdutoPedido modelo)
        {
            modelo = new ProdutoPedido();


            ////************ Objetos de controle de acesso ***************
            modelo = entrada.produtoPedido;
            modelo.modificadoEm      = DateTime.Now;
            modelo.modificadoPor     = entrada.contexto.idUsuario;
            modelo.modificadoPorName = entrada.contexto.nomeUsuario;
            ////************ FIM Objetos de controle de acesso ***************

            //************* Executa calculo ************
            ProdutoPedidoRules.CalculaProdutoPedido(ref modelo);

            return(true);
        }
コード例 #6
0
        public async Task <JsonResult> AdicionarPedido([FromBody] AdicionarPedido adicionarPedido)
        {
            if (adicionarPedido.IdMercado > 0 && adicionarPedido.IdProduto > 0 && adicionarPedido.Quantidade > 0 && adicionarPedido.IdUsuario > 0 && adicionarPedido.IdPedido != 0)
            {
                try
                {
                    var produtoPedido = new ProdutoPedidoViewModel()
                    {
                        IdMercado  = adicionarPedido.IdMercado,
                        IdProduto  = adicionarPedido.IdProduto,
                        Quantidade = adicionarPedido.Quantidade,
                        IdPedido   = adicionarPedido.IdPedido
                    };

                    await Contexto.ProdutoPedidoViewModel.AddAsync(produtoPedido);

                    await Contexto.SaveChangesAsync();

                    var pedido = await Contexto.PedidoViewModel.Where(x => x.IdPedido == adicionarPedido.IdPedido).FirstOrDefaultAsync();

                    if (pedido != null)
                    {
                        pedido.ProdutosPedidos = string.Concat(pedido.ProdutosPedidos, ",", produtoPedido.IdProdutoPedido);

                        Contexto.PedidoViewModel.Update(pedido);
                        await Contexto.SaveChangesAsync();

                        return(Json(new { mensagem = "Pedido Criado", resultado = true }));
                    }
                    else
                    {
                        return(Json(new { mensagem = "Pedido informado não encontrado", resultado = false }));
                    }
                }
                catch (Exception ex)
                {
                    return(Json(new { mensagem = ex.Message, resultado = false }));
                }
            }
            else
            {
                return(Json(new { mensagem = "Campos obrigatorio não preenchidos", resultado = false }));
            }
        }
コード例 #7
0
        public IActionResult FormCreateProdutoPedido(ProdutoPedidoViewModel entrada)
        {
            ProdutoPedido modelo = new ProdutoPedido();

            try
            {
                if (ProdutoPedidoRules.MontaProdutoPedidoCreate(entrada, out modelo, contexto))
                {
                    produtoPedidoData.Add(modelo);
                    return(RedirectToAction("FormUpdatePedido", "Pedido", new { id = modelo.idPedido.ToString() }));
                }
            }
            catch (Exception ex)
            {
                LogOsca log = new LogOsca();
                log.GravaLog(1, 16, this.contexto.idUsuario, this.contexto.idOrganizacao, "FormCreateProdutoPedido-post", ex.Message);
            }
            return(View());
        }
コード例 #8
0
        public IActionResult FormUpdateProdutoPedido(string idProdutoPedido)
        {
            ProdutoPedidoViewModel modelo  = new ProdutoPedidoViewModel();
            SqlGenericData         sqlData = new SqlGenericData();

            try
            {
                modelo.produtoPedido = produtoPedidoData.Get(new Guid(idProdutoPedido));
                modelo.produto       = new Relacao();
                modelo.produto       = sqlData.RetornaRelacaoProduto(modelo.produtoPedido.idProduto);
                //apresenta mensagem de registro atualizado com sucesso
                modelo.StatusMessage = StatusMessage;
            }
            catch (Exception ex)
            {
                LogOsca log = new LogOsca();
                log.GravaLog(1, 13, this.contexto.idUsuario, this.contexto.idOrganizacao, "FormUpdateProdutoPedido-get", ex.Message);
            }
            return(View(modelo));
        }
コード例 #9
0
        public IActionResult FormUpdateProdutoPedido(ProdutoPedidoViewModel entrada)
        {
            ProdutoPedido modelo = new ProdutoPedido();

            entrada.contexto = this.contexto;

            try
            {
                if (ProdutoPedidoRules.MontaProdutoPedidoUpdate(entrada, out modelo))
                {
                    produtoPedidoData.Update(modelo);
                    SqlGenericData sqlData = new SqlGenericData();
                    StatusMessage = "Registro Atualizado com Sucesso!";

                    return(RedirectToAction("FormUpdatePedido", "Pedido", new { id = entrada.produtoPedido.idPedido.ToString() }));
                }
            }
            catch (Exception ex)
            {
                LogOsca log = new LogOsca();
                log.GravaLog(1, 16, this.contexto.idUsuario, this.contexto.idOrganizacao, "FormUpdateProdutoPedido-post", ex.Message);
            }
            return(View());
        }
        public async Task <Guid> AdicionarProdutoPedido(Guid id, ProdutoPedidoViewModel viewModel)
        {
            var command = new AdicionarProdutoPedidoCommand(id, viewModel.IDProduto, viewModel.Quantidade);

            return(await _mediator.Send(command));
        }