Esempio n. 1
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();
        }
Esempio n. 2
0
        public ActionResult NovaOs()
        {
            var familias = ProdutoSC.FindAllFamilia();
            var materiais = ProdutoSC.FindAllMaterial();

            var viewModel = new ComprasNovaOs {
                Familias = familias,
                Materiais = materiais
            };

            return View(viewModel);
        }