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; }
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(); }
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(); }