public string eliminarBloquePlan(int pBloqueXPlanID) { var vBloques = (from BloquesXPlanXCursos in gvDatabase.BlocksXPlansXCourses where BloquesXPlanXCursos.BlockXPlanID == pBloqueXPlanID select BloquesXPlanXCursos); if (vBloques != null) { foreach (var vBloque in vBloques) { var CursosAsignados = from Grupos in gvDatabase.Groups where Grupos.BlockXPlanXCourseID == vBloque.ID select Grupos; if (CursosAsignados.Any()) { return("Debe eliminar los grupos de este curso"); } gvDatabase.BlocksXPlansXCourses.Remove(vBloque); } var vBloquePlan = gvDatabase.AcademicBlocksXStudyPlans.SingleOrDefault(bloquePlan => bloquePlan.ID == pBloqueXPlanID); gvDatabase.AcademicBlocksXStudyPlans.Remove(vBloquePlan); gvDatabase.SaveChanges(); } else { return("El registro ha sido borrado correctamente."); } return("El registro no ha sido borrado."); //throw new Exception("Se ha producido un error, no se ha encontrado referencia del registro seleccionado. Por Favor comuniquese con un administrador."); }
public ActionResult Create([Bind(Include = "ID,SedeID,Code,Capacity,Active")] Classroom aula) { if (ModelState.IsValid) { if (aula.Code == null) { TempData[TempDataMessageKey] = "Ingrese un Código Válido"; ViewBag.SedeID = new SelectList(db.Sedes, "ID", "Name", aula.SedeID); return(View(aula)); } if (db.Classrooms.Where(p => p.Code == aula.Code).Count() > 0) { TempData[TempDataMessageKey] = "Esta sede ya cuenta con un aula con el código provisto. Por Favor intente de nuevo."; ViewBag.SedeID = new SelectList(db.Sedes, "ID", "Name", aula.SedeID); return(View(aula)); } aula.SedeID = Convert.ToInt32(Request.Form["Sedes"].ToString()); aula.Active = true; db.Classrooms.Add(aula); db.SaveChanges(); TempData[TempDataMessageKeySuccess] = "El aula ha sido creada exitosamente"; return(RedirectToAction("Index")); } ViewBag.SedeID = new SelectList(db.Sedes, "ID", "Name", aula.SedeID); return(View(aula)); }
public ActionResult Create([Bind(Include = "ID,Name,Code,TheoreticalHours,Block,External,PracticeHours,Credits")] Course curso, int HorasPracticas, int HorasTeoricas, int Bloque) { if (ModelState.IsValid) { curso.PracticeHours = HorasPracticas; curso.TheoreticalHours = HorasTeoricas; curso.Block = Bloque; db.Courses.Add(curso); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(curso)); }
public ActionResult Create([Bind(Include = "ID,Name")] Sede sede) { if (ModelState.IsValid) { if (db.Sedes.Where(p => p.Name == sede.Name).Count() > 0) { TempData[TempDataMessageKey] = "Ya existe una sede con el nombre: " + sede.Name; } db.Sedes.Add(sede); db.SaveChanges(); TempData[TempDataMessageKeySuccess] = "Sede creada correctamente."; return(RedirectToAction("Index")); } return(View(sede)); }
public ActionResult Create([Bind(Include = "ID,Description,Level")] AcademicBlock bloqueAcademico) { if (ModelState.IsValid) { if (db.AcademicBlocks.Where(p => p.Description == bloqueAcademico.Description).Count() > 0) { TempData[TempDataMessageKey] = "Ya existe un bloque académico con el nombre: " + bloqueAcademico.Description; } db.AcademicBlocks.Add(bloqueAcademico); db.SaveChanges(); TempData[TempDataMessageKeySuccess] = "Bloque académico creada correctamente."; return(RedirectToAction("Index")); } return(View(bloqueAcademico)); }
public void crearRelacionBloqueXPlan(AcademicBlockXStudyPlan pBloqueXPlan) { if (existeRelacionBloqueXPlan(pBloqueXPlan.PlanID, pBloqueXPlan.BlockID)) { return; } else { gvDatabase.AcademicBlocksXStudyPlans.Add(pBloqueXPlan); gvDatabase.SaveChanges(); } }
public ActionResult Create([Bind(Include = "ID,Name,Start,End,StateID,EntityTypeID")] Commission commission) { String entidad = Request.Cookies["Entidad"].Value; int entidadID; if (entidad.Equals("TEC")) { entidadID = 1; } else if (entidad.Equals("CIE")) { entidadID = 7; } else if (entidad.Equals("TAE")) { entidadID = 5; } else if (entidad.Equals("MAE")) { entidadID = 6; } else if (entidad.Equals("DDE")) { entidadID = 11; } else if (entidad.Equals("Emprendedores")) { entidadID = 12; } else if (entidad.Equals("Actualizacion_Cartago")) { entidadID = 9; } else { entidadID = 8; } if (string.IsNullOrEmpty(commission.Name.Trim())) { throw new ArgumentException("El nombre de la comisión no es válida. Por favor, inténtelo de nuevo"); } if (ModelState.IsValid) { commission.EntityTypeID = entidadID; commission.StateID = 1; db.Commissions.Add(commission); db.SaveChanges(); TempData[TempDataMessageKeySuccess] = "Comisión creada correctamente."; return(RedirectToAction("Index")); } ViewBag.EntityTypeID = new SelectList(db.EntityTypes, "ID", "Name", commission.EntityTypeID); ViewBag.StateID = new SelectList(db.States, "ID", "Name", commission.StateID); return(View(commission)); }
public ActionResult Create([Bind(Include = "ID,Name,Start,End,StateID,Link,EntityTypeID")] Project project) { String entidad = Request.Cookies["Entidad"].Value; int entidadID; if (entidad.Equals("TEC")) { entidadID = 1; } else if (entidad.Equals("CIE")) { entidadID = 7; } else if (entidad.Equals("TAE")) { entidadID = 5; } else if (entidad.Equals("MAE")) { entidadID = 6; } else if (entidad.Equals("DDE")) { entidadID = 11; } else if (entidad.Equals("Emprendedores")) { entidadID = 12; } else if (entidad.Equals("Actualizacion_Cartago")) { entidadID = 9; } else { entidadID = 8; } if (ModelState.IsValid) { Project proyectoNuevo = new Project() { Name = project.Name, Start = project.Start, End = project.End, EntityTypeID = entidadID, Link = project.Link, StateID = 1 }; db.Projects.Add(proyectoNuevo); db.SaveChanges(); TempData[TempDataMessageKeySuccess] = "Proyecto creado correctamente."; return(RedirectToAction("Index")); } return(RedirectToAction("Create")); }
public ActionResult ResolveCommissions(AlertViewModel viewModel) { if (ModelState.IsValid) { for (int i = 0; i < viewModel.Commissions.Count; i++) { var commission = db.Commissions.Find(viewModel.Commissions[i].ID); db.Entry(commission).Property(c => c.StateID).CurrentValue = 2; db.SaveChanges(); if (commission.CommissionsXProfessors.Count > 0) { var commissionProfessors = commission.CommissionsXProfessors.ToList(); foreach (var commissionProfessor in commissionProfessors) { db.CommissionsXProfessors.Remove(commissionProfessor); db.SaveChanges(); } } } } return(RedirectToAction("Index")); }
public void crearRelacionBloqueXPlanXCurso(int pCourseID, int pBlockXPlanID) { BlockXPlanXCourse vBlockXPlanXCourse = new BlockXPlanXCourse(); vBlockXPlanXCourse.CourseID = pCourseID; vBlockXPlanXCourse.BlockXPlanID = pBlockXPlanID; List <StudyPlanXSede> vPlanXSedeList = getPlanXSede(getPlanID(pBlockXPlanID)); vPlanXSedeList.ForEach(PlanXSede => vBlockXPlanXCourse.SedeID = PlanXSede.SedeID); for (int vElement = 0; vElement < vPlanXSedeList.Count(); vElement++) { if (!existeRelacionBloqueXPlanXCurso(pBlockXPlanID, pCourseID)) { vBlockXPlanXCourse.SedeID = vPlanXSedeList.ElementAt(vElement).SedeID; gvDatabase.BlocksXPlansXCourses.Add(vBlockXPlanXCourse); } } gvDatabase.SaveChanges(); }
public ActionResult Create(PlazaCreateViewModel viewModel) { if (ModelState.IsValid) { var vPlaza = new Plaza() { Code = viewModel.Code, PlazaType = viewModel.PlazaType, TimeType = viewModel.TimeType, TotalHours = viewModel.TotalHours, EffectiveTime = viewModel.EffectiveTime }; db.Plazas.Add(vPlaza); db.SaveChanges(); TempData[TempDataMessageKeySuccess] = "Plaza creada exitosamente"; return(RedirectToAction("Index")); } return(View(viewModel)); }
public ActionResult Asignar(ScheduleProjectViewModel pSchedule) { var vPeriod = Request.Cookies["Periodo"].Value; var vPeriodID = db.Periods.Find(int.Parse(vPeriod)).ID; string vHourCharge = pSchedule.HourCharge; int vProjectID = Convert.ToInt32(pSchedule.Projects); int vProfessorID = Convert.ToInt32(pSchedule.Professors); List <ScheduleProject> vSchedules = pSchedule.ScheduleProject; string validate = scheduleHelper.validationProject(vProjectID, vProfessorID, vPeriodID, vSchedules); if (validate.Equals("true")) { int totalHourAssign = 0; //Save Commission Professor ProjectXProfessor vProjectProfessor = new ProjectXProfessor(); vProjectProfessor.ProjectID = Convert.ToInt32(vProjectID); vProjectProfessor.ProfessorID = Convert.ToInt32(vProfessorID); if (vHourCharge.Equals("1")) { vProjectProfessor.HourAllocatedTypeID = Convert.ToInt32(vHourCharge); } vProjectProfessor.PeriodID = vPeriodID; vProjectProfessor.Schedule = new List <Schedule>(); //Calculate the total hour assign foreach (ScheduleProject vSchedule in vSchedules) { Schedule vTempSchedule = existSchedule(vSchedule.Day, vSchedule.StartHour, vSchedule.EndHour); if (vTempSchedule != null) { //Get id schedule vTempSchedule.ProjectsXProfessors.Add(vProjectProfessor); } //Convert StartHour to DateTime var HoraInicio = DateTime.Parse(vSchedule.StartHour); //Convert EndHour to DateTime var HoraFin = DateTime.Parse(vSchedule.EndHour); //Get the difference between StartHour and EndHour var vSTRDiff = Math.Ceiling(HoraFin.Subtract(HoraInicio).TotalHours); int vDiferencia = Convert.ToInt32(vSTRDiff); totalHourAssign = totalHourAssign + vDiferencia; } vProjectProfessor.Hours = totalHourAssign; db.ProjectsXProfessors.Add(vProjectProfessor); db.SaveChanges(); TempData[TempDataMessageKeySuccess] = "Profesor asignado correctamente."; return(RedirectToAction("Asignar")); } else if (validate.Equals("falseIsGroupShock")) { TempData[TempDataMessageKeyError] = "Existe choque de horario con grupos, no se asigno al profesor al proyecto"; return(RedirectToAction("Asignar")); } else if (validate.Equals("falseIsProjectShock")) { TempData[TempDataMessageKeyError] = "Existe choque de horario con proyectos, no se asigno al profesor al proyecto"; return(RedirectToAction("Asignar")); } else if (validate.Equals("falseIsCommissionShock")) { TempData[TempDataMessageKeyError] = "Existe choque de horario con comisiones, no se asigno al profesor al proyecto"; return(RedirectToAction("Asignar")); } else if (validate.Equals("falseIsProfessorShock")) { TempData[TempDataMessageKeyError] = "El profesor ya esta asignado a este proyecto, no se permite asignar dos veces a un profesor a un proyecto "; return(RedirectToAction("Asignar")); } return(View()); }
public void agregarGrupo(Group pGrupo) { gvDatabase.Groups.Add(pGrupo); gvDatabase.SaveChanges(); }
public ActionResult Horarios(NewScheduleViewModel pNewSchedule) { //***************************************************************************************************** //******************************* Se obtienen los datos del formulario ******************************** //***************************************************************************************************** int vGroupID = Convert.ToInt32(pNewSchedule.Group); // 1 Find the group in the database Group vGroup = db.Groups.Find(vGroupID); // 2 Remove GroupClassroom fields asociated with the Group removeGroupClassroomByGroupID(vGroupID); // 3 new GroupClassrooms asociated with Group //Get the list of schedules and classrooms from the View List <NewSchedule> vNewSchedule = pNewSchedule.NewSchedule; bool vIsValidateClassroom = true;// = isInternScheduleValid(vNewSchedule); foreach (NewSchedule tempSchedule in vNewSchedule) { Schedule vTempSchedule = existSchedule(tempSchedule.Day, tempSchedule.StartHour, tempSchedule.EndHour); int vClassroomID = Convert.ToInt32(tempSchedule.Classroom); if (isValidScheduleClassroom(vTempSchedule, vClassroomID, vGroupID)) { GroupClassroom vNewGroupClassroom = new GroupClassroom(); vNewGroupClassroom.ClassroomID = Convert.ToInt32(tempSchedule.Classroom); vNewGroupClassroom.ScheduleID = vTempSchedule.ID; vNewGroupClassroom.GroupID = vGroup.ID; vGroup.GroupsClassroom.Add(vNewGroupClassroom); } else { vIsValidateClassroom = false; } } if (vIsValidateClassroom) { if (vGroup.ProfessorID != null) { var vProfessorID = (int)vGroup.ProfessorID; var vPeriod = Request.Cookies["Periodo"].Value; var vPeriodID = db.Periods.Find(int.Parse(vPeriod)).ID; ScheduleHelper dbHelper = new ScheduleHelper(); string validate = dbHelper.validationsEditGroup(vProfessorID, vGroupID, vPeriodID); if (validate.Equals("true")) { db.SaveChanges(); TempData[TempDataMessageKeySuccess] = "Cambios guardados satisfactoriamente"; return(RedirectToAction("Index")); } // Exist problems in profesor schedule, so the assign is cancelled and the user recive the information of the problem else if (validate.Equals("falseIsGroupShock")) { TempData[TempDataMessageKeyError] = "Existe choque de horario con el profesor asignado al grupo, no se realizaron los cambios"; return(RedirectToAction("Index")); } else if (validate.Equals("falseIsProjectShock")) { TempData[TempDataMessageKeyError] = "Existe choque de horario con el profesor asignado al grupo, no se realizaron los cambios"; return(RedirectToAction("Index")); } else if (validate.Equals("falseIsCommissionShock")) { TempData[TempDataMessageKeyError] = "Existe choque de horario con el profesor asignado al grupo, no se realizaron los cambios"; return(RedirectToAction("Index")); } } else { db.SaveChanges(); TempData[TempDataMessageKeySuccess] = "Cambios guardados satisfactoriamente"; return(RedirectToAction("Index")); } } else { TempData[TempDataMessageKeyError] = "Existe choque de horario con la asignacion del aula"; return(RedirectToAction("Index")); } return(RedirectToAction("Index")); }
public void AddPeriod(Period pPeriod) { gvDatabase.Periods.Add(pPeriod); gvDatabase.SaveChanges(); }
public ActionResult Asignar(int sltCurso, int sltProfesor, int sltGrupo, int HourCharge, String txtHorasEstimadas) { var vPeriod = Request.Cookies["Periodo"].Value; var vPeriodID = db.Periods.Find(int.Parse(vPeriod)).ID; int vEstimatedHours = Convert.ToInt32(txtHorasEstimadas); if (ModelState.IsValid) { //Verify if profesor have other assign in the same day and start hour, if don't have conflict with other group in the same hour and day return true, else //if found problem with other group in the same day and start hour return false and the assign is cancelled and the user receive information string validate = scheduleHelper.validations(sltProfesor, sltGrupo, vPeriodID); //If doesn't exist problems in the profesor schedule if (validate.Equals("true")) { var grupo = db.Groups.Find(sltGrupo); grupo.ProfessorID = sltProfesor; if (HourCharge == 1) { grupo.HourAllocatedTypeID = 1; } grupo.EstimatedHour = vEstimatedHours; db.SaveChanges(); TempData[TempDataMessageKeySuccess] = "Profesor asignado correctamente"; return(RedirectToAction("Asignar")); } // Exist problems in profesor schedule, so the assign is cancelled and the user recive the information of the problem else if (validate.Equals("falseIsGroupShock")) { TempData[TempDataMessageKeyError] = "Existe choque de horario con grupos, no se asigno al profesor al curso"; /* get List of all teachers */ ViewBag.Profesores = obtenerTodosProfesores().ToList(); /*get List of all 'sedes' */ ViewBag.Sedes = obtenerTodasSedes().ToList(); /* get List of all 'modalidades' */ ViewBag.Modalidades = obtenerTodasModalidades().ToList <Modality>(); return(View()); } else if (validate.Equals("falseIsProjectShock")) { TempData[TempDataMessageKeyError] = "Existe choque de horario con proyectos, no se asigno al profesor al curso"; /* get List of all teachers */ ViewBag.Profesores = obtenerTodosProfesores().ToList(); /*get List of all 'sedes' */ ViewBag.Sedes = obtenerTodasSedes().ToList(); /* get List of all 'modalidades' */ ViewBag.Modalidades = obtenerTodasModalidades().ToList <Modality>(); return(View()); } else if (validate.Equals("falseIsCommissionShock")) { TempData[TempDataMessageKeyError] = "Existe choque de horario con comisiones, no se asigno el profesor al curso"; /* get List of all teachers */ ViewBag.Profesores = obtenerTodosProfesores().ToList(); /*get List of all 'sedes' */ ViewBag.Sedes = obtenerTodasSedes().ToList(); /* get List of all 'modalidades' */ ViewBag.Modalidades = obtenerTodasModalidades().ToList <Modality>(); return(View()); } } return(View()); }
public void AddGroupClassroom(GroupClassroom pGroupClassroom) { gvDatabase.GroupClassrooms.Add(pGroupClassroom); gvDatabase.SaveChanges(); }