public ActionResult Create(BoletoViewModel model) { if (ModelState.IsValid) { model.NumeroBoleto = String.Concat(model.NumeroBoletoPart1, model.NumeroBoletoPart2, model.NumeroBoletoPart3, model.NumeroBoletoPart4, model.NumeroBoletoPart5, model.NumeroBoletoPart6, model.NumeroBoletoPart7, model.NumeroBoletoPart8); if (BoletoService.getBoletos(model.NumeroBoleto).Count > 0) { this.addMensagemErro("Boleto já existe"); return View(model); } var boleto = new Boletos(); fillBoleto(boleto, model); BoletoService.saveBoleto(boleto); this.addMensagemSucesso("Boleto criado com sucesso!"); } else { model.ListaStatus = new List<SelectListItem>(); model.ListaStatus.AddRange(EnumHelper.toSelectList(new StatusBoleto())); return View(model); } return RedirectToAction("Index", "Boleto"); }
public ActionResult Create() { var model = new BoletoViewModel {ListaStatus = new List<SelectListItem>()}; model.ListaStatus.AddRange(EnumHelper.toSelectList(new StatusBoleto())); return View(model); }
private BoletoViewModel getViewModel(Boletos boleto, bool isIndex) { List<Orcamentos> orcamentos = null; var idOrcamentosRelacionados = new List<int>(); var model = new BoletoViewModel() { IDBoleto = boleto.IDBoleto, IDCliente = boleto.IDCliente, NomeCliente = boleto.Clientes.Nome, DataEmissao = boleto.DataEmissao, NumeroBoleto = boleto.NumeroBoleto, NumeroBoletoPart1 = getSequenceBoleto(boleto.NumeroBoleto, 1), NumeroBoletoPart2 = getSequenceBoleto(boleto.NumeroBoleto, 2), NumeroBoletoPart3 = getSequenceBoleto(boleto.NumeroBoleto, 3), NumeroBoletoPart4 = getSequenceBoleto(boleto.NumeroBoleto, 4), NumeroBoletoPart5 = getSequenceBoleto(boleto.NumeroBoleto, 5), NumeroBoletoPart6 = getSequenceBoleto(boleto.NumeroBoleto, 6), NumeroBoletoPart7 = getSequenceBoleto(boleto.NumeroBoleto, 7), NumeroBoletoPart8 = getSequenceBoleto(boleto.NumeroBoleto, 8), Preco = Convert.ToDouble(boleto.Preco), Status = boleto.Status, DescricaoStatus = EnumHelper.getEnumDescription((StatusBoleto)boleto.Status) }; model.ListaStatus = new List<SelectListItem>(); model.ListaStatus.AddRange(EnumHelper.toSelectList(new StatusBoleto())); if (!isIndex) { //Obtem todos os pedidos aprovados do cliente em específico orcamentos = OrcamentoService.getPedidos(boleto.IDCliente, null); model.ListaPedidosAberto = orcamentos.Select(p => new OrcamentoBoletoViewModel(getViewModel(p))).ToList(); //Obtem os orçamentos já relacionados em outros boletos boleto.BoletosOrcamentos.ForEach(c => idOrcamentosRelacionados.Add(c.IDBoletoOrcamento)); var idOrcamentosNaoRelacionados = orcamentos.Where( c => c.BoletosOrcamentos.Count(d => !idOrcamentosRelacionados.Contains(d.IDBoletoOrcamento)) > 0).Select(e => e.IDOrcamento).ToList(); //Checa os que estão relacionados ao boleto model.ListaPedidosAberto = model.ListaPedidosAberto.GroupJoin(boleto.BoletosOrcamentos, pedido => pedido.IDOrcamento, pedidoSelecionado => pedidoSelecionado.IDOrcamento, (pedido, pedidoSelecionado) => pedidoSelecionado.Select(ps => new OrcamentoBoletoViewModel(pedido, true)) .DefaultIfEmpty(new OrcamentoBoletoViewModel(pedido, false))) .SelectMany(pedidoSelecionado => pedidoSelecionado).ToList(); //Retira os pedidos que estão relacionados a outros boletos model.ListaPedidosAberto.RemoveAll( c => c.IDOrcamento != null && (!c.IsSelected && idOrcamentosNaoRelacionados.Contains(c.IDOrcamento.Value))); } return model; }
private void fillBoleto(Boletos boleto, BoletoViewModel model) { boleto.IDCliente = Convert.ToInt32(model.IDCliente); boleto.IDUsuario = visitor.ID; boleto.NumeroBoleto = model.NumeroBoleto; if (model.Preco != null) boleto.Preco = Convert.ToDouble(model.Preco.Value); boleto.Status = model.Status.Value; boleto.DataEmissao = model.DataEmissao.Value; boleto.BoletosOrcamentos = new List<BoletosOrcamentos>(); boleto.IDUsuario = visitor.ID; if (model.Pedidos == null) return; foreach (var item in model.Pedidos) { boleto.BoletosOrcamentos.Add(new BoletosOrcamentos() { IDOrcamento = item, DataCriacao = DateTime.Now, IDUsuario = visitor.ID }); } }
public ActionResult LoadPedidos(int idCliente) { BoletoViewModel model = new BoletoViewModel(); model.ListaPedidosAberto = OrcamentoService.getPedidos(idCliente, null).Where(c => c.BoletosOrcamentos.Count == 0).Select(p => new OrcamentoBoletoViewModel(getViewModel(p))).ToList(); return PartialView("_ListPedidos", model); }
public ActionResult Edit(BoletoViewModel model) { if (ModelState.IsValid) { Boletos boleto = BoletoService.getBoleto(model.IDBoleto); model.NumeroBoleto = String.Concat(model.NumeroBoletoPart1, model.NumeroBoletoPart2, model.NumeroBoletoPart3, model.NumeroBoletoPart4, model.NumeroBoletoPart5, model.NumeroBoletoPart6, model.NumeroBoletoPart7, model.NumeroBoletoPart8); BoletoService.deleteBoletoOrcamentos(boleto.BoletosOrcamentos.ToList()); fillBoleto(boleto, model); BoletoService.saveBoleto(boleto); this.addMensagemSucesso("Boleto salvo com sucesso"); } else { return View(model); } return RedirectToAction("Index", "Boleto"); }