public ActionResult Edit(FormulariosViewModel formulariosViewModel)
        {
            if (ModelState.IsValid)
            {
                var MeuFormulario = db.Formularios.Find(formulariosViewModel.FormularioID);

                MeuFormulario.Informacao = formulariosViewModel.Informacao;
                MeuFormulario.Data       = formulariosViewModel.Data;

                foreach (var item in db.FormularioExperiencias)
                {
                    if (item.FormularioId == formulariosViewModel.FormularioID)
                    {
                        db.Entry(item).State = EntityState.Deleted;
                    }
                }

                foreach (var item in formulariosViewModel.Experiencias)
                {
                    if (item.Checked)
                    {
                        db.FormularioExperiencias.Add(new FormularioExperiencia()
                        {
                            FormularioId = formulariosViewModel.FormularioID, ExperienciaId = item.Id
                        });
                    }
                }

                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(formulariosViewModel));
        }
        public ActionResult EditarModificacaoDePadrao(FormulariosViewModel formulariosViewModel)
        {
            if (ModelState.IsValid)
            {
                var MeuFormulario = db.Formularios.Find(formulariosViewModel.FormularioID);

                foreach (var item in db.FormularioExperiencias)
                {
                    if (item.FormularioId == formulariosViewModel.FormularioID)
                    {
                        db.Entry(item).State = EntityState.Deleted;
                    }
                }

                foreach (var item in formulariosViewModel.Experiencias)
                {
                    if (item.Checked)
                    {
                        db.FormularioExperiencias.Add(new FormularioExperiencia()
                        {
                            FormularioId = formulariosViewModel.FormularioID, ExperienciaId = item.Id
                        });
                    }
                }
                ViewBag.FormularioID = formulariosViewModel.FormularioID;
                db.SaveChanges();
                return(RedirectToAction("Create", "ComoFoiAsExperiencias", new { formulariosViewModel.FormularioID }));
            }
            return(View(formulariosViewModel));
        }
        public ActionResult Create()
        {
            var Resultados = from b in db.Experiencias
                             select new
            {
                b.ExperienciaId,
                b.InfoExperiencia,
            };

            FormulariosViewModel MinhaViewModelFormulario = new FormulariosViewModel();


            var MinhaListaDeCheckBox = new List <CheckBoxViewModel>();

            foreach (var item in Resultados)
            {
                MinhaListaDeCheckBox.Add(new CheckBoxViewModel {
                    Id = item.ExperienciaId, Name = item.InfoExperiencia, Checked = false
                });
            }

            MinhaViewModelFormulario.Experiencias = MinhaListaDeCheckBox;


            return(View(MinhaViewModelFormulario));
        }
        public ActionResult Create(FormulariosViewModel formulariosViewModel)
        {
            Formulario formulario = new Formulario();


            if (ModelState.IsValid)
            {
                var MeuFormulario = db.Formularios.Find(formulariosViewModel.FormularioID);

                //Identificar o id do usuário que está logado
                var GetIdUser = from b in db.Usuarios where b.Nome == User.Identity.Name select b;

                foreach (var item in GetIdUser)
                {
                    formulario.UsuarioId = item.Id;
                    ViewBag.UsuarioID    = item.Id;
                }
                formulario.Informacao = formulariosViewModel.Informacao;
                formulario.Data       = formulariosViewModel.Data;
                formulario.Data       = formulariosViewModel.Data;


                //formulario.UsuarioId = 1;
                db.Formularios.Add(formulario);


                foreach (var item in db.FormularioExperiencias)
                {
                    if (item.FormularioId == formulariosViewModel.FormularioID)
                    {
                        db.Entry(item).State = EntityState.Deleted;
                    }
                }


                foreach (var item in formulariosViewModel.Experiencias)
                {
                    if (item.Checked)
                    {
                        db.FormularioExperiencias.Add(new FormularioExperiencia()
                        {
                            FormularioId = formulariosViewModel.FormularioID, ExperienciaId = item.Id,
                        });
                    }
                }

                db.SaveChanges();



                return(RedirectToAction("Index"));
            }
            return(View(formulariosViewModel));
        }
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Formulario formulario = db.Formularios.Find(id);

            if (formulario == null)
            {
                return(HttpNotFound());
            }

            //Capturar os textos em experiencias e filtrar para que o checkbox seja igual ao inserido pelo FormularioExperiencias
            var Resultados = from b in db.Experiencias
                             select new
            {
                b.ExperienciaId,
                b.InfoExperiencia,
                Checked = ((from ab in db.FormularioExperiencias
                            where (ab.FormularioId == id) & (ab.ExperienciaId == b.ExperienciaId)
                            select ab).Count() > 0)
            };

            // instancia formulariosviewmodel
            var MinhaViewModelFormulario = new FormulariosViewModel();

            //recebe os dados de formulario pelo banco
            MinhaViewModelFormulario.FormularioID = id.Value;
            MinhaViewModelFormulario.Informacao   = formulario.Informacao;
            MinhaViewModelFormulario.Data         = formulario.Data;

            //instancia o checkboxviewmodel
            var MinhaListaDeCheckBox = new List <CheckBoxViewModel>();

            //adiciona ao checkbox viewmodel aquele filtro que foi feito na expressão lambda
            foreach (var item in Resultados)
            {
                MinhaListaDeCheckBox.Add(new CheckBoxViewModel {
                    Id = item.ExperienciaId, Name = item.InfoExperiencia, Checked = item.Checked
                });
            }

            //guarda esses valores em formularioviewmodel
            MinhaViewModelFormulario.Experiencias = MinhaListaDeCheckBox;


            //envia
            return(View(MinhaViewModelFormulario));
        }
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Formulario formulario = db.Formularios.Find(id);

            if (formulario == null)
            {
                return(HttpNotFound());
            }

            var Resultados = from b in db.Experiencias
                             select new
            {
                b.ExperienciaId,
                b.InfoExperiencia,
                Checked = ((from ab in db.FormularioExperiencias
                            where (ab.FormularioId == id) & (ab.ExperienciaId == b.ExperienciaId)
                            select ab).Count() > 0)
            };

            var MinhaViewModelFormulario = new FormulariosViewModel();

            MinhaViewModelFormulario.FormularioID = id.Value;
            MinhaViewModelFormulario.Informacao   = formulario.Informacao;
            MinhaViewModelFormulario.Data         = formulario.Data;

            var MinhaListaDeCheckBox = new List <CheckBoxViewModel>();

            foreach (var item in Resultados)
            {
                MinhaListaDeCheckBox.Add(new CheckBoxViewModel {
                    Id = item.ExperienciaId, Name = item.InfoExperiencia, Checked = item.Checked
                });
            }

            MinhaViewModelFormulario.Experiencias = MinhaListaDeCheckBox;


            return(View(MinhaViewModelFormulario));
        }
        public ActionResult EditarModificacaoDePadrao(int?id, int idUsuario)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Formulario formulario = db.Formularios.Find(id);

            if (formulario == null)
            {
                return(HttpNotFound());
            }

            var Resultados = from b in db.Experiencias
                             select new
            {
                b.ExperienciaId,
                b.InfoExperiencia,
            };

            var MinhaViewModelFormulario = new FormulariosViewModel();

            MinhaViewModelFormulario.FormularioID = id.Value;
            var MinhaListaDeCheckBox = new List <CheckBoxViewModel>();

            foreach (var item in Resultados)
            {
                MinhaListaDeCheckBox.Add(new CheckBoxViewModel {
                    Id = item.ExperienciaId, Name = item.InfoExperiencia, Checked = false
                });
            }

            MinhaViewModelFormulario.Experiencias = MinhaListaDeCheckBox;
            MinhaViewModelFormulario.UsuarioId    = idUsuario;


            return(View(MinhaViewModelFormulario));
        }