public List <MenuUsuario> GetMenuUsuario(string Usuario, string menu) { Diccionario dic = new Diccionario(); dic.Add("Usuario", Usuario); dic.Add("menu", menu); List <MenuUsuario> MenuItemUsuario = new List <MenuUsuario>(); using (var connPersonas = new Conexion(connString)) { using (var reader = connPersonas.EjecutarSP("Config_MenuItemOpcionesUsuario", dic)) { while (reader.Read()) { MenuUsuario mnuUsuario = new MenuUsuario(); mnuUsuario.Menu = reader.GetString(0); mnuUsuario.Item = reader.GetString(1); mnuUsuario.Orden = reader.GetInt32(2); mnuUsuario.ItemCaption = reader.GetString(3); //mnuUsuario.Icono = reader.GetInt32(4); MenuItemUsuario.Add(mnuUsuario); } } } return(MenuItemUsuario); }
public void inicializarValidaciones(List <Validaciones> Validaciones, int NroPrestacion) { Diccionario dic3 = new Diccionario(); dic3.Add("PrestacionID", NroPrestacion); dic3.Add("CambioEstado", "0.0_1.1"); dic3.Add("ValidacionCircuito", 100); using (var connPersonas = new Conexion(connString)) { using (var reader3 = connPersonas.EjecutarSP("ServicioGetPrestacionTareaReglas", dic3)) { while (reader3.Read()) { Validaciones v = new Validaciones(); v.OpcionValidacion = reader3.GetInt32(0); v.Descripcion = reader3.GetString(1); v.Procedimiento = reader3.GetString(2); v.Orden = reader3.GetInt32(3); v.CambioEstado = reader3.GetString(4); Validaciones.Add(v); } } } }
static void MockTestD() { Diccionario my_diccionario = new Diccionario(); Console.WriteLine(my_diccionario.ToString()); my_diccionario.Add(1, "Se ha declarado la ley imparcial."); my_diccionario.Add(2, "La roca de los tiempos."); my_diccionario.Add(3, "El libro de los inocentes."); int total = my_diccionario.Count; Console.WriteLine("Total: {0}", total); foreach (var item in my_diccionario) { int numero = item.Key; string cadena = item.Value; Console.WriteLine("Llave: {0} , Valor: {1}", numero, cadena); } my_diccionario.Clear(); total = my_diccionario.Count; Console.WriteLine("Total: {0}", total); my_diccionario.TryAdd(1, new string("El libro del Esplendor.")); my_diccionario.TryAdd(2, new string("El libro de la Esperanza.")); my_diccionario.TryAdd(3, new string("El libro de los Naufragios.")); total = my_diccionario.Count; Console.WriteLine("Total: {0}", total); }
public List <Tarea> GetTareas(int GrupoPrograma) { Diccionario dic = new Diccionario(); dic.Add("Grupo", GrupoPrograma); List <Tarea> tareas = new List <Tarea>(); using (var conn = new Conexion(connString)) { using (var reader = conn.EjecutarSP("QryEstados3", dic)) { while (reader.Read()) { Tarea tarea = new Tarea(); tarea.id = reader.GetString(0); tarea.from = reader.GetString(1); tarea.to = reader.GetString(2); tarea.arrows = reader.GetString(3); tarea.label = reader.GetString(4); tareas.Add(tarea); } } } return(tareas); }
public List <Etapas> GetEtapas(int GrupoPrograma) { Diccionario dic = new Diccionario(); dic.Add("Grupo", GrupoPrograma); List <Etapas> etapas = new List <Etapas>(); using (var conn = new Conexion(connString)) { using (var reader = conn.EjecutarSP("QryEstados2", dic)) { while (reader.Read()) { Etapas etapa = new Etapas(); etapa.id = reader.GetString(0); etapa.label = reader.GetString(1); etapa.group = reader.GetInt32(2); etapas.Add(etapa); } } } return(etapas); }
public object GetCircuitosDatos(int GrupoPrograma, int Programa, string actor, int usuarioIDConsulta, string usuario, int formatoConsulta, object JSonSalida) { Diccionario dic = new Diccionario(); dic.Add("GrupoPrograma", GrupoPrograma); dic.Add("Programa", Programa); dic.Add("Actor", actor); dic.Add("UsuarioId", usuarioIDConsulta); dic.Add("Usuario", usuario); dic.Add("Formato", formatoConsulta); dic.Add("JSonSalida", JSonSalida); using (var conn = new Conexion(connString)) { var reader = conn.EjecutarSP("zProgramasWorkFlow_Programa", dic); //JSonSalida = dic } return(dic["JSONSALIDA"]); }
public virtual void InicializarModelo(int NroPrestacion) { Diccionario dic = new Diccionario(); dic.Add("PrestacionID", NroPrestacion); using (var connPersonas = new Conexion(connString)) { using (var reader = connPersonas.EjecutarSP("ServicioGetPrestacionID", dic)) { while (reader.Read()) { modelo.ProgramaID = reader.GetInt32(0); modelo.Descripcion = reader.GetString(1); modelo.TipoPrograma = reader.GetString(2); modelo.Sexo = reader.GetString(3); modelo.Anio = reader.GetInt32(4); modelo.DuracionMaxima = reader.GetInt32(5); modelo.DuracionMinima = reader.GetInt32(6); modelo.EdadMaxima = reader.GetInt32(7); modelo.EdadMinima = reader.GetInt32(8); int FechaInicio = reader.GetOrdinal("FECHA_INICIO"); if (!reader.IsDBNull(FechaInicio)) { modelo.FechaInicio = Convert.ToDateTime(reader[FechaInicio]); } else { modelo.FechaInicio = null; } int i = reader.GetOrdinal("FECHA_FIN"); if (!reader.IsDBNull(i)) { modelo.FechaFin = Convert.ToDateTime(reader[i]); } else { modelo.FechaFin = null; } //modelo.FechaFin = ; modelo.Prioridad = reader.GetInt32(11); int CupoMaximo = reader.GetOrdinal("CupoMaximo"); if (!reader.IsDBNull(CupoMaximo)) { modelo.CupoMaximo = reader.GetInt32(CupoMaximo); } else { modelo.CupoMaximo = null; } int CupoMinimo = reader.GetOrdinal("CupoMinimo"); if (!reader.IsDBNull(CupoMinimo)) { modelo.CupoMinimo = reader.GetInt32(CupoMinimo); } else { modelo.CupoMinimo = null; } //modelo.CupoMaximo = reader.GetInt32(12); //modelo.CupoMinimo = reader.GetInt32(13); modelo.TipoModificacionAsignacion = reader.GetInt32(14); modelo.CalificacionTipo = reader.GetInt32(15); modelo.Liquida = reader.GetInt32(16); List <Validaciones> Validaciones = new List <Validaciones>(); inicializarValidaciones(Validaciones, NroPrestacion); inicializarCircuito(Validaciones, NroPrestacion); } } } }
static void Main(string[] args) { //raiz var GrafoI1 = new Dictionary <string, string>(); var GrafoI2 = new Dictionary <string, string>(); string Grado1 = ""; string Grado2 = ""; bool menu = true; while (menu) { try { Console.WriteLine("Coloque sobre la consola el primer grafo"); //leemos ruta del primer grafo string Ruta_Primer_Grafo = Console.ReadLine(); //Accedemos al archivo y lo leemos completo var File1 = new StreamReader(Ruta_Primer_Grafo); // var aux1 = File1.ReadLine(); var PrimerGrafoEnSetring = string.Empty; while (aux1 != null) { PrimerGrafoEnSetring += aux1 + "-"; aux1 = File1.ReadLine(); } File1.Close(); Console.Clear(); Console.WriteLine("Coloque sobre la consola el segundo grafo"); //leemos ruta del primer grafo var ruta2 = Console.ReadLine(); //Accedemos al archivo y lo leemos completo var File2 = new StreamReader(ruta2); var aux2 = File2.ReadLine(); var SegundoGrafoEnSetring = string.Empty; while (aux2 != null) { SegundoGrafoEnSetring += aux2 + "-"; aux2 = File2.ReadLine(); } File2.Close(); var Nombre1 = Path.GetFileName(Ruta_Primer_Grafo); var Nombre2 = Path.GetFileName(ruta2); Console.Clear(); //separar por saltos de linea //Le enviamos un diccionario Vacio PrimerGrafoEnSetring = PrimerGrafoEnSetring.ToUpper(); SegundoGrafoEnSetring = SegundoGrafoEnSetring.ToUpper(); GrafoI1 = Clasificar(PrimerGrafoEnSetring.Substring(0, PrimerGrafoEnSetring.Length - 1).Split('-'), new Dictionary <string, string>()); GrafoI2 = Clasificar(SegundoGrafoEnSetring.Substring(0, SegundoGrafoEnSetring.Length - 1).Split('-'), new Dictionary <string, string>()); //si tiene los mismo vertices Grado1 = PrimerGrafoEnSetring.Substring(0, PrimerGrafoEnSetring.Length - 1).Split('-')[0]; Grado2 = SegundoGrafoEnSetring.Substring(0, SegundoGrafoEnSetring.Length - 1).Split('-')[0]; //var Tiene_MismasAristas = MismasAristas(Grafo1, Grafo2); var Tiene_MismosVertices = MismosVertices(Grado1, Grado2); var TieneMismoGrado = MismoGradoYAristas(GrafoI1, GrafoI2); if (Tiene_MismosVertices && TieneMismoGrado) { Console.ForegroundColor = ConsoleColor.DarkGreen; Console.BackgroundColor = ConsoleColor.White; Console.WriteLine("Son isomorfos"); Console.ForegroundColor = ConsoleColor.Magenta; Console.WriteLine($"{Nombre1} VS. {Nombre2}"); Console.ForegroundColor = ConsoleColor.White; Console.BackgroundColor = ConsoleColor.Black; //si son isomorfos FuncionDeIsomorfismo(GrafoI1, GrafoI2); } else { Console.ForegroundColor = ConsoleColor.DarkRed; Console.BackgroundColor = ConsoleColor.White; Console.WriteLine("No son isomorfos"); Console.ForegroundColor = ConsoleColor.White; Console.BackgroundColor = ConsoleColor.Black; } Console.WriteLine("-------------------------------------------------"); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Desea Continuar? \n No = N \n Si = S"); Console.ForegroundColor = ConsoleColor.White; var romperciclo = Console.ReadLine(); if (romperciclo.ToLower() == "n") { break; } Console.Clear(); } catch (Exception) { Console.Clear(); Console.WriteLine("Error, Intente De Nuevo"); } } void FuncionDeIsomorfismo(Dictionary <string, string> Grafo1, Dictionary <string, string> Grafo2) { bool monitor = true; var ArrayOrdenado1 = new KeyValuePair <string, string[]> [Grafo1.Count]; var ArrayOrdenado2 = new KeyValuePair <string, string[]> [Grafo1.Count]; //LinQ var Grafo1Ordenado = from Nodo in Grafo1 orderby Nodo.Value.Split(',').Length select Nodo; //LinQ var Grafo2Ordenado = from Nodo in Grafo2 orderby Nodo.Value.Split(',').Length select Nodo; int contador = 0; foreach (var item in Grafo1Ordenado) { ArrayOrdenado1[contador] = new KeyValuePair <string, string[]>(item.Key, item.Value.Split(',')); contador++; } contador = 0; foreach (var item in Grafo2Ordenado) { ArrayOrdenado2[contador] = new KeyValuePair <string, string[]>(item.Key, item.Value.Split(',')); contador++; } Console.WriteLine("Funciones De Isomorfismo"); for (int i = 0; i < ArrayOrdenado1.Length; i++) { for (int j = 0; j < ArrayOrdenado2.Length; j++) { if (ArrayOrdenado2[j].Value != null) { if (ArrayOrdenado1[i].Value.Length == ArrayOrdenado2[j].Value.Length) { Console.Write("El Vertice del Grafo1 no: "); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine(ArrayOrdenado1[i].Key); Console.ForegroundColor = ConsoleColor.White; Console.Write("es equivalente al vertice no:"); Console.ForegroundColor = ConsoleColor.Blue; Console.WriteLine(ArrayOrdenado2[j].Key); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("del Grafo2."); Console.WriteLine("----------------------------------------------------------------"); ArrayOrdenado2[j] = new KeyValuePair <string, string[]>(); break; } } } } } bool MismosVertices(string VerticesGRafo1, string VerticesGRafo2) { if (int.Parse(VerticesGRafo1) != int.Parse(VerticesGRafo2)) { return(false); } else { return(true); } } bool MismoGradoYAristas(Dictionary <string, string> Grafo1, Dictionary <string, string> Grafo2) { bool monitor = true; var ArrayOrdenado1 = new KeyValuePair <string, int> [Grafo1.Count]; var ArrayOrdenado2 = new KeyValuePair <string, int> [Grafo1.Count]; //LinQ var Grafo1Ordenado = from Nodo in Grafo1 orderby Nodo.Value.Split(',').Length select Nodo; //LinQ var Grafo2Ordenado = from Nodo in Grafo2 orderby Nodo.Value.Split(',').Length select Nodo; int contador = 0; foreach (var item in Grafo1Ordenado) { ArrayOrdenado1[contador] = new KeyValuePair <string, int>(item.Key, item.Value.Split(',').Length); contador++; } contador = 0; foreach (var item in Grafo2Ordenado) { ArrayOrdenado2[contador] = new KeyValuePair <string, int>(item.Key, item.Value.Split(',').Length); contador++; } for (int i = 0; i < Grafo1.Count; i++) { if (ArrayOrdenado1[i].Value != ArrayOrdenado2[i].Value) { return(false); } } return(monitor); } Dictionary <string, string> Clasificar(string[] array, Dictionary <string, string> Diccionario) { //para cada arreglo (valor en el array extraido del txt) foreach (var item in array) { //Separacion por "," var aux = item.Split(','); if (item.Split(',').Length != 1) { //si el diccionario no contiene el vertice al cual agregar if (!Diccionario.ContainsKey(aux[0])) { //agrega el nuevo indice con la aarista correspondiente Diccionario.Add(aux[0], aux[1]); if (Diccionario.ContainsKey(aux[1])) { //agrega el nuevo indice con la aarista correspondiente Diccionario[aux[1]] += $",{aux[0]}"; } else { //Crea el que no esta Diccionario.Add(aux[1], aux[0]); } } else { //Si La Tiene y agregga Diccionario[aux[0]] += $",{aux[1]}"; if (!Diccionario.ContainsKey(aux[1])) { //Crea si no existe ,a pareja Diccionario.Add(aux[1], aux[0]); } else { //Si existe, agrega la pareja correpondiente Diccionario[aux[1]] += $",{aux[0]}"; } } } } return(Diccionario); } bool[,] LlenarMatriz(Dictionary <string, string> keyValuePair) { var Matriz = new bool[int.Parse(Grado1), int.Parse(Grado2)]; foreach (var Y in keyValuePair) { foreach (var X in Y.Value.Split(',')) { var PosY = int.Parse(Y.Key); var PosX = int.Parse(X); Matriz[PosY, PosX] = true; Matriz[PosY, PosX] = true; } } return(Matriz); } }