Ejemplo n.º 1
0
        public ActionResult EditarTrabajo(int TrabajoId, FormCollection formCollection)
        {
            if (!PermitirAcceso())
                return RedirigirFaltaAcceso();

            var ActualProfesorId = Session.Get(GlobalKey.UsuarioId).ToString();
            var ActualPeriodoId = Session.Get(GlobalKey.ActualPeriodoId).ToString();

            var ValidationLogic = new ValidationLogic(ModelState);
            var FechaInicio = formCollection["Trabajo.FechaInicio"].ToString();
            var FechaFin = formCollection["Trabajo.FechaFin"].ToString();
            var Nombre = formCollection["Trabajo.Nombre"].ToString();

            ValidationLogic.Valid(FechaInicio, "Trabajo.FechaInicio", ValidationOption.IsEmpty, ValidationOption.IsDate);
            ValidationLogic.Valid(FechaFin, "Trabajo.FechaFin", ValidationOption.IsEmpty, ValidationOption.IsDate);
            ValidationLogic.Valid(Nombre, "Trabajo.Nombre", ValidationOption.IsNotEmpty);

            if (!ModelState.IsValid)
            {
                var EditarTrabajoViewModel = new EditarTrabajoViewModel(TrabajoId, ActualProfesorId);
                TryUpdateModel(EditarTrabajoViewModel);
                return View(EditarTrabajoViewModel);
            }

            var Trabajo = ePortafolioRepositoryFactory.GetTrabajosRepository().GetOne(TrabajoId);
            var CursosPeriodos = SSIARepositoryFactory.GetCursosPeriodosRepository().GetOne(Trabajo.CursoId, ActualPeriodoId);

            if (CursosPeriodos.CoordinadorId != ActualProfesorId)
                PostMessage("No tiene los permisos necesarios para editar el trabajo.", MessageType.Error);
            else
            {
                Trabajo.FechaInicio = null;
                Trabajo.FechaFin = null;

                if (FechaInicio != String.Empty)
                    Trabajo.FechaInicio = Convert.ToDateTime(FechaInicio);
                if (FechaFin != String.Empty)
                    Trabajo.FechaFin = Convert.ToDateTime(FechaFin);

                if (Trabajo.FechaInicio != null && Trabajo.FechaFin != null && Trabajo.FechaInicio > Trabajo.FechaFin)
                {
                    Trabajo.FechaInicio = Convert.ToDateTime(FechaFin);
                    Trabajo.FechaFin = Convert.ToDateTime(FechaInicio);
                }

                Trabajo.Nombre = Nombre;
                Trabajo.EsGrupal = Convert.ToBoolean(formCollection["Trabajo.EsGrupal"]);
                Trabajo.Instrucciones = formCollection["Trabajo.Instrucciones"].ToString();

                try
                {
                    using (TransactionScope scope = new TransactionScope())
                    {
                        ePortafolioRepositoryFactory.GetTrabajosRepository().Update(Trabajo);
                        ePortafolioRepositoryFactory.SubmitChanges(true);
                        scope.Complete();
                        PostMessage("El trabajo ha sido editado exitosamente.", MessageType.Success);
                    }
                }
                catch (Exception ex)
                {
                    PostMessage("Ha ocurrido un error.", MessageType.Error);
                }
            }

            return RedirectToAction("MostrarTrabajos", "Profesor", new { PeriodoId = Trabajo.PeriodoId });
        }
Ejemplo n.º 2
0
        public ActionResult EditarTrabajo(int TrabajoId)
        {
            if (!PermitirAcceso())
                return RedirigirFaltaAcceso();

            var ActualProfesorId = Session.Get(GlobalKey.UsuarioId).ToString();
            var EditarTrabajoViewModel = new EditarTrabajoViewModel(TrabajoId, ActualProfesorId);
            return View(EditarTrabajoViewModel);
        }