public ActionResult DeleteConfirmed(int id)
 {
     IUnidadAcademicaRepository unidadAcademicaRepository = new UnidadAcademicaRepository();
     UnidadAcademica model = unidadAcademicaRepository.GetSingle(id);
     unidadAcademicaRepository.Delete(model);
     unidadAcademicaRepository.Save();
     return RedirectToAction("Index");
 }
        //
        // GET: /UnidadAcademica/Delete/5
        public ActionResult Delete(int id = 0)
        {
            IUnidadAcademicaRepository unidadAcademicaRepository = new UnidadAcademicaRepository();
            UnidadAcademica model = unidadAcademicaRepository.GetSingle(id);

            if (model == null)
            {
                return HttpNotFound();
            }
            return View(model);
        }
        public ActionResult Create(UnidadAcademica unidadacademica)
        {
            IUnidadAcademicaRepository unidadAcademicaRepository = new UnidadAcademicaRepository();
            if (ModelState.IsValid)
            {
                unidadAcademicaRepository.Add(unidadacademica);
                unidadAcademicaRepository.Save();
                return RedirectToAction("Index");
            }

            return View(unidadacademica);
        }
        public void VerificarInsertarAlmacenTrabajo()
        {
            UnidadAcademica unidadAcademica = new UnidadAcademica();
            unidadAcademica.IdUnidadAcademica = 0;
            unidadAcademica.Departamento = "test";
            IUnidadAcademicaRepository unidadAcademicaRepository = new UnidadAcademicaRepository();

            unidadAcademicaRepository.Add(unidadAcademica);
            unidadAcademicaRepository.Save();

            var unidadesAcademicas = unidadAcademicaRepository.GetAll().ToList();
            int index = unidadesAcademicas.FindIndex(x => x.Departamento == unidadAcademica.Departamento);
            Assert.IsTrue(index >= 0);
        }
        //
        // GET: /AlmacenTrabajo/Create
        public ActionResult Create()
        {
            IUnidadAcademicaRepository unidadAcademicaRepository = new UnidadAcademicaRepository();
            ICarreraRepository carreraRepository = new CarreraRepository();
            ITutorRepository tutorRepository = new TutorRepository();
            ITrabajoGradoRepository trabajoGradoRepository = new TrabajoGradoRepository();
            AlmacenTrabajoCarreraUnidadAcademicaTutorTrabajoGradoDto modelDto = new AlmacenTrabajoCarreraUnidadAcademicaTutorTrabajoGradoDto();
            modelDto.ListUnidadesAcademicas = unidadAcademicaRepository.GetAll().ToList();
            modelDto.ListCarreras = carreraRepository.GetAll().ToList();
            modelDto.ListTutores = tutorRepository.GetAll().ToList();
            modelDto.ListTrabajosGrado = trabajoGradoRepository.GetAll().ToList();
            modelDto.FillDropDowns();

            return View(modelDto);
        }
        public ActionResult Create(AlmacenTrabajoCarreraUnidadAcademicaTutorTrabajoGradoDto modelDto)
        {
            IAlmacenTrabajoRepository almacenTrabajoRepository = new AlmacenTrabajoRepository();
            IUnidadAcademicaRepository unidadAcademicaRepository = new UnidadAcademicaRepository();
            ICarreraRepository carreraRepository = new CarreraRepository();
            ITutorRepository tutorRepository = new TutorRepository();
            ITrabajoGradoRepository trabajoGradoRepository = new TrabajoGradoRepository();
            if (ModelState.IsValid)
            {
                AlmacenTrabajo almacenTrabajo = modelDto.GetAlmacenTrabajo();
                almacenTrabajoRepository.Add(almacenTrabajo);
                almacenTrabajoRepository.Save();
                return RedirectToAction("Index");
            }

            modelDto.ListUnidadesAcademicas = unidadAcademicaRepository.GetAll().ToList();
            modelDto.ListCarreras = carreraRepository.GetAll().ToList();
            modelDto.ListTutores = tutorRepository.GetAll().ToList();
            modelDto.ListTrabajosGrado = trabajoGradoRepository.GetAll().ToList();
            modelDto.FillDropDowns();

            return View(modelDto);
        }
        public void VerificarEliminarUnidadAcademica()
        {
            UnidadAcademica unidadAcademica = new UnidadAcademica();
            unidadAcademica.IdUnidadAcademica = 0;
            unidadAcademica.Departamento = "test2";
            IUnidadAcademicaRepository unidadAcademicaRepository = new UnidadAcademicaRepository();
            unidadAcademicaRepository.Add(unidadAcademica);
            unidadAcademicaRepository.Save();

            var unidadesAcademicas = unidadAcademicaRepository.GetAll().ToList();
            int index = unidadesAcademicas.FindIndex(x => x.Departamento == unidadAcademica.Departamento);
            if (index >= 0)
            {
                unidadAcademica = unidadesAcademicas[index];
            }

            unidadAcademicaRepository.Delete(unidadAcademica);
            unidadAcademicaRepository.Save();

            unidadesAcademicas = unidadAcademicaRepository.GetAll().ToList();
            index = unidadesAcademicas.FindIndex(x => x.Departamento == unidadAcademica.Departamento);

            Assert.IsTrue(index == -1);
        }
        //
        // GET: /AlmacenTrabajo/Edit/5
        public ActionResult Edit(int id = 0)
        {
            IAlmacenTrabajoRepository almacenTrabajoRepository = new AlmacenTrabajoRepository();
            IUnidadAcademicaRepository unidadAcademicaRepository = new UnidadAcademicaRepository();
            ICarreraRepository carreraRepository = new CarreraRepository();
            ITutorRepository tutorRepository = new TutorRepository();
            ITrabajoGradoRepository trabajoGradoRepository = new TrabajoGradoRepository();

            AlmacenTrabajo almacenTrabajo = almacenTrabajoRepository.GetSingle(id);
            AlmacenTrabajoCarreraUnidadAcademicaTutorTrabajoGradoDto modelDto = new AlmacenTrabajoCarreraUnidadAcademicaTutorTrabajoGradoDto();

            if (almacenTrabajo == null)
            {
                return HttpNotFound();
            }
            modelDto.GetModelDtoFromAlmacenTrabajo(almacenTrabajo);
            modelDto.ListUnidadesAcademicas = unidadAcademicaRepository.GetAll().ToList();
            modelDto.ListCarreras = carreraRepository.GetAll().ToList();
            modelDto.ListTutores = tutorRepository.GetAll().ToList();
            modelDto.ListTrabajosGrado = trabajoGradoRepository.GetAll().ToList();
            modelDto.FillDropDowns();
            return View(modelDto);
        }
 //
 // GET: /UnidadAcademica/
 public ActionResult Index()
 {
     IUnidadAcademicaRepository unidadAcademicaRepository = new UnidadAcademicaRepository();
     var listUnidadAcademica = unidadAcademicaRepository.GetAll().ToList();
     return View(listUnidadAcademica);
 }