示例#1
0
        public void AtualizarProdutoMaterialAdicional(List<PedidoProduto> listaProduto, List<PedidoMaterialAdiconal> listaMaterialAdicional, Pedido pedido)
        {
            //atualizando produto

            foreach (var produto in pedidoProdutoBm.GetPedidoProdutoByPedido(pedido))
                pedidoProdutoBm.Delete(produto);

            foreach (var prodNovo in listaProduto)
                pedidoProdutoBm.Insert(prodNovo);

            //Inserindo Material Adicional
            foreach (var material in pedidoMaterialAdiconalBm.GetMaterialAdicionalByPedido(pedido))
                pedidoMaterialAdiconalBm.Delete(material);

            foreach (var materialNovo in listaMaterialAdicional)
                pedidoMaterialAdiconalBm.Insert(materialNovo);
        }
        private static PedidoModel ParsePedidoToPedidoModel(ManterPedido manterPedido, Pedido pedido)
        {
            return new PedidoModel()
            {
                IdPedido = pedido.IdPedido,
                UF = pedido.UF,
                StatusAtual = new StatusPedidoModel()
                {
                    Descricao = Enum.GetName(typeof(StatusPedido), pedido.StatusAtual),
                    IdStatusPedido = (int)pedido.StatusAtual
                },
                Bairro = pedido.Bairro.ToUpper(),
                CEP = pedido.CEP,
                Cidade = pedido.Cidade.ToUpper(),
                Cliente = new ClienteModel()
                {
                    Nome = pedido.Cliente.Nome,
                    IdCliente = pedido.Cliente.IdCliente
                },
                Complemento = pedido.Complemento.ToUpper(),
                CondicaoPagamento = new CondicaoPagamentoModel()
                {
                    Descricao = pedido.CondicaoPagamento.Descricao,
                    IdCondicaoPagamento = pedido.CondicaoPagamento.IdCondicaoPagamento

                },
                DataEvento = pedido.DataEvento,
                DataHoraEntrega = pedido.DataHoraEntrega,
                FuncionarioContato = new FuncionarioModel()
                {
                    IdFuncionario = pedido.FuncionarioContato.IdFuncionario,
                    Nome = pedido.FuncionarioContato.Nome
                },
                PessoaResponsavel = pedido.PessoaResponsavel.ToUpper(),
                TipoContato = new TipoContatoModel()
                {
                    Descricao = Enum.GetName(typeof(TipoContato), pedido.TipoContato),
                    IdTipoContato = (int)pedido.TipoContato
                },
                LocalEvento = (pedido.LocalEvento ?? string.Empty).ToUpper(),
                Logradouro = pedido.Logradouro.ToUpper(),
                Numero = pedido.Numero.ToUpper(),
                NumeroPedido = pedido.NumeroPedido,
                PrecoVenda = pedido.PrecoVenda,
                TelefoneResponsavel = pedido.TelefoneResponsavel,
                TipoPedido = new TipoPedidoModel()
                {
                    Ativo = pedido.TipoPedido.Ativo,
                    Descricao = pedido.TipoPedido.Descricao,
                    IdTipoPedido = pedido.TipoPedido.IdTipoPedido
                }
            };
        }
        public JsonResult Create(string strPedido)
        {
            try
            {

                if (ModelState.IsValid)
                {
                    var pedidoModel = JsonConvert.DeserializeObject<PedidoModel>(strPedido);

                    using (var manterPedido = new ManterPedido())
                    {
                        Pedido pedido = new Pedido()
                        {
                            Bairro = pedidoModel.Bairro.ToUpper(),
                            CEP = pedidoModel.CEP,
                            Cidade = pedidoModel.Cidade.ToUpper(),
                            Cliente = manterPedido.GetListaClienteById(pedidoModel.Cliente.IdCliente),
                            Complemento = pedidoModel.Complemento.ToUpper(),
                            CondicaoPagamento = manterPedido.GetCondicaoPagamentoById(pedidoModel.CondicaoPagamento.IdCondicaoPagamento),
                            DataEvento = pedidoModel.DataEvento,
                            DataHoraEntrega = new DateTime(pedidoModel.DataEvento.Year,
                                               pedidoModel.DataEvento.Month,
                                               pedidoModel.DataEvento.Day,
                                               pedidoModel.DataHoraEntrega.Hour,
                                               pedidoModel.DataHoraEntrega.Minute, 0),
                            FuncionarioContato = manterPedido.GetFuncionarioById(pedidoModel.FuncionarioContato.IdFuncionario),
                            PessoaResponsavel = pedidoModel.PessoaResponsavel.ToUpper(),
                            TipoContato = pedidoModel.TipoContato.IdTipoContato == 0 ? TipoContato.Site :
                     (TipoContato)Enum.Parse(typeof(TipoContato), pedidoModel.TipoContato.IdTipoContato.ToString()),
                            LocalEvento = pedidoModel.LocalEvento.ToUpper(),
                            Logradouro = pedidoModel.Logradouro.ToUpper(),
                            Numero = pedidoModel.Numero.ToUpper(),
                            PrecoVenda = pedidoModel.PrecoVenda,
                            TelefoneResponsavel = pedidoModel.TelefoneResponsavel,
                            TipoPedido = manterPedido.GetTipoPedidoById(pedidoModel.TipoPedido.IdTipoPedido),
                            UF = pedidoModel.UF

                        };

                        manterPedido.InserirPedido(pedido);

                        return Json(new { IdPedido = pedido.IdPedido, TipoMensagem = TipoMensagemRetorno.Ok }, JsonRequestBehavior.AllowGet);
                    }

                }
                else
                {

                    return Json(
                       new
                       {
                           TipoMensagem = TipoMensagemRetorno.Erro,
                           Mensagem = "Erro ao Inserir o Pedido. Verifique o dados informados."

                       }, "text/html", JsonRequestBehavior.AllowGet);

                }

            }

            catch (Exception ex)
            {
                return Json(
                            new
                            {
                                TipoMensagem = TipoMensagemRetorno.Erro,
                                Mensagem = ex.Message

                            }, "text/html", JsonRequestBehavior.AllowGet);
            }
        }
        public bool VerificaPedidoFinalizado(Pedido pedido)
        {
            var listaPedidos = pedidoProdutoProduzidoBm.GetProdutosByPedido(pedido);

            var listaIdPedidosProducao = listaPedidos.Select(x => x.Produto.IdProduto);

            var listaNaoINcluso = pedidoProdutoBm.GetPedidoProdutoByPedido(pedido).Where(x => !listaIdPedidosProducao.Contains(x.Produto.IdProduto)).Select(x => new PedidoProdutoProduzido()
            {
                Produto = x.Produto,
                StatusAtual = StatusProducaoProduto.AgardandoInicio
            }).ToList();

            if (listaNaoINcluso.Count > 0)
                foreach (var item in listaNaoINcluso)
                    listaPedidos.Add(item);

            return !listaPedidos.Any(x => x.StatusAtual != StatusProducaoProduto.Concluido && x.StatusAtual != StatusProducaoProduto.Cancelado);
        }
示例#5
0
 public void AlterarPedido(Pedido pedido)
 {
     pedidoBm.Update(pedido);
 }
示例#6
0
 private void AtualizaMudancaStatu(Pedido pedido, StatusPedido StatusDe, StatusPedido StatusPara, string usuarioMudanca)
 {
     pedidoHistoricoStatusBm.Insert(new PedidoHistoricoStatus()
     {
         DataHoraMudança = DateTime.Now,
         StatusDe = StatusDe,
         StatusPara = StatusPara,
         UsuarioResponsavel = usuarioBm.GetByLogin(usuarioMudanca)
     });
 }
示例#7
0
        public bool VerificaProdutosProduzidos(Pedido pedido)
        {
            var retorno = pedidoProdutoProduzidoBm.GetProdutosByPedido(pedido);

            if (retorno == null || retorno.Count == 0)
                return false;

            return !retorno.Any(x => x.StatusAtual != StatusProducaoProduto.Concluido &&
                                     x.StatusAtual != StatusProducaoProduto.Cancelado);
        }
示例#8
0
 public void InserirPedido(Pedido pedido)
 {
     pedido.Natureza = NaturezaPedido.Encomenda;
     pedido.DataInclusao = DateTime.Now;
     pedidoBm.Insert(pedido);
     pedido.StatusAtual = StatusPedido.Encaminhado;
     pedido.NumeroPedido = pedido.IdPedido.ToString().PadLeft(6, '0');
     pedidoBm.Update(pedido);
 }