示例#1
0
        public RespuestaABusquedaDeLegajos BuscarLegajos(string criterio)
        {
            //int numero;
            //if (int.TryParse(criterio, out numero))
            //{
            //    legajos.AddRange(this.GetLegajoPorDocumento(numero));
            //    legajos.AddRange(this.GetLegajoPorIdInterna(numero));
            //}
            //else
            //{
            //    legajos.AddRange(this.GetLegajosPorApellidoYNombre(criterio));
            //}
            var legajos   = new List <LegajoModi>();
            var repo_pers = RepositorioDePersonas.NuevoRepositorioDePersonas(this.conexion_db);
            var personas  = repo_pers.BuscarPersonasConLegajo(criterio);

            personas.ForEach(p =>
            {
                var legajo = new LegajoModi(int.Parse(p.Legajo),
                                            p.Documento,
                                            p.Nombre,
                                            p.Apellido);

                legajo.agregarDocumentos(this.DocumentosPara(legajo));
                this.SetearEsqueletoDeImagenesAUnLegajo(legajo);
                legajos.Add(legajo);
            });
            return(new RespuestaABusquedaDeLegajos(legajos));
        }
示例#2
0
        public List <Usuario> UsuariosQueAdministranElArea(int id_area)
        {
            var            repo_usuarios       = new RepositorioDeUsuarios(conexion, RepositorioDePersonas.NuevoRepositorioDePersonas(conexion));;
            var            permisos            = this.Obtener();
            List <Usuario> usuariosEncontrados = permisos.FindAll(p => p.Value == id_area).Select(p => repo_usuarios.GetUsuarioPorId(p.Key)).ToList();

            return(usuariosEncontrados);
        }
示例#3
0
        public bool RecuperarUsuario(string criterio)
        {
            var repo_personas          = RepositorioDePersonas.NuevoRepositorioDePersonas(this.conexion);
            var repo_usuarios          = new RepositorioDeUsuarios(this.conexion, repo_personas);
            var validador_datos        = new Validador();
            var criterio_deserializado = (JObject)JsonConvert.DeserializeObject(criterio);

            if (criterio_deserializado["Mail"] != null)
            {
                string  mail = (string)((JValue)criterio_deserializado["Mail"]);
                Usuario usuario_a_recuperar = repo_usuarios.RecuperarUsuario(mail);
                if (usuario_a_recuperar.Id == 0)
                {
                    return(false);
                }

                EnviarMailDeRecupero(usuario_a_recuperar, mail);
                return(true);
            }
            return(false);
        }
示例#4
0
        public int crearAlerta(string titulo, string descripcion, int id_usuario_destinatario, int id_usuario_creador)
        {
            var parametros = new Dictionary <string, object>();

            parametros.Add("@id_usuario_destinatario", id_usuario_destinatario);
            parametros.Add("@id_usuario_creador", id_usuario_creador);
            parametros.Add("@titulo", titulo);
            parametros.Add("@descripcion", descripcion);

            var id_alerta     = Int32.Parse((this.conexion.EjecutarEscalar("dbo.MAU_CrearAlerta", parametros).ToString()));
            var repo_personas = RepositorioDePersonas.NuevoRepositorioDePersonas(this.conexion);
            var repo_usuarios = new RepositorioDeUsuarios(this.conexion, repo_personas);

            var usuario = repo_usuarios.GetUsuarioPorId(id_usuario_destinatario);

            var titulo_mail = titulo;
            var cuerpo      = descripcion;

            EnviadorDeMails.EnviarMail(usuario.MailRegistro, titulo_mail, cuerpo);

            return(id_alerta);
        }
示例#5
0
        public string InscripcionManual(string postulacion, string datosPersonales, string folio, Usuario usuario)
        {
            var postulacion_deserializada     = (JObject)JsonConvert.DeserializeObject(postulacion);
            var datosPersonales_deserializada = (JObject)JsonConvert.DeserializeObject(datosPersonales);
            var folio_deserializada           = (JObject)JsonConvert.DeserializeObject(folio);

            var idPerfil   = postulacion_deserializada["postulacion"]["Perfil"].ToString();
            var numerosGDE = postulacion_deserializada["postulacion"]["NumerosDeInformeGDE"].ToArray();

            var fechaInscripcion = postulacion_deserializada["postulacion"]["FechaInscripcion"].ToString();

            string[] fechas          = fechaInscripcion.Split('/');
            DateTime fechaFormateada = new DateTime(int.Parse(fechas[2]), int.Parse(fechas[1]), int.Parse(fechas[0]));

            var dniInscriptor = postulacion_deserializada["postulacion"]["DNIInscriptor"].ToString();
            var nombre        = datosPersonales_deserializada["datosPersonales"]["Nombre"].ToString();
            var apellido      = datosPersonales_deserializada["datosPersonales"]["Apellido"].ToString();
            var dni           = datosPersonales_deserializada["datosPersonales"]["DNI"].ToString();
            var telefono      = datosPersonales_deserializada["datosPersonales"]["Telefono"].ToString();
            var mail          = datosPersonales_deserializada["datosPersonales"]["Mail"].ToString();

            var folioFicha    = folio_deserializada["folio"]["FichaInscripcion"].ToString();
            var folioCarnet   = folio_deserializada["folio"]["FotografiaCarnet"].ToString();
            var folioDNI      = folio_deserializada["folio"]["FotocopiaDNI"].ToString();
            var folioTitulo   = folio_deserializada["folio"]["Titulo"].ToString();
            var folioCV       = folio_deserializada["folio"]["CV"].ToString();
            var folioRespaldo = folio_deserializada["folio"]["DocumentacionRespaldo"].ToString();

            var domicilio_personal_calle     = datosPersonales_deserializada["datosPersonales"]["DomicilioCallePersonal"].ToString();
            var domicilio_personal_nro       = int.Parse(datosPersonales_deserializada["datosPersonales"]["DomicilioNroPersonal"].ToString());
            var domicilio_personal_piso      = int.Parse(datosPersonales_deserializada["datosPersonales"]["DomicilioPisoPersonal"].ToString());
            var domicilio_personal_depto     = datosPersonales_deserializada["datosPersonales"]["DomicilioDeptoPersonal"].ToString();
            var domicilio_personal_cp        = int.Parse(datosPersonales_deserializada["datosPersonales"]["DomicilioCpPersonal"].ToString());
            var domicilio_personal_prov      = int.Parse(datosPersonales_deserializada["datosPersonales"]["DomicilioProvinciaPersonal"].ToString());
            var domicilio_personal_localidad = int.Parse(datosPersonales_deserializada["datosPersonales"]["DomicilioLocalidadPersonal"].ToString());

            var domicilio_legal_calle     = datosPersonales_deserializada["datosPersonales"]["DomicilioCalleLegal"].ToString();
            var domicilio_legal_nro       = int.Parse(datosPersonales_deserializada["datosPersonales"]["DomicilioNroLegal"].ToString());
            var domicilio_legal_piso      = int.Parse(datosPersonales_deserializada["datosPersonales"]["DomicilioPisoLegal"].ToString());
            var domicilio_legal_depto     = datosPersonales_deserializada["datosPersonales"]["DomicilioDeptoLegal"].ToString();
            var domicilio_legal_cp        = int.Parse(datosPersonales_deserializada["datosPersonales"]["DomicilioCpLegal"].ToString());
            var domicilio_legal_prov      = int.Parse(datosPersonales_deserializada["datosPersonales"]["DomicilioProvinciaLegal"].ToString());
            var domicilio_legal_localidad = int.Parse(datosPersonales_deserializada["datosPersonales"]["DomicilioLocalidadLegal"].ToString());


            //mockeado el tipo
            var modalidad = postulacion_deserializada["postulacion"]["Modalidad"].ToString();


            RepositorioDePersonas repoPersonas = RepositorioDePersonas.NuevoRepositorioDePersonas(conexion_bd);
            Persona personaAInscribir;

            try {
                //busco o creo la persona que se va a postular
                personaAInscribir = TraerPersonaPorDNI(repoPersonas, dni, nombre, apellido);
            }
            catch (Exception e) {
                return(e.Message);
            }

            RepositorioDeUsuarios repoUsuarios = new RepositorioDeUsuarios(conexion_bd, repoPersonas);
            Usuario usuarioAInscribir;

            try {
                //busco el usuario de la persona que se va postular
                usuarioAInscribir = TraerUsuarioPorIdPersona(repoUsuarios, personaAInscribir.Id);
            }
            catch (Exception e) {
                return(e.Message);
            }

            Persona personaInscriptor;

            try {
                //busco la persona que fue el inscriptor
                personaInscriptor = TraerPersonaPorDNI(repoPersonas, dniInscriptor, "", "");
            }
            catch (Exception e) {
                return(e.Message);
            }


            Usuario usuarioInscriptor;

            try {
                //busco el usuario del inscriptor
                usuarioInscriptor = TraerUsuarioPorIdPersona(repoUsuarios, personaInscriptor.Id);
            }
            catch (Exception e) {
                return(e.Message);
            }

            //guardo el domicilio personal
            GuardarDomicilioInscripcionManual(int.Parse(dni), domicilio_personal_calle, domicilio_personal_nro, domicilio_personal_piso, domicilio_personal_depto, domicilio_personal_cp, domicilio_personal_prov, domicilio_personal_localidad, telefono, mail, 1, usuarioInscriptor.Id);
            //guardo el domicilio legal
            GuardarDomicilioInscripcionManual(int.Parse(dni), domicilio_legal_calle, domicilio_legal_nro, domicilio_legal_piso, domicilio_legal_depto, domicilio_legal_cp, domicilio_legal_prov, domicilio_legal_localidad, telefono, mail, 2, usuarioInscriptor.Id);

            //creo la postulacion
            var numeroPostulacion = CrearPostulacionManual(int.Parse(idPerfil), personaAInscribir.Id, usuarioAInscribir.Id, numerosGDE);

            //guardo los folios de la postulacion
            //OJO CAMBIAR LA FECHA
            GuardarFolios(numeroPostulacion, fechaFormateada, int.Parse(folioFicha), int.Parse(folioCarnet), int.Parse(folioDNI), int.Parse(folioTitulo), int.Parse(folioCV), int.Parse(folioRespaldo), usuarioInscriptor.Id);

            //guardo en la nueva tabla de postulacion manual
            GuardarDatosExtrasPostulacionManual(numeroPostulacion, DateTime.Now, usuario.Id, int.Parse(modalidad));

            //busco la postulacion para pasarla de etapa
            Postulacion mi_postul = this.GetPostulacionesPorCodigo(numeroPostulacion);

            InsEtapaPostulacion(mi_postul.Id, 2, usuarioInscriptor.Id);

            return(numeroPostulacion);
        }
示例#6
0
        public List <Usuario> UsuariosConLaFuncionalidad(int id_funcionalidad)
        {
            RepositorioDeUsuarios repositorioDeUsuarios = new RepositorioDeUsuarios(conexion, RepositorioDePersonas.NuevoRepositorioDePersonas(conexion));

            return(this.Obtener().FindAll(p => p.Value == id_funcionalidad).Select(p => repositorioDeUsuarios.GetUsuarioPorId(p.Key)).ToList());
        }
示例#7
0
        public bool RegistrarNuevoUsuario(AspiranteAUsuario aspirante, int id_usuario_logueado)
        {
            var repo_personas = RepositorioDePersonas.NuevoRepositorioDePersonas(this.conexion);
            var repo_usuarios = new RepositorioDeUsuarios(this.conexion, repo_personas);

            //if (repo_personas.BuscarPersonas(JsonConvert.SerializeObject(new { Documento=aspirante.Documento, ConLegajo=true})).Count > 0)
            //{
            //    throw new Exception("Ya hay alguien registrado con su documento.");
            //}

            //Se agrega la restricción del mail para que sea único
            if (repo_usuarios.ValidarMailExistente(aspirante.Email))
            {
                //throw new Exception("Ya hay alguien registrado con su Mail.");
                return(false);
            }

            //VALIDA QUE SI TIENE UN DOCUMENTO YA EN LA BASE Y TIENE UN USUARIO ASIGNADO NO PUEDE.
            if (repo_personas.BuscarPersonasConUsuario(JsonConvert.SerializeObject(new { Documento = aspirante.Documento })))
            {
                return(false);
            }

            if (aspirante.Nombre.Trim() == "")
            {
                throw new Exception("El nombre no puede ser vacío.");
            }
            if (aspirante.Apellido.Trim() == "")
            {
                throw new Exception("El apellido no puede ser vacío.");
            }

            var persona = new Persona();

            persona.Documento = aspirante.Documento;
            persona.Nombre    = aspirante.Nombre;
            persona.Apellido  = aspirante.Apellido;

            repo_personas.GuardarPersona(persona, id_usuario_logueado);


            var usuario = repositorio_usuarios.CrearUsuarioPara(persona.Id);

            repositorio_usuarios.AsociarUsuarioConMail(usuario, aspirante.Email);
            var clave = repositorio_usuarios.ResetearPassword(usuario.Id);
            //mandarla por mail
            var titulo = "Bienvenido al SIGIRH";
            var cuerpo = "Usted ha registrado en la página https://rrhh.desarrollosocial.gob.ar/" +
                         "<br/>" +
                         "Los datos para poder acceder a la misma son los siguientes:" +
                         "<br/>" +
                         "<br/>" +
                         "Nombre de Usuario: " + usuario.Alias +
                         "<br/>" +
                         "Contraseña: " + clave +
                         "<br/>" +
                         "<br/>" +
                         "Este es un mensaje automático enviado desde el Sistema SIGIRH, por favor no responda al mismo." +
                         "<br/>" +
                         "Cualquier inquietud comuníquese con la Dirección de Diseño y Desarrollo Organizacional para la Gestión de Personas." +
                         "del Ministerio de Desarrollo Social de la Nación Argentina." +
                         "<br/>" +
                         "<br/>" +
                         "Muchas gracias";



            EnviadorDeMails.EnviarMail(aspirante.Email, titulo, cuerpo);
            return(true);
        }