public JsonResult Exporta(string excel, string sheet) { string res = "<strong>Operacion fallida</strong>\n"; try { string ciclo = Ciclo; string path = Server.MapPath("~/Archivos/" + excel); Conexion c = new Conexion(Conexion.datosConexion, path, ciclo); ListaVariables grupos = new ListaVariables(c.Grupos(ciclo, bExcel: false)); c.Grupos_Carga(grupos, sheet, c.Materias_AsDictionary(), c.Profesores_AsDicctionary()); res = "Exportacion completada </br><strong>Guardado en " + excel + "->" + sheet + "</strong>"; } catch (Exception ex) { res += "\n" + ex.Message; } return(new JsonResult() { Data = res, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); }
public ActionResult _Grupos(string consulta) { Conexion c = new Conexion(Conexion.datosConexion); ListaVariables list; ListaSalones s = new ListaSalones(c, c.Salones()); switch (consulta) { case "sinAsignar": list = new ListaVariables(c.IGrupos_sinAsignar(Session["ciclo"].ToString())); break; case "asignados": list = new ListaVariables(c.IGrupos_Asignados(Session["ciclo"].ToString())); break; case "sobrecupo": list = new ListaVariables(c.IGrupos_Sobrecupo(Session["ciclo"].ToString())); break; default: list = new ListaVariables(c.IGrupos_Light(Session["ciclo"].ToString())); break; } list.SetSalones(s); return(PartialView(list)); }
public ActionResult _Salon(string cve_salon) { Conexion c = new Conexion(Conexion.datosConexion); List <InterfazWeb_02.Models.Salon> ls = new List <InterfazWeb_02.Models.Salon>(); List <ListaVariables> aux; ListaVariables grupos; switch (cve_salon) { case "empalmes": //Empalmes grupos = new ListaVariables(c.Grupos(Session["ciclo"].ToString())); aux = grupos.AgrupaGruposEmpalmados(); foreach (ListaVariables g in aux) { if (g.Count != 0) { ls.Add(new InterfazWeb_02.Models.Salon(c.Salon(g[0].Cve_espacio), g, g[0].Cve_espacio)); } } break; default: grupos = new ListaVariables(c.Grupos(Session["ciclo"].ToString(), cve_salon)); ls.Add(new InterfazWeb_02.Models.Salon(c.Salon(cve_salon), grupos, cve_salon)); break; } return(PartialView(ls)); }
public ActionResult _Grupos(string ini, string fin, string dias) { Conexion c = new Conexion(Conexion.datosConexion); ListaVariables list = new ListaVariables(new ListaGrupos( c.IGrupos_Light(Session["ciclo"].ToString(), Convert.ToInt32(ini), Convert.ToInt32(fin)), c.Profesores(), c.Materias())); ListaSalones s = new ListaSalones(c, c.Salones()); list = list.EnDias(dias); list.SetSalones(s); return(PartialView(list)); }
static void Main(string[] args) { inicializaConeccion(); TimeSpan stop; TimeSpan start = new TimeSpan(DateTime.Now.Ticks); Algoritmo alg; ChecaEmpalmes emp; PreAsignacion pre; ListaVariables grupos = new ListaVariables(c.Grupos("2016-2017/II")); ListaSalones salones = new ListaSalones(c, c.Salones()); ListaVariables gruposActuales; for (int i = 7; i < 22; i++) { gruposActuales = new ListaVariables(grupos.EnHoras(i, i + 1)); emp = new ChecaEmpalmes(grupos, salones); emp.ejecuta(); grupos.Actualiza(emp.Grupos); pre = new PreAsignacion(grupos, salones); pre.preferencial(); pre.semestres_anteriores(); grupos.Actualiza(pre.Grupos); alg = new Algoritmo(grupos, salones, i, 5, 50); alg.AsignaSalones(); grupos.Actualiza(alg.GruposAsignados); c.Grupos_Carga(gruposActuales); } stop = new TimeSpan(DateTime.Now.Ticks); Console.Write("***Pulsa una tecla para continuar****\n"); Console.WriteLine("Tiempo del proceso: " + (stop.Subtract(start).TotalMilliseconds / 1000) + " segundos"); while (Console.ReadKey().Key != ConsoleKey.Enter) { ; } }
public AsignacionOtrosSemestres(ListaVariables Grupos, ListaSalones Salones) : base(Grupos, Salones) { }
public JsonResult EjecutaOperaciones(string hora, int[] operaciones, string ciclo, string excel, string hoja) { //-empalmes -preasignacion -otrosSemestres -algoritmo string res = "<strong>Asignacion Fallida</strong>\n"; string detalles = ""; try { Conexion c = new Conexion(Conexion.datosConexion, Server.MapPath("~/Archivos/" + excel), ciclo); ListaVariables grupos = new ListaVariables(c.Grupos_EmpiezanA(ciclo, Convert.ToInt32(hora), false)); ListaSalones salones = new ListaSalones(c, c.Salones(), Convert.ToInt32(hora)); salones.SetHorarios(c, Ciclo); int numero_Operacion = 0; IOperacion operacion = null; foreach (int op in operaciones) { numero_Operacion++; switch ((byte)op) //Fabrica abstracta { case (byte)EOperaciones.algoritmoGenetico: operacion = new AlgoritmoGenetico(grupos, salones, Convert.ToInt32(hora), 100, 1000); break; case (byte)EOperaciones.empalmes: operacion = new RevisionEmpalmes(grupos, salones); break; case (byte)EOperaciones.otrosSemestres: operacion = new AsignacionOtrosSemestres(grupos, salones); break; case (byte)EOperaciones.preasignacion: operacion = new AsignacionPreferencial(grupos, salones); break; } if (operacion != null) { operacion.Ejecuta(); if (operacion.Resultado.Count != 0) { grupos.Actualiza(operacion.Resultado); detalles += Grupos2Table(operacion.Resultado.OrderBy(g => g.Cve_espacio).ToList(), operacion.NombreOperacion); } else { detalles += string.Format("{0} sin grupos modificados", operacion.NombreOperacion); } detalles += "<br>"; } } c.Grupos_Carga(grupos, hoja, c.Materias_AsDictionary(), c.Profesores_AsDicctionary()); res = string.Format("Asignacion de {0} completada<br>{1}", hora, detalles); } catch (Exception ex) { res += "\n" + ex.Message; } return(new JsonResult() { Data = res, JsonRequestBehavior = JsonRequestBehavior.AllowGet }); }
public AsignacionPreferencial(ListaVariables Grupos, ListaSalones Salones) : base(Grupos, Salones) { }