Esempio n. 1
0
        public ActionResult DetalhesRedesAdmin(string id)
        {
            if (String.IsNullOrEmpty(id))
            {
                //return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
                return(RedirectToAction("ListarRedesAdmin"));
            }
            RedeProprietaria rede = db.RedesProprietarias.Find(id);

            if (rede == null)
            {
                //return HttpNotFound();
                return(RedirectToAction("ListarRedesAdmin"));
            }
            ViewBag.rede = rede;
            List <Estacao> estacoes   = new List <Estacao>();
            var            estadoesdb = db.Estacoes.Include(r => r.Postos).Where(r => r.RedeProprietariaId == id);

            foreach (Estacao est in estadoesdb)
            {
                estacoes.Add(est);
            }

            return(View(estacoes.ToList()));
        }
Esempio n. 2
0
        //
        // GET: /Manage/RedeProprietariaAccountEdit
        public ActionResult RedeProprietariaAccountEdit()
        {
            string           userId = User.Identity.GetUserId();
            RedeProprietaria rede   = db.RedesProprietarias.Find(userId);

            ViewBag.email = User.Identity.GetUserName();
            return(View(rede));
        }
Esempio n. 3
0
 public ActionResult RedeProprietariaAccountEdit([Bind(Include = "RedeProprietariaId,Nome,Nif,NumeroCC,TitularCC,CCV")] RedeProprietaria rede)
 {
     if (ModelState.IsValid)
     {
         db.Entry(rede).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("RedeProprietariaAccountDetails"));
     }
     return(View(rede));
 }
 public ActionResult NovaEstacao([Bind(Include = "Cidade,Localizacao,Preco")] Estacao estacao)
 {
     if (ModelState.IsValid)
     {
         string           userId = User.Identity.GetUserId();
         Estacao          est    = new Estacao(estacao.Cidade, estacao.Localizacao, estacao.Preco);
         RedeProprietaria rp     = db.RedesProprietarias.FirstOrDefault(s => s.RedeProprietariaId.Contains(userId));
         est.RedeProprietaria = rp;
         db.Estacoes.Add(est);
         db.SaveChanges();
         return(RedirectToAction("ListarEstacoes"));
     }
     return(View(estacao));
 }
Esempio n. 5
0
        public ActionResult RemoverRedesAdmin(string id)
        {
            if (String.IsNullOrEmpty(id))
            {
                //return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
                return(RedirectToAction("ListarRedesAdmin"));
            }
            RedeProprietaria rede = db.RedesProprietarias.Find(id);

            if (rede == null)
            {
                //return HttpNotFound();
                return(RedirectToAction("ListarRedesAdmin"));
            }
            return(View(rede));
        }
Esempio n. 6
0
        public async System.Threading.Tasks.Task <ActionResult> RemoverRedesAdmin(string id, string nome)
        {
            ApplicationUserManager _userManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>();
            RedeProprietaria       rede         = db.RedesProprietarias.Find(id);
            List <Estacao>         estacoes     = new List <Estacao>();
            List <List <Posto> >   listaPostos  = new List <List <Posto> >();
            List <Reserva>         reservas     = new List <Reserva>();

            var estadoesdb = db.Estacoes.Where(r => r.RedeProprietariaId.Contains(id)); // Estações da rede

            foreach (Estacao est in estadoesdb)
            {
                estacoes.Add(est);
            }

            foreach (Estacao est in estacoes)
            {
                var          postosdb = db.Postos.Where(p => p.EstacaoId == est.EstacaoId); // Postos de uma estação
                List <Posto> lista    = new List <Posto>();
                foreach (Posto posto in postosdb)
                {
                    lista.Add(posto);
                }
            }

            foreach (List <Posto> lista in listaPostos)
            {
                foreach (Posto posto in lista)
                {
                    var reservadb = db.Reservas.Where(rv => rv.PostoId == posto.PostoId); // Reservas de um posto
                    foreach (Reserva reserva in reservadb)
                    {
                        reservas.Add(reserva);
                    }
                }
            }

            foreach (Reserva reserva in reservas)
            {
                db.Reservas.Remove(reserva);
                db.SaveChanges();
            }
            foreach (List <Posto> lista in listaPostos)
            {
                foreach (Posto posto in lista)
                {
                    db.Postos.Remove(posto);
                    db.SaveChanges();
                }
            }
            foreach (Estacao estacao in estacoes)
            {
                db.Estacoes.Remove(estacao);
                db.SaveChanges();
            }

            db.RedesProprietarias.Remove(rede);
            db.SaveChanges();

            var user = await _userManager.FindByIdAsync(id);

            var logins       = user.Logins;
            var rolesForUser = await _userManager.GetRolesAsync(id);

            using (var transaction = db.Database.BeginTransaction())
            {
                foreach (var login in logins.ToList())
                {
                    await _userManager.RemoveLoginAsync(login.UserId, new UserLoginInfo(login.LoginProvider, login.ProviderKey));
                }

                if (rolesForUser.Count() > 0)
                {
                    foreach (var item in rolesForUser.ToList())
                    {
                        // item should be the name of the role
                        var result = await _userManager.RemoveFromRoleAsync(user.Id, item);
                    }
                }

                await _userManager.DeleteAsync(user);

                transaction.Commit();
            }


            return(RedirectToAction("ListarRedesAdmin"));
        }