예제 #1
0
        public override OrdemServico InitDto(IReader reader, OrdemServico dto)
        {
            base.InitDto(reader, dto);

            // Sobreescreve a geração default para estes campos:
            dto.DescricaoArmacao = MockReader.GenerateParagraph();
            dto.ObservacaoArmacao = MockReader.GenerateParagraph();
            dto.Ta = MockReader.GenerateDecimal(-9999.999m, 9999.999m, "###0.000");
            dto.Md = MockReader.GenerateDecimal(-9999.999m, 9999.999m, "###0.000");
            dto.Diametro = MockReader.GenerateDecimal(-9999.999m, 9999.999m, "###0.000");
            dto.ObservacaoLente = MockReader.GenerateParagraph();
            dto.Dp = MockReader.GenerateDecimal(-99.9m, 99.9m, "#0.0");
            dto.Aa = MockReader.GenerateDecimal(-9999.999m, 9999.999m, "###0.000");
            dto.Eixo = MockReader.GenerateDecimal(0, 180, "##0");
            dto.Ponte = MockReader.GenerateDecimal(-9999.999m, 9999.999m, "###0.000");

            return dto;
        }
예제 #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();
        }
예제 #3
0
 private string GetDescricaoMaterial(OrdemServico os)
 {
     var materiais = ProdutoSC.FindAllMaterial();
     var material = materiais.First(m => m.CodMaterial == os.CodMaterial);
     return material == null? null : material.Descricao;
 }