//
        // 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);
        }
        //
        // 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);
        }