Exemplo n.º 1
0
        public ActionResult Create(Curso curso)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    CursoServiceRemoto.CursoServiceClient clienteCurso = new CursoServiceRemoto.CursoServiceClient();
                    ProfessorServiceRemote.ProfessorServiceClient clienteProfessor = new ProfessorServiceRemote.ProfessorServiceClient();
                    List<Professor> professores = new List<Professor>();
                    curso.Professores = new List<Professor>();

                    Professor professor;
                    for (int i = 0; i < curso.ProfessoresId.Length; i++)
                    {
                        professor = Mapper.Map<AcmeCursos.Presentation.ProfessorServiceRemote.ProfessorDTO, Professor>(clienteProfessor.Find(curso.ProfessoresId[i]));

                        professores.Add(professor);
                    }

                    CursoDTO cursoDTO = Mapper.Map<Curso, CursoDTO>(curso);

                    cursoDTO.Professores = Mapper.Map<List<ProfessorDTO>>(professores);

                    bool retorno = clienteCurso.Add(cursoDTO);

                    TempData["Mensagem"] = "Curso cadastrado com sucesso";
                    TempData["Sucesso"] = retorno;

                    return RedirectToAction("Index");

                }
                catch (Exception e)
                {
                    ViewBag.Mensagem = e.Message;

                    List<int> professoresId = new List<int>();
                    curso.ProfessoresId.ToList().ForEach(p => professoresId.Add(p));
                    ViewBag.ProfessorSelectList = CriaMultiSelectListProfessores(professoresId);
                    return View("Create", curso);
                }

            }

            return View("Create", curso);
        }
Exemplo n.º 2
0
        public ActionResult Create(Curso curso)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    CursoServiceRemoto.CursoServiceClient         clienteCurso     = new CursoServiceRemoto.CursoServiceClient();
                    ProfessorServiceRemote.ProfessorServiceClient clienteProfessor = new ProfessorServiceRemote.ProfessorServiceClient();
                    List <Professor> professores = new List <Professor>();
                    curso.Professores = new List <Professor>();

                    Professor professor;
                    for (int i = 0; i < curso.ProfessoresId.Length; i++)
                    {
                        professor = Mapper.Map <AcmeCursos.Presentation.ProfessorServiceRemote.ProfessorDTO, Professor>(clienteProfessor.Find(curso.ProfessoresId[i]));

                        professores.Add(professor);
                    }

                    CursoDTO cursoDTO = Mapper.Map <Curso, CursoDTO>(curso);

                    cursoDTO.Professores = Mapper.Map <List <ProfessorDTO> >(professores);

                    bool retorno = clienteCurso.Add(cursoDTO);

                    TempData["Mensagem"] = "Curso cadastrado com sucesso";
                    TempData["Sucesso"]  = retorno;

                    return(RedirectToAction("Index"));
                }
                catch (Exception e)
                {
                    ViewBag.Mensagem = e.Message;

                    List <int> professoresId = new List <int>();
                    curso.ProfessoresId.ToList().ForEach(p => professoresId.Add(p));
                    ViewBag.ProfessorSelectList = CriaMultiSelectListProfessores(professoresId);
                    return(View("Create", curso));
                }
            }

            return(View("Create", curso));
        }