コード例 #1
0
        public ActionResult Create([Bind(Include = "ID,Turno,dataInicioPA,dataFimPA")] PlanoDeAtividades planoDeAtividades, string [] opcoesEscolhidasDeConc)
        {
            if (opcoesEscolhidasDeConc == null)
            {
                ModelState.AddModelError("", "Necessita escolher pelo menos uma Concretização para associar ao plano de atividades.");

                ViewBag.ListaObjetosDeConc = db.Concretizacao.OrderBy(f => f.dataInicioConcretizacao).ToList();

                // devolver controlo à View
                return(View(planoDeAtividades));
            }

            List <Concretizacao> listaDeObjetosDeConcEscolhidos = new List <Concretizacao>();

            foreach (string item in opcoesEscolhidasDeConc)
            {
                Concretizacao c = db.Concretizacao.Find(Convert.ToInt32(item));
                // adicioná-lo à lista
                listaDeObjetosDeConcEscolhidos.Add(c);
            }

            // adicionar a lista ao objeto de crianças
            planoDeAtividades.ListaDeObjetosDeConcretizacao = listaDeObjetosDeConcEscolhidos;

            if (ModelState.IsValid)
            {
                db.PlanoDeAtividades.Add(planoDeAtividades);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(planoDeAtividades));
        }
コード例 #2
0
        public ActionResult Create([Bind(Include = "ID,Nome,Idade,Doencas,NumCC,NIF")] Criancas criancas, string[] opcoesEscolhidasDePA, string[] opcoesEscolhidasDePais)
        {
            /// avalia se o array com a lista das escolhas de objetos de PlanosDeAtividades associados ao objeto do tipo Criancas
            /// é nula, ou não.
            /// Só poderá avanção se NÃO for nula
            if (opcoesEscolhidasDePA == null)
            {
                ModelState.AddModelError("", "Necessita escolher pelo menos um PlanoDeAtividades para associar à criança.");
                // gerar a lista de objetos de PA que podem ser associados a Criança
                ViewBag.ListaObjetosDePA  = db.PlanoDeAtividades.OrderBy(pa => pa.Turno).ToList();
                ViewBag.ListaObjetosDePai = db.Pais.OrderBy(p => p.Nome).ToList();
                ViewBag.PaiID             = Session["pai"];
                // devolver controlo à View
                return(View(criancas));
            }


            List <PlanoDeAtividades> listaDeObjetosDePAEscolhidos = new List <PlanoDeAtividades>();

            foreach (string item in opcoesEscolhidasDePA)
            {
                PlanoDeAtividades pa = db.PlanoDeAtividades.Find(Convert.ToInt32(item));
                // adicioná-lo à lista
                listaDeObjetosDePAEscolhidos.Add(pa);
            }

            // adicionar a lista ao objeto de crianças
            criancas.ListaDeObjetosDePlanoDeAtividades = listaDeObjetosDePAEscolhidos;


            if (opcoesEscolhidasDePais == null)
            {
                ModelState.AddModelError("", "Necessita escolher o pai para associar à criança.");

                ViewBag.ListaObjetosDePai = db.Pais.OrderBy(p => p.Nome).ToList();
                ViewBag.ListaObjetosDePA  = db.PlanoDeAtividades.OrderBy(pa => pa.Turno).ToList();
                ViewBag.PaiID             = Session["pai"];
                // devolver controlo à View
                return(View(criancas));
            }

            // criar um pai
            Pais pai = db.Pais.Find(Convert.ToInt32(opcoesEscolhidasDePais.First()));


            // adicionar o ID do pai ao PaiFK
            criancas.PaiFK = pai.ID;


            if (ModelState.IsValid)
            {
                db.Criancas.Add(criancas);
                db.SaveChanges();
                return(RedirectToAction("Details", "Pais", new { id = Session["pai"] }));
            }


            return(View(criancas));
        }
コード例 #3
0
        public ActionResult DeleteConfirmed(int id)
        {
            PlanoDeAtividades planoDeAtividades = db.PlanoDeAtividades.Find(id);

            db.PlanoDeAtividades.Remove(planoDeAtividades);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #4
0
        // GET: PlanoDeAtividades/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction("Index"));
            }
            PlanoDeAtividades planoDeAtividades = db.PlanoDeAtividades.Find(id);

            if (planoDeAtividades == null)
            {
                return(RedirectToAction("Index"));
            }
            return(View(planoDeAtividades));
        }
コード例 #5
0
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(RedirectToAction("Index"));
            }
            PlanoDeAtividades planoDeAtividades = db.PlanoDeAtividades.Find(id);

            if (planoDeAtividades == null)
            {
                return(RedirectToAction("Index"));
            }
            ViewBag.ListaObjetosDeConc = db.Concretizacao.OrderBy(f => f.dataInicioConcretizacao).ToList();
            return(View(planoDeAtividades));
        }
コード例 #6
0
        public ActionResult Edit([Bind(Include = "ID,Turno,dataInicioPA,dataFimPA")] PlanoDeAtividades planoDeAtividades, string[] opcoesEscolhidasDeConc)
        {
            var pa = db.PlanoDeAtividades.Include(c => c.ListaDeObjetosDeConcretizacao).Where(c => c.ID == planoDeAtividades.ID).SingleOrDefault();



            if (ModelState.IsValid)
            {
                pa.Turno        = planoDeAtividades.Turno;
                pa.dataInicioPA = planoDeAtividades.dataInicioPA;
                pa.dataFimPA    = planoDeAtividades.dataFimPA;
            }
            else
            {
                ViewBag.ListaObjetosDeConc = db.Concretizacao.OrderBy(f => f.dataInicioConcretizacao).ToList();
                return(View(planoDeAtividades));
            }
            // tentar fazer o UPDATE
            if (TryUpdateModel(pa, "", new string[] { nameof(pa.Turno), nameof(pa.dataInicioPA), nameof(pa.dataFimPA), nameof(pa.ListaDeObjetosDeConcretizacao) }))
            {
                var elementosDeConc = db.Concretizacao.ToList();

                if (opcoesEscolhidasDeConc != null)
                {
                    // se existirem opções escolhidas, vamos associá-las
                    foreach (var cc in elementosDeConc)
                    {
                        if (opcoesEscolhidasDeConc.Contains(cc.ID.ToString()))
                        {
                            // se uma opção escolhida ainda não está associada, cria-se a associação
                            if (!pa.ListaDeObjetosDeConcretizacao.Contains(cc))
                            {
                                pa.ListaDeObjetosDeConcretizacao.Add(cc);
                            }
                        }
                        else
                        {
                            // caso exista associação para uma opção que não foi escolhida,
                            // remove-se essa associação
                            pa.ListaDeObjetosDeConcretizacao.Remove(cc);
                        }
                    }
                }
                else
                {
                    // não existem opções escolhidas!
                    // vamos eliminar todas as associações
                    foreach (var cc in elementosDeConc)
                    {
                        if (pa.ListaDeObjetosDeConcretizacao.Contains(cc))
                        {
                            pa.ListaDeObjetosDeConcretizacao.Remove(cc);
                        }
                    }
                }
            }

            // guardar as alterações
            db.SaveChanges();

            // devolver controlo à View
            return(RedirectToAction("Details"));
        }