示例#1
0
        public async Task <ActionResult> CancelarParticipacao(int?id)
        {
            try
            {
                Session.Add("pkRole", id);
                CAUsuario usuario;
                if (Session["usuario"] == null)
                {
                    return(RedirectToAction("Login", "CAUsuarios", new { urlRetorno = Request.Url.AbsolutePath }));
                }
                usuario = (CAUsuario)Session["usuario"];
                Participamente participanteValidacao = db.Participamente.Where(o => o.fkRole == id && o.fkUsuario == usuario.pkUsuario).First();
                db.Participamente.Remove(participanteValidacao);
                await db.SaveChangesAsync();

                return(RedirectToAction("Details", "Roles", new { id = id }));
            }
            catch (Exception er)
            {
                return(RedirectToAction("Details", "Roles", new { id = id, msgErro = er.Message.ToString() }));
            }
        }
示例#2
0
        // GET: Roles/Details/5
        public async Task <ActionResult> Participar(int?id, int?pkMoto)
        {
            try
            {
                if (id == null)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }
                Session.Add("pkRole", id);
                CAUsuario usuario;
                if (Session["usuario"] == null)
                {
                    return(RedirectToAction("Login", "CAUsuarios", new { urlRetorno = Request.Url.AbsolutePath }));
                }

                usuario = (CAUsuario)Session["usuario"];


                if (db.Participamente.Where(o => o.fkRole == id && o.fkUsuario == usuario.pkUsuario).Any())
                {
                    Participamente participanteValidacao = db.Participamente.Where(o => o.fkRole == id && o.fkUsuario == usuario.pkUsuario).First();
                    if (participanteValidacao.autorizado == null)
                    {
                        return(RedirectToAction("Details", "Roles", new { id = id, msgErro = "Solicitação para participar do Passeio/Evento já enviada e aguardando aprovação." }));
                    }
                    else
                    {
                        if (participanteValidacao.autorizado == true)
                        {
                            return(RedirectToAction("Details", "Roles", new { id = id, msgErro = "Sua participação já esta autorizada neste evento!" }));
                        }
                        else
                        {
                            return(RedirectToAction("Details", "Roles", new { id = id, msgErro = "Sua participação já foi solicitada! Agora esta aguardando participação!" }));
                        }
                    }

                    // redirencionar avisando que já esta inscrito no rolé.
                }

                Participamente novoParticipante = new Participamente();

                novoParticipante.fkRole     = id;
                novoParticipante.fkUsuario  = usuario.pkUsuario;
                novoParticipante.autorizado = true; // depois isso deve ser alterado de acordo com as configuracoes do role. publico ou privado.

                if (pkMoto == null)
                {
                    int totalmotos = usuario.Moto.Where(o => o.ativa == true).ToList().Count;

                    if (totalmotos == 0)
                    {
                        return(RedirectToAction("Details", "Roles", new { id = id, msgErro = "Você precisa ter pelo menos uma Moto cadastrada! <br> clique aqui para cadastrar!" }));
                    }

                    if (totalmotos > 1)
                    {
                        return(RedirectToAction("Details", "Roles", new { id = id, msgErro = "Você precisa ter pelo menos uma Moto cadastrada! <br> clique aqui para cadastrar!" }));
                    }
                    if (totalmotos == 1)
                    {
                        novoParticipante.fkMoto = usuario.Moto.First().pkMoto;
                    }
                }
                else
                {
                    novoParticipante.fkMoto = pkMoto;
                }

                db.Participamente.Add(novoParticipante);
                await db.SaveChangesAsync();

                return(RedirectToAction("Details", "Roles", new { id = id, msgErro = "Participação no Passeio/Evento Cadastrada com Sucesso!" }));
            }
            catch (Exception er)
            {
                return(RedirectToAction("Details", "Roles", new { id = id, msgErro = er.Message.ToString() }));

                throw;
            }
            return(View());
        }
示例#3
0
        // GET: Roles/Details/5
        public async Task <ActionResult> Details(int?id, string msgErro)
        {
            if (id == null)
            {
                return(RedirectToAction("IndexInterno", "Home"));
            }

            CAUsuario usuario;

            if (Session["usuario"] == null)
            {
                return(RedirectToAction("View", "Home", new { id = id }));
            }
            else
            {
                usuario = (CAUsuario)Session["usuario"];
            }

            EntidadeRole entRole = new EntidadeRole();
            Role         role    = await db.Role.FindAsync(id);

            entRole.role = role;

            if (usuario.pkUsuario == role.fkUsuario)
            {
                entRole.eAdm = true;
            }
            else
            {
                entRole.eAdm = false;
            }


            if (msgErro != null)
            {
                entRole.erro           = new EntidadeErro();
                entRole.erro.msgErro   = msgErro;
                entRole.erro.msgTitulo = "Atenção";
                entRole.erro.msgTipo   = "warning";
                entRole.erro.erro      = true;
            }
            if (role == null)
            {
                return(HttpNotFound());
            }

            MotoesController    cMoto      = new MotoesController();
            List <EntidadeMoto> listaMotos = cMoto.carregaEntidadeMoto(db.Moto.Where(o => o.fkUsuario == usuario.pkUsuario && o.ativa == true).ToList());

            ViewBag.pkMoto = new SelectList(listaMotos, "pkMoto", "descricao");

            if (db.Participamente.Where(o => o.fkRole == id && o.fkUsuario == usuario.pkUsuario).Any())
            {
                entRole.inscritoRole = true;

                Participamente participante = db.Participamente.Where(o => o.fkRole == id && o.fkUsuario == usuario.pkUsuario).First();

                entRole.descricaoMotoInscrita = participante.Moto.nomeMoto + " - " + participante.Moto.Marca.DescricaoMarca + " - " + participante.Moto.modeloMoto;
            }
            else
            {
                entRole.inscritoRole = false;
            }

            // List<Participamente> listaParticipantes =

            entRole.participantes = db.Participamente.Where(o => o.fkRole == id && o.autorizado == true).ToList();

            entRole.comentarios = db.Comentario.Where(o => o.fkRole == id && o.ativo == true).ToList();

            return(View(entRole));
        }