public ActionResult Edit(int id) { if (Sessao.isLogged()) { Usuario u = UsuarioDAO.searchUsuarioPorNome(Sessao.RetornarUsuario()); Despesa d = DespesaDAO.getDespesa(id); if (TipoUsuario.Administrador.Equals(u.tipo) || u.cliente.id == d.dono.id) { List <Models.TipoDespesa> tiposDespesa = new List <Models.TipoDespesa>(); tiposDespesa.Add(new Models.TipoDespesa(Utils.TipoDespesa.Anual)); tiposDespesa.Add(new Models.TipoDespesa(Utils.TipoDespesa.Mensal)); tiposDespesa.Add(new Models.TipoDespesa(Utils.TipoDespesa.Semanal)); tiposDespesa.Add(new Models.TipoDespesa(Utils.TipoDespesa.CobrancaUnica)); IEnumerable <SelectListItem> tipos = new SelectList(tiposDespesa, "sigla", "nome"); ViewBag.Tipos = tipos; desp = d; double valorTotal = 0; double valorDependentes = 0; valorTotal = d.valor; foreach (Dependente dep in d.dependentes) { valorDependentes += dep.valor; } double valorRestante = valorTotal - valorDependentes; ViewBag.ValorRestante = valorRestante; if (valorRestante > 0) { ViewBag.CanAdd = true; } else { ViewBag.CanAdd = false; } if (TipoUsuario.Administrador.Equals(u.tipo)) { ViewBag.AmigosSolicitados = new List <Amizade>(); ViewBag.AmigosAceitos = AmizadeDAO.getAmizades(); } else { ViewBag.AmigosSolicitados = AmizadeDAO.searchAmizadesSolicitadasAceitasPorCliente(u.cliente.id); ViewBag.AmigosAceitos = AmizadeDAO.searchAmizadesAceitasPorCliente(u.cliente.id); } return(View(d)); } else { return(RedirectToAction("Index", "Despesa")); } } else { return(RedirectToAction("Login", "Usuario")); } }
public ActionResult Edit(Despesa d) { if (Sessao.isLogged()) { Usuario u = UsuarioDAO.searchUsuarioPorNome(Sessao.RetornarUsuario()); if (ModelState.IsValid) { Despesa aux = DespesaDAO.getDespesa(d.id); for (int i = 0; i < aux.dependentes.Count; i++) { if (aux.dependentes[i].valor != d.dependentes[i].valor) { aux.dependentes[i].valor = d.dependentes[i].valor; } } aux = d; DespesaDAO.updateDespesa(aux); return(RedirectToAction("Index", "Despesa")); } ModelState.AddModelError("", "Falha ao atualizar despesa!"); double valorTotal = 0; double valorDependentes = 0; valorTotal = d.valor; foreach (Dependente dep in d.dependentes) { valorDependentes += dep.valor; } double valorRestante = valorTotal - valorDependentes; ViewBag.ValorRestante = valorRestante; if (valorRestante > 0) { ViewBag.CanAdd = true; } else { ViewBag.CanAdd = false; } if (TipoUsuario.Administrador.Equals(u.tipo)) { ViewBag.AmigosSolicitados = new List <Amizade>(); ViewBag.AmigosAceitos = AmizadeDAO.getAmizades(); } else { ViewBag.AmigosSolicitados = AmizadeDAO.searchAmizadesSolicitadasAceitasPorCliente(u.cliente.id); ViewBag.AmigosAceitos = AmizadeDAO.searchAmizadesAceitasPorCliente(u.cliente.id); } return(View(d)); } else { return(RedirectToAction("Login", "Usuario")); } }