public ActionResult Encomendas()
        {
            var listaDeCotacoes = new List <Cotacoes>();
            var listaDePedidos  = db.Pedidos.Include(c => c.Transportadora)
                                  .Where(a => a.Estado == 0)
                                  .OrderByDescending(a => a.DataEntregaPretendida)
                                  .ToList();

            foreach (var item in listaDePedidos)
            {
                var modelo = new Cotacoes();
                modelo.Pedido   = item;
                modelo.Pedidofk = item.ID;
                int idTransportadora = db.Transportadora
                                       .Where(a => a.Email == User.Identity.Name)
                                       .FirstOrDefault()
                                       .ID;
                modelo.Transportadora   = db.Transportadora.Find(idTransportadora);
                modelo.Transportadorafk = db.Transportadora.Find(idTransportadora).ID;
                modelo.valorCotacao     = "0";
                modelo.Aceite           = false;
                var existe = false;
                foreach (var iten in db.Cotacoes)
                {
                    if ((iten.Pedidofk.Equals(modelo.Pedidofk)) && (iten.Transportadorafk.Equals(modelo.Transportadorafk)))
                    {
                        existe = true;
                    }
                }
                if (!existe)
                {
                    listaDeCotacoes.Add(modelo);
                }
            }

            foreach (var item in listaDeCotacoes)
            {
                db.Cotacoes.Add(item);
                db.SaveChanges();
            }

            var listaFinal = db.Pedidos.Include(c => c.Transportadora)
                             .Where(a => a.Transportadora.Email == User.Identity.Name)
                             .OrderBy(a => a.Estado)
                             .ToList();

            return(View(listaFinal));
        }
        public ActionResult Create([Bind(Include = "ID,Nome,Apelido,NomeEmpresaDestinataria,PaisDestino,CidadeDestino,RuaDestino,CodigoPostalDestino,NumPortaDestino,ContactoDestinatario,EmailDestinatario,Peso,Comprimento,Largura,Altura,DataEntregaPretendida")] Pedidos pedido)
        {
            pedido.Utilizador = db.Utilizadores
                                .OrderByDescending(a => a.ID)
                                .Where(a => a.Email == User.Identity.Name)
                                .First();
            pedido.Utilizadorfk = pedido.Utilizador.ID;
            pedido.Aceite       = 0;
            pedido.Estado       = 0;
            if (ModelState.IsValid)
            {
                db.Pedidos.Add(pedido);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(pedido));
        }
Beispiel #3
0
        public async Task <ActionResult> DeleteConfirmed(int?id)
        {
            if (ModelState.IsValid)
            {
                if (id == null)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }

                var transportadora = db.Transportadora
                                     .Where(a => a.ID == id)
                                     .OrderByDescending(a => a.ID)
                                     .First();
                var user = UserManager.FindByName(transportadora.Email);

                if (user == null)
                {
                    return(HttpNotFound());
                }
                var result = await UserManager.DeleteAsync(user);

                if (!result.Succeeded)
                {
                    ModelState.AddModelError("", result.Errors.First());
                    return(View());
                }
                var cotacoes = db.Cotacoes
                               .Where(a => a.Transportadorafk == id)
                               .OrderByDescending(a => a.ID)
                               .ToList();
                foreach (var item in cotacoes)
                {
                    db.Cotacoes.Remove(item);
                    db.SaveChanges();
                }
                db.Transportadora.Remove(transportadora);
                db.SaveChanges();

                return(RedirectToAction("Index"));
            }
            return(View());
        }