public List <itemLista> GetRetornaPromocoesTotalPosts(int idEmpresa) { var promoRN = new Promocoes(); var promos = promoRN.retornaPromocoesEmpresaTotalPosts(idEmpresa); return(promos); }
public async Task <IActionResult> EditOperadores(PromocoesPacotesViewModel promocoesPacotesViewModel) { List <PromocoesPacotes> promocoesDosPacotes = new List <PromocoesPacotes>(); int id = promocoesPacotesViewModel.PromocoesId; Promocoes promocao = await bd.Promocoes.Include(p => p.PromocoesPacotes) .ThenInclude(c => c.Pacote) //.AsNoTracking() .SingleOrDefaultAsync(p => p.PromocoesId == id); int promocaoId = promocao.PromocoesId; foreach (var pacote in promocoesPacotesViewModel.ListaPacotes) { if (pacote.Selecionado == true) { promocoesDosPacotes.Add(new PromocoesPacotes() { PromocoesId = promocaoId, PacoteId = pacote.Id }); } } var ListaPromocoesPacotes = bd.PromocoesPacotes.Where(p => p.PromocoesId == id).ToList(); var resultado = ListaPromocoesPacotes.Except(promocoesDosPacotes).ToList(); foreach (var promocaoPacote in resultado) { bd.PromocoesPacotes.Remove(promocaoPacote); await bd.SaveChangesAsync(); } var novaListaPromocoesPacotes = bd.PromocoesPacotes.Where(p => p.PromocoesId == id).ToList(); foreach (var pacote in promocoesDosPacotes) { if (!novaListaPromocoesPacotes.Contains(pacote)) { bd.PromocoesPacotes.Add(pacote); await bd.SaveChangesAsync(); } } //Checklist de Distritos List <DistritosPromocoes> distritoscomPromocoes = new List <DistritosPromocoes>(); foreach (var item in promocoesPacotesViewModel.ListaDistritosCentro) { if (item.Selecionado == true) { distritoscomPromocoes.Add(new DistritosPromocoes() { PromocoesId = promocaoId, DistritosId = item.Id }); } } foreach (var item in promocoesPacotesViewModel.ListaDistritosIlhas) { if (item.Selecionado == true) { distritoscomPromocoes.Add(new DistritosPromocoes() { PromocoesId = promocaoId, DistritosId = item.Id }); } } foreach (var item in promocoesPacotesViewModel.ListaDistritosNorte) { if (item.Selecionado == true) { distritoscomPromocoes.Add(new DistritosPromocoes() { PromocoesId = promocaoId, DistritosId = item.Id }); } } foreach (var item in promocoesPacotesViewModel.ListaDistritosSul) { if (item.Selecionado == true) { distritoscomPromocoes.Add(new DistritosPromocoes() { PromocoesId = promocaoId, DistritosId = item.Id }); } } var listaDistritosPromocoes = bd.DistritosPromocoes.Where(p => p.PromocoesId == id).ToList(); var resultado2 = listaDistritosPromocoes.Except(distritoscomPromocoes).ToList(); foreach (var distrito in resultado2) { bd.DistritosPromocoes.Remove(distrito); await bd.SaveChangesAsync(); } var novalistaDistritosPromocoes = bd.DistritosPromocoes.Where(p => p.PromocoesId == id).ToList(); foreach (var distrito in distritoscomPromocoes) { if (!novalistaDistritosPromocoes.Contains(distrito)) { bd.DistritosPromocoes.Add(distrito); await bd.SaveChangesAsync(); } } ViewBag.Mensagem = "Promoção alterada com sucesso"; return(View("Sucesso")); }
public async Task <IActionResult> Create(PromocoesPacotesViewModel promocoesPacotesViewModel, PromocoesPacotes promocoesPacotes, Promocoes promocoes) { if (!ModelState.IsValid) { var pacotes = bd.Pacotes.ToList(); promocoesPacotesViewModel.ListaPacotes = pacotes.Select(s => new Checkbox() { Id = s.PacoteId, NomePacote = s.Nome, Selecionado = false }).ToList(); var distritosCentro = bd.Distritos.Where(p => p.Nome == "Coimbra" || p.Nome == "Aveiro" || p.Nome == "Viseu" || p.Nome == "Leiria" || p.Nome == "Castelo Branco" || p.Nome == "Guarda") .ToList(); var distritosNorte = bd.Distritos.Where(p => p.Nome == "Viana do Castelo" || p.Nome == "Braga" || p.Nome == "Porto" || p.Nome == "Vila Real" || p.Nome == "Bragança") .ToList(); var distritosSul = bd.Distritos.Where(p => p.Nome == "Lisboa" || p.Nome == "Setúbal" || p.Nome == "Santarém" || p.Nome == "Portalegre" || p.Nome == "Évora" || p.Nome == "Beja" || p.Nome == "Faro") .ToList(); var distritosIlhas = bd.Distritos.Where(p => p.Nome == "Açores" || p.Nome == "Madeira") .ToList(); promocoesPacotesViewModel.ListaDistritosCentro = distritosCentro.Select(s => new Checkbox() { Id = s.DistritosId, NomeDistrito = s.Nome, Selecionado = false }).ToList(); promocoesPacotesViewModel.ListaDistritosNorte = distritosNorte.Select(s => new Checkbox() { Id = s.DistritosId, NomeDistrito = s.Nome, Selecionado = false }).ToList(); promocoesPacotesViewModel.ListaDistritosSul = distritosSul.Select(s => new Checkbox() { Id = s.DistritosId, NomeDistrito = s.Nome, Selecionado = false }).ToList(); promocoesPacotesViewModel.ListaDistritosIlhas = distritosIlhas.Select(s => new Checkbox() { Id = s.DistritosId, NomeDistrito = s.Nome, Selecionado = false }).ToList(); return(View(promocoesPacotesViewModel)); } List <PromocoesPacotes> promocoesDosPacotes = new List <PromocoesPacotes>(); promocoes.Nome = promocoesPacotesViewModel.Nome; promocoes.Descricao = promocoesPacotesViewModel.Descricao; promocoes.DataInicio = promocoesPacotesViewModel.DataInicio; promocoes.DataFim = promocoesPacotesViewModel.DataFim; promocoes.PromocaoDesc = promocoesPacotesViewModel.PromocaoDesc; promocoes.Inactivo = false; int promocaoId = promocoes.PromocoesId; foreach (var item in promocoesPacotesViewModel.ListaPacotes) { if (item.Selecionado == true) { promocoesDosPacotes.Add(new PromocoesPacotes() { PromocoesId = promocaoId, PacoteId = item.Id }); } } if (promocoesDosPacotes.Count == 0) { ModelState.AddModelError("ListaPacotes", "A promoção que está a criar não vai ficar disponível para nenhum pacote"); } List <DistritosPromocoes> distritoscomPromocoes = new List <DistritosPromocoes>(); foreach (var item in promocoesPacotesViewModel.ListaDistritosCentro) { if (item.Selecionado == true) { distritoscomPromocoes.Add(new DistritosPromocoes() { PromocoesId = promocaoId, DistritosId = item.Id }); } } foreach (var item in promocoesPacotesViewModel.ListaDistritosIlhas) { if (item.Selecionado == true) { distritoscomPromocoes.Add(new DistritosPromocoes() { PromocoesId = promocaoId, DistritosId = item.Id }); } } foreach (var item in promocoesPacotesViewModel.ListaDistritosNorte) { if (item.Selecionado == true) { distritoscomPromocoes.Add(new DistritosPromocoes() { PromocoesId = promocaoId, DistritosId = item.Id }); } } foreach (var item in promocoesPacotesViewModel.ListaDistritosSul) { if (item.Selecionado == true) { distritoscomPromocoes.Add(new DistritosPromocoes() { PromocoesId = promocaoId, DistritosId = item.Id }); } } if (distritoscomPromocoes.Count == 0) { ModelState.AddModelError("ListaDistritosNorte", "A promoção que está a criar não vai ficar disponível em nenhum distrito"); } if (!ModelState.IsValid) { var pacotes = bd.Pacotes.ToList(); promocoesPacotesViewModel.ListaPacotes = pacotes.Select(s => new Checkbox() { Id = s.PacoteId, NomePacote = s.Nome, Selecionado = false }).ToList(); var distritosCentro = bd.Distritos.Where(p => p.Nome == "Coimbra" || p.Nome == "Aveiro" || p.Nome == "Viseu" || p.Nome == "Leiria" || p.Nome == "Castelo Branco" || p.Nome == "Guarda") .ToList(); var distritosNorte = bd.Distritos.Where(p => p.Nome == "Viana do Castelo" || p.Nome == "Braga" || p.Nome == "Porto" || p.Nome == "Vila Real" || p.Nome == "Bragança") .ToList(); var distritosSul = bd.Distritos.Where(p => p.Nome == "Lisboa" || p.Nome == "Setúbal" || p.Nome == "Santarém" || p.Nome == "Portalegre" || p.Nome == "Évora" || p.Nome == "Beja" || p.Nome == "Faro") .ToList(); var distritosIlhas = bd.Distritos.Where(p => p.Nome == "Açores" || p.Nome == "Madeira") .ToList(); promocoesPacotesViewModel.ListaDistritosCentro = distritosCentro.Select(s => new Checkbox() { Id = s.DistritosId, NomeDistrito = s.Nome, Selecionado = false }).ToList(); promocoesPacotesViewModel.ListaDistritosNorte = distritosNorte.Select(s => new Checkbox() { Id = s.DistritosId, NomeDistrito = s.Nome, Selecionado = false }).ToList(); promocoesPacotesViewModel.ListaDistritosSul = distritosSul.Select(s => new Checkbox() { Id = s.DistritosId, NomeDistrito = s.Nome, Selecionado = false }).ToList(); promocoesPacotesViewModel.ListaDistritosIlhas = distritosIlhas.Select(s => new Checkbox() { Id = s.DistritosId, NomeDistrito = s.Nome, Selecionado = false }).ToList(); return(View(promocoesPacotesViewModel)); } bd.Promocoes.Add(promocoes); await bd.SaveChangesAsync(); foreach (var item in promocoesDosPacotes) { item.PromocoesId = promocoes.PromocoesId; bd.PromocoesPacotes.Add(item); } await bd.SaveChangesAsync(); foreach (var item in distritoscomPromocoes) { item.PromocoesId = promocoes.PromocoesId; bd.DistritosPromocoes.Add(item); } await bd.SaveChangesAsync(); ViewBag.Mensagem = "Promoção adicionada com sucesso."; return(View("Sucesso")); }