Beispiel #1
0
        public override ItemTransacao InitDto(IReader reader, ItemTransacao dto)
        {
            base.InitDto(reader, dto);

            // Sobreescreve a geração default para estes campos:
            dto.CodItem = MockReader.GenerateCode(10);
            dto.Quantidade = MockReader.GenerateInt32(1, 999);
            dto.Descricao = MockReader.GenerateName(4).ToUpper();

            return dto;
        }
Beispiel #2
0
        public ActionResult NovaOs(ComprasNovaOs viewModel)
        {
            var os = new OrdemServico {
                CodCliente = GetCodCliente(),
                Observacao = viewModel.ObservacaoGeral,
                Referencia = viewModel.Referencia,
                DescricaoArmacao = viewModel.Armacao,
                ObservacaoArmacao = viewModel.ObservacaoArmacao,
                CodMaterial = viewModel.MaterialArmacao,
                TipoVt = 1,
                Ta = viewModel.Ta,
                Md = viewModel.Md,
                Diametro = viewModel.Diametro,
                ObservacaoLente = string.Empty,
                Dp = viewModel.Dp,
                Aa = viewModel.Aa,
                Eixo = viewModel.Eixo,
                Ponte = viewModel.Ponte
            };

            var lenteOd = new OrdemServicoLente {
                TipoLente = TipoLente.OlhoDireito,
                CodFamilia = viewModel.FamiliaOd,
                Descricao = viewModel.DescricaoLenteOd,
                LongeEsf = viewModel.EsfLongeOd,
                LongeCil = viewModel.CilLongeOd,
                LongeEixo = viewModel.EixoLongeOd,
                Adicao = viewModel.AdicaoOd,
                PertoEsf = viewModel.EsfPertoOd,
                PertoCil = viewModel.CilPertoOd,
                PertoEixo = viewModel.EixoPertoOd,
                Dnp = viewModel.DnpOd,
                Alt = viewModel.AltOd
            };

            var lenteOe = new OrdemServicoLente {
                TipoLente = TipoLente.OlhoEsquerdo,
                CodFamilia = viewModel.FamiliaOe,
                Descricao = viewModel.DescricaoLenteOe,
                LongeEsf = viewModel.EsfLongeOe,
                LongeCil = viewModel.CilLongeOe,
                LongeEixo = viewModel.EixoLongeOe,
                Adicao = viewModel.AdicaoOe,
                PertoEsf = viewModel.EsfPertoOe,
                PertoCil = viewModel.CilPertoOe,
                PertoEixo = viewModel.EixoPertoOe,
                Dnp = viewModel.DnpOe,
                Alt = viewModel.AltOe
            };

            // Determina a quantidade dos serviços a partir das famílias selecionadas:
            var quantidade = lenteOd.CodFamilia == lenteOe.CodFamilia? 2 : 1;
            var itens = new ItemTransacao[viewModel.Servicos.Length];

            for (var i = 0; i < itens.Length; i++)
            {
                var servico = new ItemTransacao {
                    CodItem = viewModel.Servicos[i],
                    Quantidade = quantidade
                };

                itens[i] = servico;
            }

            os.LenteOd = lenteOd;
            os.LenteOe = lenteOe;
            os.Itens = itens;

            try
            {
                os = ProdutoSC.InsertOrdemServico(os);
            }
            catch (FaultException<DatawebFault> ex)
            {
                ModelState.AddModelError("ordemServicoMsg", ex.Detail.Message);
            }

            if (ModelState.IsValid)
            {
                return RedirectToAction("NovaOsSucesso", new {id = os.Numero});
            }

            return View();
        }
Beispiel #3
0
        public ActionResult NovoPedido(ComprasNovoPedido viewModel)
        {
            var pedido = new Pedido {
                CodCliente = GetCodCliente(),
                Observacao = viewModel.Observacao,
            };

            var produtos = new List<ItemTransacao>();

            // Obs: notar que laço começa em 1, não em 0. É necessário ignorar
            // a primeira linha da tabela, que serve como template para frontend.
            for (var i = 1; i < viewModel.Produtos.Length; i++)
            {
                var produto = new ItemTransacao {
                    CodItem = viewModel.Produtos[i],
                    Quantidade = Convert.ToInt32(viewModel.Quantidades[i])
                };

                produtos.Add(produto);
            }

            pedido.Itens = produtos.ToArray();

            try
            {
                pedido = ProdutoSC.InsertPedido(pedido);
            }
            catch (FaultException<DatawebFault> ex)
            {
                ModelState.AddModelError("pedidoMsg", ex.Detail.Message);
            }

            if (ModelState.IsValid)
            {
                return RedirectToAction("NovoPedidoSucesso", new {id = pedido.Numero});
            }

            return View();
        }