Exemple #1
0
        public TablaDeDatos Ejecutar(string procedimiento, int command_timeout = 30)
        {
            AbrirBD();

            var data_adapter = new SqlDataAdapter();
            var data_table   = new TablaDeDatos();

            try
            {
                data_adapter.SelectCommand = CrearComando(procedimiento, command_timeout);
                data_adapter.Fill(data_table);
                return(data_table);
            }
            catch (SqlException e)
            {
                throw e;
            }
            catch (Exception e)
            {
                throw e;
            }
            finally
            {
                CerrarBD();
                data_adapter.Dispose();
            }
        }
Exemple #2
0
        private static List <Persona> GetPersonasDeTablaDeDatos(TablaDeDatos tablaDatos)
        {
            var personas = new List <Persona>();

            if (tablaDatos.Rows.Count > 0)
            {
                tablaDatos.Rows.ForEach(row =>
                {
                    var legajo = "";
                    if (!(row.GetObject("Legajo") is DBNull))
                    {
                        legajo = row.GetInt("Legajo").ToString();
                    }
                    personas.Add(new Persona
                    {
                        Id         = row.GetInt("Id"),
                        Nombre     = row.GetString("Nombre"),
                        Apellido   = row.GetString("Apellido"),
                        Legajo     = legajo,
                        Documento  = row.GetInt("Nro_Documento"),
                        IdImagen   = row.GetInt("IdImagen", -1),
                        BajaLegajo = row.GetSmallintAsInt("Motivo_Baja", -1) >= 0
                    });
                });
            }

            return(personas);
        }
Exemple #3
0
        public List <AcumuladorAsistencia> GetAsistenciasFromTabla(TablaDeDatos tablaAsistencias)
        {
            var repo_curso = new RepositorioDeCursos(this.conexion_bd);
            List <AcumuladorAsistencia> asistencias = new List <AcumuladorAsistencia>();
            AcumuladorAsistencia        asistencia;
            int      horas_maximas = 0;
            DateTime fecha;
            string   valor;
            int      id;
            int      id_curso;
            int      id_alumno;

            tablaAsistencias.Rows.ForEach(row =>
            {
                id            = row.GetInt("Id");
                fecha         = row.GetDateTime("FechaAsistencia");
                valor         = row.GetString("Valor");
                id_curso      = row.GetSmallintAsInt("IdCurso");
                id_alumno     = row.GetSmallintAsInt("IdAlumno");
                horas_maximas = repo_curso.GetCursoById(id_curso).GetHorariosDeCursada().Find(h => h.Dia.Equals(fecha.DayOfWeek)).HorasCatedra;

                if (valor.Equals("-"))
                {
                    asistencia = new AsistenciaDiaNoCursado(id, valor, horas_maximas, fecha, id_alumno, id_curso);
                }
                else
                {
                    asistencia = new AsistenciaDiaCursado(id, valor, horas_maximas, fecha, id_alumno, id_curso);
                }

                asistencias.Add(asistencia);
            });
            return(asistencias);
        }
Exemple #4
0
        public List <Documento> GetDocumentosFromTabla(TablaDeDatos tablaDocumentos)
        {
            List <Documento> documentos = new List <Documento>();

            if (tablaDocumentos.Rows.Count > 0)
            {
                var un_documento = new Documento();
                var area_origen  = new Area();
                var area_destino = new Area();

                tablaDocumentos.Rows.ForEach(row =>
                {
                    if (documentos.FindAll(d => d.Id == row.GetInt("IdDocumento")).Count == 0)
                    {
                        un_documento    = new Documento();
                        un_documento.Id = row.GetInt("IdDocumento");
                        string sigla;
                        if (row.GetObject("SiglaTipoDocumento") is DBNull)
                        {
                            sigla = "";
                        }
                        else
                        {
                            sigla = row.GetString("SiglaTipoDocumento");
                        }
                        un_documento.tipoDeDocumento = new TipoDeDocumentoSICOI(row.GetInt("IdTipoDeDocumento"), row.GetString("DescripcionTipoDocumento"), sigla);


                        un_documento.numero      = row.GetString("Numero");
                        un_documento.extracto    = row.GetString("Extracto");
                        un_documento.fecha       = row.GetDateTime("FechaCargaDocumento");
                        un_documento.comentarios = row.GetString("Comentarios");

                        if (row.GetObject("FechaDocumento") is DBNull)
                        {
                            un_documento.fecha_documento = null;
                        }
                        else
                        {
                            un_documento.fecha_documento = row.GetDateTime("FechaDocumento");
                        }



                        if (un_documento.comentarios == null)
                        {
                            un_documento.comentarios = "";
                        }
                        un_documento.categoriaDeDocumento = new CategoriaDeDocumentoSICOI(row.GetInt("IdCategoriaDeDocumento"), row.GetString("DescripcionCategoria"));
                        un_documento.ticket = row.GetString("Ticket");

                        documentos.Add(un_documento);
                    }
                });
            }

            return(documentos);
        }
Exemple #5
0
        public static List <Entidad> GetEntidadesDeTablaDeDatos(TablaDeDatos tablaDatos)
        {
            List <Entidad> entidades = new List <Entidad>();

            if (tablaDatos.Rows.Count > 0)
            {
                tablaDatos.Rows.ForEach(row =>
                                        entidades.Add(new Entidad(row.GetInt("Id"), row.GetString("Descripcion")))
                                        );
            }

            return(entidades);
        }
Exemple #6
0
        public TablaDeDatos CreateDT(List <Object> entidades, List <ColumnaDeDataTable> columnas, Func <Object, List <Object> > metodo_constructor_de_fila)
        {
            var tabla_de_datos = new TablaDeDatos();

            //agrego titulos
            columnas.ForEach(c => { tabla_de_datos.Columns.Add(c.NombreColumna, c.TipoColumna); });
            //agrego elementos adadasddad
            entidades.ForEach(e =>
            {
                tabla_de_datos.LoadDataRow(metodo_constructor_de_fila.Invoke(e).ToArray(), true);
            });

            return(tabla_de_datos);
            //  return tabla_de_datos;
        }
Exemple #7
0
        public static TablaDeDatos From(string source)
        {
            var instance = new TablaDeDatos();
            var lines    = source.Split(Environment.NewLine.ToArray()).ToList().FindAll(s => s.Trim() != string.Empty).ToArray();

            var tabla_valores = CrearFilas(lines);

            if (tabla_valores.Count == 0)
            {
                throw new Exception("Imposible inferir el tipo de dato de la columna");
            }
            CrearColumnas(instance, lines, tabla_valores);

            tabla_valores.ForEach(row => instance.LoadDataRow(row, true));

            return(instance);
        }
Exemple #8
0
        public List <DetallePreguntas> getFormularioDeEvaluacion(int nivel, int evaluado, int evaluacion)
        {
            var parametros                   = new Dictionary <string, object>();
            var list_de_pregYRtas            = new List <FormEvaluacion> {
            };
            var list_de_pregYRtasRespondidas = new List <DetallePreguntas> {
            };
            var tablaDatos                   = new TablaDeDatos();

            if (evaluacion != 0)
            {
                parametros.Add("@id_evaluacion", evaluacion);
            }

            parametros.Add("@id_nivel", nivel);
            tablaDatos = _conexion.Ejecutar("dbo.EVAL_GET_Evaluacion", parametros);
            FormularioFromTabla(list_de_pregYRtasRespondidas, tablaDatos);

            return(list_de_pregYRtasRespondidas);
        }
Exemple #9
0
        private List <Estadia> GetEstadiasFromTabla(TablaDeDatos tabla_estadias)
        {
            List <Estadia> estadias      = new List <Estadia>();
            var            una_estadia   = new Estadia();
            var            una_provincia = new Provincia();

            tabla_estadias.Rows.ForEach(row =>
            {
                una_estadia.Desde                 = row.GetDateTime("FechaDesde");
                una_estadia.Hasta                 = row.GetDateTime("Fechahasta");
                una_provincia.Id                  = row.GetSmallintAsInt("IdProvincia");
                una_provincia.Nombre              = row.GetString("NombreProvincia");
                una_estadia.Provincia             = una_provincia;
                una_estadia.Eventuales            = (Decimal)row.GetObject("Eventual");
                una_estadia.AdicionalParaPasajes  = (Decimal)row.GetObject("AdicionalParaPasajes");
                una_estadia.CalculadoPorCategoria = (Decimal)row.GetObject("CalculadoPorCategoria");
                una_estadia.Motivo                = row.GetString("Motivo");
                estadias.Add(una_estadia);
            });
            return(estadias);
        }
Exemple #10
0
        public TablaDeDatos Ejecutar(string procedimiento, Dictionary <string, object> parametros, int segundos_timeout = 30)
        {
            AbrirBD();

            var data_adapter = new SqlDataAdapter();
            var data_table   = new TablaDeDatos();

            try
            {
                data_adapter.SelectCommand = CrearComando(procedimiento, parametros, segundos_timeout);
                //data_adapter.SelectCommand = new SqlCommand
                //{
                //    Connection = conexion,
                //    CommandText = procedimiento,
                //    CommandType = CommandType.StoredProcedure
                //};
                //parametros.Keys.ToList().ForEach(k => data_adapter.SelectCommand.Parameters.Add(new SqlParameter(k, parametros[k])));

                //this._paramzetros.ForEach(parametro => data_adapter.SelectCommand.Parameters.Add(parametro));

                data_adapter.Fill(data_table);
                return(data_table);
            }
            catch (SqlException e)
            {
                throw e;
            }
            catch (Exception e)
            {
                throw e;
            }
            finally
            {
                CerrarBD();
                data_adapter.Dispose();
            }
        }
Exemple #11
0
        private static void CrearColumnas(TablaDeDatos instance, string[] lines, List <object[]> tabla_valores)
        {
            var nombres_columnas = new List <string>(lines[0].Split('|')).FindAll(s => s.Trim() != string.Empty).Select(s => s.Trim()).ToList();

            nombres_columnas.ForEach(nombre_columna => instance.Columns.Add(nombre_columna, TipoInferidoDe(tabla_valores, nombre_columna, nombres_columnas)));
        }
Exemple #12
0
 protected void FormularioFromTabla(List <DetallePreguntas> list_de_pregYRtasRespondidas, TablaDeDatos tablaDatos)
 {
     tablaDatos.Rows.ForEach(row =>
     {
         AddDetallePreguntasA(list_de_pregYRtasRespondidas, row, true);
     });
 }
Exemple #13
0
        private List <ComisionDeServicio> GetViaticosFromTabla(TablaDeDatos tablaViaticos)
        {
            List <ComisionDeServicio> viaticos = new List <ComisionDeServicio>();

            if (tablaViaticos.Rows.Count > 0)
            {
                var un_viatico     = new ComisionDeServicio();
                var un_pasaje      = new Pasaje();
                var una_estadia    = new Estadia();
                var una_transicion = new TransicionDeViatico();
                var una_zona       = new Zona();
                tablaViaticos.Rows.ForEach(row =>
                {
                    if (viaticos.FindAll(t => t.Id == row.GetInt("Id")).Count == 0)
                    {
                        un_viatico                     = new ComisionDeServicio();
                        un_viatico.Id                  = row.GetInt("Id");
                        un_viatico.Baja                = row.GetBoolean("Baja");
                        un_viatico.FechaCreacion       = row.GetDateTime("fecha");
                        un_viatico.AreaCreadora        = new Area();
                        un_viatico.AreaCreadora.Id     = row.GetInt("IdAreaCreadora");
                        un_viatico.AreaCreadora.Nombre = row.GetString("DescripcionAreaCreadora");
                        un_viatico.AreaSuperior        = new Area();
                        un_viatico.AreaSuperior.Id     = row.GetInt("IdAreaCreadora");
                        un_viatico.AreaSuperior.Nombre = row.GetString("DescripcionAreaCreadora");
                        un_viatico.Persona             = new Persona();
                        un_viatico.Persona.Nombre      = row.GetString("Persona_Nombre");
                        un_viatico.Persona.Apellido    = row.GetString("Persona_Apellido");
                        un_viatico.Persona.Documento   = row.GetInt("Persona_Documento");
                        un_viatico.Persona.Area        = new Area();
                        un_viatico.Persona.Area.Id     = row.GetInt("Persona_Area_Id");
                        un_viatico.Persona.Area.Nombre = row.GetString("Persona_Area_Descripcion");

                        un_viatico.Persona.Cuit      = row.GetString("Cuil_Persona");
                        un_viatico.Persona.Legajo    = row.GetInt("Legajo_Persona").ToString();
                        un_viatico.Persona.Telefono  = row.GetString("Telefono_Area");
                        un_viatico.Persona.Categoria = row.GetString("Categoria_Persona");
                        un_viatico.Persona.Nivel     = row.GetString("Nivel_Funcion");
                        un_viatico.Persona.Grado     = row.GetString("Grado_Rango");

                        //FC:agrego el estado mockeado por ahora para poder filtrar

                        //

                        viaticos.Add(un_viatico);
                        un_pasaje      = new Pasaje();
                        una_estadia    = new Estadia();
                        una_transicion = new TransicionDeViatico();
                    }
                    if (!(row.GetObject("Estadia_Id") is DBNull))
                    {
                        if (un_viatico.Estadias.FindAll(t => t.Id == row.GetInt("Estadia_Id")).Count == 0)
                        {
                            una_estadia                       = new Estadia();
                            una_zona                          = new Zona(row.GetSmallintAsInt("Id_Zona"), row.GetString("Nombre_Zona"));
                            una_estadia.Id                    = row.GetInt("Estadia_Id");
                            una_estadia.Desde                 = row.GetDateTime("Estadia_Desde");
                            una_estadia.Hasta                 = row.GetDateTime("Estadia_Hasta");
                            una_estadia.Provincia             = new Provincia();
                            una_estadia.Provincia.Id          = row.GetSmallintAsInt("Estadia_Provincia_Id");
                            una_estadia.Provincia.Nombre      = row.GetString("Estadia_Provincia_Nombre");
                            una_estadia.Provincia.Zona        = una_zona;
                            una_estadia.Eventuales            = Decimal.Parse(row.GetObject("Estadia_Eventuales").ToString());            // GetObject("Estadia_Eventuales");
                            una_estadia.AdicionalParaPasajes  = Decimal.Parse(row.GetObject("Estadia_AdicionalParaPasajes").ToString());  //GetObject("Estadia_AdicionalParaPasajes");
                            una_estadia.CalculadoPorCategoria = Decimal.Parse(row.GetObject("Estadia_CalculadoPorCategoria").ToString()); //GetObject("Estadia_CalculadoPorCategoria");
                            una_estadia.Motivo                = row.GetString("Estadia_Motivo");
                            una_estadia.Persona               = un_viatico.Persona;

                            un_viatico.Estadias.Add(una_estadia);
                        }
                    }

                    if (!(row.GetObject("Pasaje_Id") is DBNull))
                    {
                        if (un_viatico.Pasajes.FindAll(t => t.Id == row.GetInt("Pasaje_Id")).Count == 0)
                        {
                            un_pasaje                          = new Pasaje();
                            un_pasaje.Id                       = row.GetInt("Pasaje_Id");
                            un_pasaje.Origen                   = new Localidad();
                            un_pasaje.Origen.Id                = row.GetInt("Pasaje_LocalidadOrigen_Id");
                            un_pasaje.Origen.Nombre            = row.GetString("Pasaje_LocalidadOrigen_Nombre");
                            un_pasaje.Destino                  = new Localidad();
                            un_pasaje.Destino.Id               = row.GetInt("Pasaje_LocalidadDestino_Id");
                            un_pasaje.Destino.Nombre           = row.GetString("Pasaje_LocalidadDestino_Nombre");
                            un_pasaje.FechaDeViaje             = row.GetDateTime("Pasaje_FechaDeViaje");
                            un_pasaje.MedioDeTransporte        = new MedioDeTransporte();
                            un_pasaje.MedioDeTransporte.Id     = row.GetSmallintAsInt("Pasaje_MedioDeTransporte_Id");
                            un_pasaje.MedioDeTransporte.Nombre = row.GetString("Pasaje_MedioDeTransporte_Nombre");
                            un_pasaje.MedioDePago              = new MedioDePago();
                            un_pasaje.MedioDePago.Id           = row.GetSmallintAsInt("Pasaje_MedioDePago_Id");
                            un_pasaje.MedioDePago.Nombre       = row.GetString("Pasaje_MedioDePago_Nombre");
                            un_pasaje.Precio                   = Decimal.Parse(row.GetObject("Pasaje_Precio").ToString());//.GetObject("Pasaje_Precio");

                            un_viatico.Pasajes.Add(un_pasaje);
                        }
                    }

                    if (!(row.GetObject("Transicion_Id") is DBNull))
                    {
                        if (un_viatico.TransicionesRealizadas.FindAll(t => t.Id == row.GetInt("Transicion_Id")).Count == 0)
                        {
                            var id_transicion = row.GetInt("Transicion_Id");

                            var id_area_origen     = row.GetInt("Transicion_AreaOrigen_Id");
                            var nombre_area_origen = row.GetString("Transicion_AreaOrigen_Descripcion");
                            var area_origen        = new Area(id_area_origen, nombre_area_origen);

                            var responsableAreaOrigen       = new Persona();
                            responsableAreaOrigen.Nombre    = row.GetString("Transicion_AreaOrigen_Responsable_Nombre");
                            responsableAreaOrigen.Apellido  = row.GetString("Transicion_AreaOrigen_Responsable_Apellido");
                            responsableAreaOrigen.Documento = row.GetInt("Transicion_AreaOrigen_Responsable_Documento");
                            area_origen.Responsables        = new List <Persona>();
                            area_origen.Responsables.Add(responsableAreaOrigen);

                            var id_area_destino     = row.GetInt("Transicion_AreaDestino_Id");
                            var nombre_area_destino = row.GetString("Transicion_AreaDestino_Descripcion");
                            var area_destino        = new Area(id_area_destino, nombre_area_destino);

                            var responsableAreaDestino       = new Persona();
                            responsableAreaDestino.Nombre    = row.GetString("Transicion_AreaDestino_Responsable_Nombre");
                            responsableAreaDestino.Apellido  = row.GetString("Transicion_AreaDestino_Responsable_Apellido");
                            responsableAreaDestino.Documento = row.GetInt("Transicion_AreaDestino_Responsable_Documento");

                            area_destino.Responsables = new List <Persona>();
                            area_destino.Responsables.Add(responsableAreaDestino);

                            var repositorioAcciones = new RepositorioDeAccionesDeTransicion();
                            var accion     = repositorioAcciones.GetAccionDeTransicionById(row.GetInt("Transicion_Id_Accion"));
                            var fecha      = row.GetDateTime("Transicion_Fecha");
                            var comentario = row.GetString("Transicion_Comentario");
                            if (comentario == null)
                            {
                                comentario = "";
                            }
                            una_transicion = new TransicionDeViatico(id_transicion, area_origen, area_destino, accion, fecha, comentario);
                            un_viatico.TransicionesRealizadas.Add(una_transicion);
                        }
                    }
                });
            }
            return(viaticos);
        }
Exemple #14
0
        public static List <Area> GetAreasDeTablaDeDatos(TablaDeDatos tablaDatos)
        {
            List <Area> areas = new List <Area>();

            if (tablaDatos.Rows.Count > 0)
            {
                tablaDatos.Rows.ForEach(row =>
                {
                    var Asistentes = new List <Asistente>();
                    if (areas.FindAll(a => a.Id == row.GetSmallintAsInt("Id_Area")).Count == 0) //refactorizar, poner un contains
                    {
                        List <DatoDeContacto> DatosDeContacto = new List <DatoDeContacto>();

                        Asistente asistente = new Asistente(row.GetString("Nombre_Asistente"),
                                                            row.GetString("Apellido_Asistente"),
                                                            row.GetString("Cargo"),
                                                            row.GetSmallintAsInt("Prioridad_Asistente"),
                                                            row.GetString("Telefono_Asistente"),
                                                            row.GetString("Telefono_Asistente"),//Falta cambiar por Fax!!!
                                                            row.GetString("Mail_Asistente"));
                        if (asistente.Descripcion_Cargo.Trim() != "" && asistente.Apellido.Trim() != "")
                        {
                            Asistentes.Add(asistente);
                        }

                        Responsable datos_responsable = new Responsable(row.GetString("Nombre_Responsable"),
                                                                        row.GetString("Apellido_Responsable"),
                                                                        row.GetString("Nombre_Asistente"),  //Falta cambiar!!!
                                                                        row.GetString("Nombre_Asistente"),  //Falta cambiar!!!
                                                                        row.GetString("Nombre_Asistente")); //Falta cambiar!!!

                        DatoDeContacto dato_de_contacto = new DatoDeContacto(row.GetSmallintAsInt("Id_Dato_Area"), row.GetString("Descripcion_Dato_Area"), row.GetString("Dato_Area"), row.GetSmallintAsInt("Orden"));
                        DatosDeContacto.Add(dato_de_contacto);

                        areas.Add(new Area
                        {
                            Id                    = row.GetSmallintAsInt("Id_Area"),
                            Nombre                = row.GetString("descripcion"),
                            Direccion             = row.GetString("direccion"),
                            datos_del_responsable = datos_responsable,
                            Asistentes            = Asistentes,
                            DatosDeContacto       = DatosDeContacto,
                            PresentaDDJJ          = row.GetBoolean("presenta_DDJJ")
                        });
                    }
                    else
                    {
                        var area_existente = areas.Find(a => a.Id == row.GetSmallintAsInt("Id_Area"));
                        if (!area_existente.Asistentes.Any(a => a.Apellido == row.GetString("Apellido_Asistente") && a.Descripcion_Cargo == row.GetString("Cargo")))
                        {
                            Asistente asistente = new Asistente(row.GetString("Nombre_Asistente"),
                                                                row.GetString("Apellido_Asistente"),
                                                                row.GetString("Cargo"),
                                                                row.GetSmallintAsInt("Prioridad_Asistente"),
                                                                row.GetString("Telefono_Asistente"),
                                                                row.GetString("Telefono_Asistente"),//Falta cambiar por Fax!!!
                                                                row.GetString("Mail_Asistente"));
                            if (asistente.Descripcion_Cargo.Trim() != "" && asistente.Apellido.Trim() != "")
                            {
                                area_existente.Asistentes.Add(asistente);
                            }
                        }

                        if (!area_existente.DatosDeContacto.Any(d => d.Id == row.GetSmallintAsInt("Id_Dato_Area") && d.Orden == row.GetSmallintAsInt("Orden")))
                        {
                            DatoDeContacto nuevo_dato = new DatoDeContacto(row.GetSmallintAsInt("Id_Dato_Area"),
                                                                           row.GetString("Descripcion_Dato_Area"),
                                                                           row.GetString("Dato_Area"),
                                                                           row.GetSmallintAsInt("Orden"));
                            area_existente.DatosDeContacto.Add(nuevo_dato);
                        }
                    }
                });
            }

            foreach (Area area in areas)
            {
                area.DatosDeContacto.Sort((dato1, dato2) => dato1.esMayorQue(dato2));
            }
            return(areas);
        }