public ActionResult DetalheCliente(string clienteId, int?coletaId, string urlRetorno) { if (clienteId == null) { string mensagem = "Id do cliente não informado!"; return(RedirectToAction("Erro", "Home", new { Mensagem = mensagem })); } if (coletaId == null) { string mensagem = "Id da coleta não informado!"; return(RedirectToAction("Erro", "Home", new { Mensagem = mensagem })); } ClientesColetas c = db.ClientesColetas.Find(coletaId, clienteId); if (c == null) { string mensagem = "Cliente não encontrado!"; return(RedirectToAction("Erro", "Home", new { Mensagem = mensagem })); } ViewBag.retorno = @Url.Action("Index", "Funcionarios"); if (urlRetorno != null) { ViewBag.retorno = @Url.Action("DetalheColeta", "Funcionarios", new { coletaId = coletaId, aba = 1 }); } DetalheClienteViewModel model = new DetalheClienteViewModel() { cliente = c.Clientes, coleta = c.Coletas, materiais = c.MateriaisColetados.ToList(), clienteColeta = c }; 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 })); }
public ClienteDetalhesPage(Cliente cliente) { InitializeComponent(); BindingContext = new DetalheClienteViewModel(cliente); }