Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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 }));
        }
Ejemplo n.º 3
0
 public ClienteDetalhesPage(Cliente cliente)
 {
     InitializeComponent();
     BindingContext = new DetalheClienteViewModel(cliente);
 }