public ActionResult CriarMaterial(Materiais material) { material.selecionado = false; if (ModelState.IsValid) { db.Materiais.Add(material); db.SaveChanges(); return(RedirectToAction("Materiais", "Administrador")); } return(View(material)); }
public ActionResult CriarColeta(ColetaViewModel model) { if (ModelState.IsValid) { Coletas c = new Coletas(); string idCoop = User.Identity.GetUserId(); c.horaAgendada = model.data.AddHours(model.hora); c.quantidade = null; c.coletado = "A"; c.cooperativaId = idCoop; db.Coletas.Add(c); db.SaveChanges(); return(RedirectToAction("Index", "Cooperativas")); } #region ValidaçãoFalsa var horaList = new List <int>(); for (int i = 8; i <= 18; i++) { horaList.Add(i); } ViewBag.horas = horaList.Select(h => new SelectListItem { Value = h.ToString(), Text = h < 10 ? ("0" + h + ":00 hs") : (h + ":00 hs") }); #endregion return(View(model)); }
public ActionResult AgendarColeta(AgendamentoViewModel model) { string clienteId = User.Identity.GetUserId(); List <MateriaisColetados> lista = new List <MateriaisColetados>(); bool achou = false; foreach (Materiais m in model.materiais) { if (m.selecionado) { achou = true; lista.Add(new MateriaisColetados() { materialId = m.materialId, coletado = "A" }); } } if (!achou) { ViewBag.erro = "Marque pelo menos um item!"; } else if (ModelState.IsValid) { string idCliente = User.Identity.GetUserId(); ClientesColetas cc = new ClientesColetas() { clienteId = idCliente, coletaId = model.coletaId, coletado = "A", horaDaColeta = null }; db.ClientesColetas.Add(cc); foreach (MateriaisColetados m in lista) { m.clienteId = idCliente; m.coletaId = model.coletaId; db.MateriaisColetados.Add(m); } db.SaveChanges(); return(RedirectToAction("Index", "Clientes")); } #region Validação Falha if (cliente == null) { string id = User.Identity.GetUserId(); cliente = db.Clientes.Find(id); } var coletas = cliente.Cooperativas.Coletas .Where(x => x.coletado == "A" && x.horaAgendada > DateTime.Now) .OrderBy(x => x.horaAgendada).ToList(); foreach (var cc in cliente.ClientesColetas) { Coletas c = coletas.Find(x => x.coletaId == cc.coletaId); coletas.Remove(c); } ViewBag.horario = coletas.Select(h => new SelectListItem { Value = h.coletaId.ToString(), Text = h.horaAgendada.Value.ToShortDateString() + " - " + h.horaAgendada.Value.ToShortTimeString() }); #endregion return(View(model)); }
public ActionResult DetalheCliente(DetalheClienteViewModel model) { string clienteId = model.cliente.clienteId; ClientesColetas cc = db.ClientesColetas.Find(model.coleta.coletaId, clienteId); decimal saldoTotal = 0; bool achou = false; foreach (var mc in model.materiais) { MateriaisColetados m = cc.MateriaisColetados.Where(x => x.materialId == mc.materialId && x.coletaId == mc.coletaId && x.clienteId == mc.clienteId).SingleOrDefault(); if (mc.quantidade > 0) { achou = true; m.quantidade = mc.quantidade; m.coletado = "S"; if (model.cliente.tipo == "V") { MateriaisComercializados materialCoop = db.MateriaisComercializados.Find(m.materialId, cc.Clientes.cooperativaId); m.valorCompra = materialCoop.valorRevenda.Value * (decimal)mc.quantidade.Value; saldoTotal = saldoTotal + m.valorCompra.Value; } else { m.valorCompra = 0; } } else { m.quantidade = 0; m.valorCompra = 0; m.coletado = "N"; } } if (achou) { if (model.cliente.tipo == "V") { if (funcionario == null) { string id = User.Identity.GetUserId(); funcionario = db.Funcionarios.Find(id); } Coletas coleta = db.Coletas.Find(model.coleta.coletaId); Notificacoes n = new Notificacoes() { clienteId = model.cliente.clienteId, coletaId = model.coleta.coletaId, cooperativaId = funcionario.cooperativaId, dataHorario = DateTime.Now, descricao = "Coleta do dia " + coleta.horaAgendada.Value.ToShortDateString() + " - " + coleta.horaAgendada.Value.ToShortTimeString() + " foi relizada. O valor total a receber é de R$ " + saldoTotal, ativa = true, tipo = "C" }; db.Notificacoes.Add(n); } else { cc.coletado = "S"; } } else { cc.coletado = "N"; } cc.horaDaColeta = DateTime.Now; db.SaveChanges(); return(RedirectToAction("DetalheColeta", "Funcionarios", new { coletaId = model.coleta.coletaId })); }