Пример #1
0
    protected void btnLegajo_Click(object sender, EventArgs e)
    {
        EntidadesConosud dc = new EntidadesConosud();

        List <LegajosImp> legajos = (from L in dc.LegajosImp
                                     select L).ToList <LegajosImp>();

        foreach (LegajosImp item in legajos)
        {
            try
            {
                Legajos newLegajo = new Legajos();
                newLegajo.Apellido       = item.Apellido.ToUpper();
                newLegajo.Nombre         = item.Nombre.ToUpper();
                newLegajo.CUIL           = item.CUIL.ToString();
                newLegajo.NroDoc         = item.CUIL.ToString().Substring(2, 8);
                newLegajo.AutorizadoCond = false;

                string CuitEmpresa = item.CUIT.ToString();
                newLegajo.EmpresaLegajo = (from CE in dc.Empresa
                                           where CE.CUIT == CuitEmpresa
                                           select CE.IdEmpresa).FirstOrDefault <long>();


                dc.AddToLegajos(newLegajo);
            }
            catch { }
        }

        dc.SaveChanges();
    }
Пример #2
0
        public Legajos FindByLegajoNro(int legajoNro)
        {
            Legajos ItemBuscado = null;

            try
            {
                using (var db = new escuelapsdelsurContext())
                {
                    ItemBuscado = db.Legajos.SingleOrDefault(legajo => legajo.LegajoNro == legajoNro);
                    if (ItemBuscado == null)
                    {
                        _logger.LogInformation("LegajoNro: " + legajoNro.ToString() + " --> NoEncontrado");
                    }
                    else
                    {
                        Alumnos AlumnoBuscado = db.Alumnos.Find(ItemBuscado.AlumnoId);
                        if (AlumnoBuscado.EstaBorrado)
                        {
                            ItemBuscado = null;
                            _logger.LogInformation("LegajoNro: " + legajoNro.ToString() + " --> Borrado");
                        }
                    }
                    _logger.LogInformation("Buscar LegajoNro: " + legajoNro.ToString() + " --> OK");
                }
            }
            catch (System.Exception ex)
            {
                _logger.LogError(ex.Message);
                throw ex;
            }
            return(ItemBuscado);
        }
Пример #3
0
        public Legajos Find(int id)
        {
            Legajos ItemBuscado = null;

            try
            {
                using (var db = new escuelapsdelsurContext())
                {
                    Alumnos AlumnoBuscado = db.Alumnos.Find(id);
                    if (AlumnoBuscado != null && !AlumnoBuscado.EstaBorrado)
                    {
                        ItemBuscado = db.Legajos.Find(id);
                    }
                    else
                    {
                        _logger.LogInformation("AlumnoID: " + id.ToString() + " --> EstaBorrado");
                    }
                    _logger.LogInformation("Buscar LegajoId: " + id.ToString() + " --> OK");
                }
            }
            catch (System.Exception ex)
            {
                _logger.LogError(ex.Message);
                throw ex;
            }
            return(ItemBuscado);
        }
Пример #4
0
 public IActionResult Create([FromBody] Legajos item)
 {
     if (item == null)
     {
         return(BadRequest());
     }
     _repo.Add(item);
     return(CreatedAtRoute("GetLegajos", new { controller = "Legajos", AlumnoId = item.AlumnoId }, item));
 }
Пример #5
0
    public static string CalcularHabilitaacionCredencial(Legajos leg, List <ContEmpLegajos> contEmpLeg, bool returnFecha)
    {
        List <DateTime?> allFechasCalculo = new List <DateTime?>();

        DateTime?fechaVencimientoContrato = null;
        DateTime?fechaAltaMedica          = leg.FechaUltimoExamen != null?leg.FechaUltimoExamen.Value.AddYears(1) : (DateTime?)null;

        DateTime?fechaRac       = leg.CursosLegajos.Min(w => w.FechaVencimiento);
        var      contratoActivo = contEmpLeg.Where(w => w != null && w.IdLegajos == leg.IdLegajos).LastOrDefault();

        if (contratoActivo != null)
        {
            DateTime?fechaSeguro = leg.CompañiaSeguro != null && leg.FechaVencimiento != null ? leg.FechaVencimiento.Value : (DateTime?)null;
            if (fechaSeguro == null)
            {
                Seguros segART = leg.objContEmpLegajos.Last().ContratoEmpresas.Empresa.Seguros.Where(w => w.objTipoSeguro != null && w.objTipoSeguro.Descripcion.Contains("ART")).FirstOrDefault();
                if (segART != null)
                {
                    fechaSeguro = segART.FechaVencimiento;
                }
            }

            fechaVencimientoContrato = contratoActivo.ContratoEmpresas.Contrato.Prorroga.HasValue && contratoActivo.ContratoEmpresas.Contrato.Prorroga.Value > contratoActivo.ContratoEmpresas.Contrato.FechaVencimiento ? contratoActivo.ContratoEmpresas.Contrato.Prorroga : contratoActivo.ContratoEmpresas.Contrato.FechaVencimiento;

            allFechasCalculo.Add(fechaAltaMedica);
            allFechasCalculo.Add(fechaRac);
            allFechasCalculo.Add(fechaSeguro);
            allFechasCalculo.Add(fechaVencimientoContrato);
            allFechasCalculo.Add(leg.CredVencimiento);

            DateTime minFecha = allFechasCalculo.Where(w => w != null).Min(w => w.Value);

            if (returnFecha)
            {
                return(minFecha.ToShortDateString());
            }
            else
            {
                return(DateTime.Now < minFecha ? "SI" : "NO");
            }
        }
        else
        {
            if (returnFecha)
            {
                return("Sin Contrato");
            }
            else
            {
                return("NO");
            }
        }
    }
Пример #6
0
 public void Egresar(Divisiones division)
 {
     try
     {
         if (division.EstadoDivisionId == EstadosDivision.Estados[(int)EstadoDivisionId.Cursando])
         {
             bool TerminarDivision = true;
             using (var db = new escuelapsdelsurContext())
             {
                 var estudiantesAsignados = db.Grupos.Include(g => g.Legajo).Where(d => d.CarreraId == division.CarreraId &&
                                                                                   d.ModoId == division.ModoId &&
                                                                                   d.AnioInicio == division.AnioInicio &&
                                                                                   d.MesInicio == division.MesInicio &&
                                                                                   d.AnioLectivo == division.AnioLectivo &&
                                                                                   d.NmestreLectivo == division.NmestreLectivo &&
                                                                                   d.TurnoId == division.TurnoId &&
                                                                                   d.DivisionId == division.DivisionId);
                 foreach (Grupos estudianteAsigando in estudiantesAsignados)
                 {
                     Legajos legajo = estudianteAsigando.Legajo;
                     if (legajo.EstadoEstudianteId == Enum.GetName(typeof(EstadoEstudianteId), EstadoEstudianteId.Activo))
                     {
                         legajo.EstadoEstudianteId = Enum.GetName(typeof(EstadoEstudianteId), EstadoEstudianteId.Egresado);
                         db.Legajos.Update(legajo);
                     }
                     TerminarDivision &= !(legajo.EstadoEstudianteId == Enum.GetName(typeof(EstadoEstudianteId), EstadoEstudianteId.Suspendido));
                 }
                 if (TerminarDivision)
                 {
                     division.EstadoDivisionId = EstadosDivision.Estados[(int)EstadoDivisionId.Terminado];
                     db.Divisiones.Update(division);
                 }
                 db.SaveChanges();
                 _logger.LogInformation("Egresar " + "--> Ok");
             }
         }
         else
         {
             throw new EstadoDivisionExpectedException("Se esperaba el estado: " + EstadosDivision.Estados[(int)EstadoDivisionId.Cursando]);
         }
     }
     catch (System.Exception ex)
     {
         _logger.LogError(ex.Message);
         throw ex;
     }
 }
Пример #7
0
 public void Update(Legajos item)
 {
     try
     {
         using (var db = new escuelapsdelsurContext())
         {
             db.Update(item);
             db.SaveChanges();
             _logger.LogInformation("Actualizar Legajo ID: " + item.AlumnoId.ToString() + "/ Legajo Nro: " + item.LegajoNro.ToString() + " --> OK");
         }
     }
     catch (System.Exception ex)
     {
         _logger.LogError(ex.Message);
         throw ex;
     }
 }
Пример #8
0
        public void Update(IEnumerable <Inscriptos> items)
        {
            try
            {
                using (var db = new escuelapsdelsurContext())
                {
                    Legajos LegajoNuevo;
                    Boolean HayLegajosNuevos = false;
                    int     dniok            = 0;
                    foreach (var item in items)
                    {
                        if (item.LegajoNro.HasValue)
                        {
                            LegajoNuevo                 = new Legajos();
                            LegajoNuevo.AlumnoId        = item.AlumnoId;
                            LegajoNuevo.LegajoNro       = item.LegajoNro.Value;
                            LegajoNuevo.Sexo            = "Masculino"; //TODO: Según https://pfebolo.atlassian.net/browse/EPSS0-112
                            LegajoNuevo.FechaNacimiento = null;
                            LegajoNuevo.FechaIngreso    = DateTime.Today;
                            dniok = 0;
                            int.TryParse(item.Dni, out dniok);
                            LegajoNuevo.Dni            = dniok;
                            LegajoNuevo.DireccionCalle = String.Empty;
                            LegajoNuevo.DireccionNro   = String.Empty;


                            db.Legajos.Add(LegajoNuevo);
                            HayLegajosNuevos = true;
                        }
                    }

                    if (HayLegajosNuevos)
                    {
                        db.SaveChanges();
                    }
                    _logger.LogInformation("Inscriptos:Crear legajos--> Ok");
                }
            }
            catch (System.Exception ex)
            {
                _logger.LogError(ex.Message);
                throw ex;
            }
        }
Пример #9
0
        public IActionResult Put([FromBody] Legajos item)
        {
            if (item == null)
            {
                return(BadRequest());
            }

            var Modo = _repo.Find(item.AlumnoId);

            if (Modo == null)
            {
                return(NotFound());
            }
            try
            {
                _repo.Update(item);
                return(NoContent());
            }
            catch (System.Exception ex)
            {
                return(Utils.ResponseConfict(ex));
            }
        }
Пример #10
0
        private void ActualizarInscripto(string[] inscripto, escuelapsdelsurContext db)
        {
            try
            {
                int      NroDni = 0;
                DateTime dtProvisorio;
                Legajos  legajo = null;

                Int32.TryParse(inscripto[(int)inscriptoCampos.DNI].Replace(".", ""), out NroDni);
                _logger.LogInformation("Procesando DNI:" + NroDni.ToString());
                if (db.Legajos.Count(x => (x.Dni == NroDni) && (x.Cuestionario == null)) == 1)
                {
                    using (var dbContextTransaction = db.Database.BeginTransaction())
                    {
                        try
                        {
                            StringBuilder registro = new StringBuilder("");
                            for (int campo = 0; campo < inscripto.Length; campo++)
                            {
                                registro.Append(inscripto[campo]);
                                registro.Append(",");
                            }
                            _logger.LogInformation("Fila: " + registro.ToString());

                            legajo      = db.Legajos.Single(x => x.Dni == NroDni);
                            legajo.Sexo = inscripto[(int)inscriptoCampos.Sexo].Trim();
                            if (DateTime.TryParse(inscripto[(int)inscriptoCampos.FechaNacimiento], out dtProvisorio))
                            {
                                legajo.FechaNacimiento = dtProvisorio;
                            }
                            else
                            {
                                legajo.FechaNacimiento = new DateTime(1900, 1, 1);                                 //MinValue form smallDateTime (type of DB Column)
                            }
                            legajo.LugarNacimiento            = inscripto[(int)inscriptoCampos.LugarNacimiento].Trim();
                            legajo.DireccionCalle             = inscripto[(int)inscriptoCampos.DireccionCalle].Trim();
                            legajo.DireccionNro               = inscripto[(int)inscriptoCampos.DireccionNumero].Trim();
                            legajo.DireccionCoordenadaInterna = inscripto[(int)inscriptoCampos.DireccionDepartamento].Trim() + ", " + inscripto[(int)inscriptoCampos.DireccionOtros].Trim();
                            legajo.LocalidadBase              = inscripto[(int)inscriptoCampos.DireccionLocalidad].Trim();
                            legajo.SecundarioCompletoOley25   = false;
                            if (inscripto[(int)inscriptoCampos.Aclaracion].Trim() != "")
                            {
                                if (legajo.Comentarios != null && legajo.Comentarios.Trim() != "")
                                {
                                    legajo.Comentarios = legajo.Comentarios.Trim() + " - " + inscripto[(int)inscriptoCampos.Aclaracion].Trim();
                                }
                                else
                                {
                                    legajo.Comentarios = inscripto[(int)inscriptoCampos.Aclaracion].Trim();
                                }
                            }
                            int CPBase = 0;
                            int.TryParse(inscripto[(int)inscriptoCampos.DireccionCP].Trim(), out CPBase);
                            legajo.CodigoPostalBase = CPBase;
                            legajo.FechaIngreso     = DateTime.Parse(inscripto[(int)inscriptoCampos.FechaDeInscripcion]);
                            legajo.ModalidadBase    = inscripto[(int)inscriptoCampos.CursoModalidad];
                            legajo.Cuestionario     = DateTime.Parse(inscripto[(int)inscriptoCampos.FechaDeInscripcion]);
                            legajo.Historia         = inscripto[(int)inscriptoCampos.Historia].Trim();
                            legajo.Definicion       = inscripto[(int)inscriptoCampos.Definicion].Trim();
                            legajo.Situacion        = inscripto[(int)inscriptoCampos.Situacion].Trim();
                            legajo.Expectativas     = inscripto[(int)inscriptoCampos.Expectativas].Trim();

                            //Estudios
                            int Estudio_ID = 500;
                            //Secundario
                            Estudios estudio;
                            Estudio_ID            += 1;
                            estudio                = db.Estudios.SingleOrDefault(x => x.AlumnoId == legajo.AlumnoId && x.EstudioId == Estudio_ID) ?? new Estudios(legajo.AlumnoId, Estudio_ID);
                            estudio.NivelEstudioId = "Secundario";
                            estudio.Titulo         = inscripto[(int)inscriptoCampos.EstudioSecundarioCarrera].Trim();
                            estudio.Institucion    = inscripto[(int)inscriptoCampos.EstudioSecundarioExpedidoPor].Trim();
                            estudio.Terminado      = (inscripto[(int)inscriptoCampos.EstudioSecundario].Trim().ToUpper() == "SI");
                            if (!db.Estudios.Contains(estudio))
                            {
                                db.Estudios.Add(estudio);
                            }
                            if ((inscripto[(int)inscriptoCampos.EstudioTerciarioCarrera].Trim() != "") ||
                                (inscripto[(int)inscriptoCampos.EstudioTerciarioInstitucion].Trim() != ""))
                            {
                                Estudio_ID            += 1;
                                estudio                = db.Estudios.SingleOrDefault(x => x.AlumnoId == legajo.AlumnoId && x.EstudioId == Estudio_ID) ?? new Estudios(legajo.AlumnoId, Estudio_ID);
                                estudio.NivelEstudioId = "Terciario";
                                estudio.Titulo         = inscripto[(int)inscriptoCampos.EstudioTerciarioCarrera].Trim();
                                estudio.Institucion    = inscripto[(int)inscriptoCampos.EstudioTerciarioCarrera].Trim();
                                estudio.Terminado      = (inscripto[(int)inscriptoCampos.EstudioTerciarioCompleto].Trim().ToUpper() == "SI");
                                if (!db.Estudios.Contains(estudio))
                                {
                                    db.Estudios.Add(estudio);
                                }
                            }
                            if ((inscripto[(int)inscriptoCampos.EstudioUniversitarioCarrera].Trim() != "") ||
                                (inscripto[(int)inscriptoCampos.EstudioUniversitarioInstitucion].Trim() != ""))
                            {
                                Estudio_ID            += 1;
                                estudio                = db.Estudios.SingleOrDefault(x => x.AlumnoId == legajo.AlumnoId && x.EstudioId == Estudio_ID) ?? new Estudios(legajo.AlumnoId, Estudio_ID);
                                estudio.NivelEstudioId = "Universitario";
                                estudio.Titulo         = inscripto[(int)inscriptoCampos.EstudioUniversitarioCarrera].Trim();
                                estudio.Institucion    = inscripto[(int)inscriptoCampos.EstudioUniversitarioCarrera].Trim();
                                estudio.Terminado      = (inscripto[(int)inscriptoCampos.EstudioUniversitarioCompleto].Trim().ToUpper() == "SI");
                                if (!db.Estudios.Contains(estudio))
                                {
                                    db.Estudios.Add(estudio);
                                }
                            }

                            //Trabajos
                            Trabajos trabajo;
                            int      Trabajo_ID = 500;
                            if ((inscripto[(int)inscriptoCampos.TrabajoAntiguedad].Trim() != "") ||
                                (inscripto[(int)inscriptoCampos.TrabajoCargo].Trim() != "") ||
                                (inscripto[(int)inscriptoCampos.TrabajoLugar].Trim() != "") ||
                                (inscripto[(int)inscriptoCampos.TrabajoTelefono].Trim() != ""))
                            {
                                Trabajo_ID         += 1;
                                trabajo             = db.Trabajos.SingleOrDefault(x => x.AlumnoId == legajo.AlumnoId && x.TrabajoId == Trabajo_ID) ?? new Trabajos(legajo.AlumnoId, Trabajo_ID);
                                trabajo.Antiguedad  = inscripto[(int)inscriptoCampos.TrabajoAntiguedad].Trim();
                                trabajo.Cargo       = inscripto[(int)inscriptoCampos.TrabajoCargo].Trim();
                                trabajo.RazonSocial = inscripto[(int)inscriptoCampos.TrabajoLugar].Trim();
                                trabajo.Telefono    = inscripto[(int)inscriptoCampos.TrabajoTelefono].Trim();
                                if (!db.Trabajos.Contains(trabajo))
                                {
                                    db.Trabajos.Add(trabajo);
                                }
                            }
                            db.SaveChanges();
                            dbContextTransaction.Commit();
                            _logger.LogInformation("Legajo con DNI" + NroDni.ToString() + " encontrado y actualizado satisfactoriamente.");
                            _inscriptosEncontradosOK += 1;
                        }

                        catch (System.Exception ex)
                        {
                            dbContextTransaction.Rollback();
                            if (legajo != null)
                            {
                                //Rollback del Contexto
                                DbContextHelper dbHelper = new DbContextHelper(db);
                                dbHelper.tableRollback <Estudios>(legajo.Estudios);
                                dbHelper.tableRollback <Trabajos>(legajo.Trabajos);
                                dbHelper.entryRollback(legajo);
                            }
                            _logger.LogError(new EventId(), ex, null);
                            _inscriptosEncontradosNoOK += 1;
                        }
                    }
                }
                else
                {
                    _logger.LogInformation(NroDni.ToString() + " No encontrado o previamente procesado.");
                    _inscriptosNoEncontrados += 1;
                }
            }
            catch (System.Exception ex)
            {
                _logger.LogError(new EventId(), ex, null);
            }
        }
Пример #11
0
    public static void GeneracionXmlLegajos(string ruta)
    {
        EntidadesConosud dbLocal = new EntidadesConosud();


        List <Legajos> legajos = (from L in dbLocal.Legajos
                                  select L).ToList <Legajos>();
        //.Include("objContEmpLegajos")
        //.Include("objContEmpLegajos.CabeceraHojasDeRuta")
        //.Include("objContEmpLegajos.ContratoEmpresas")
        //.Include("objContEmpLegajos.ContratoEmpresas.Empresa")
        //.Include("objContEmpLegajos.ContratoEmpresas.Contrato")

        List <Entidades.Empresa> emps = (from L in dbLocal.Empresa
                                         select L).ToList <Entidades.Empresa>();
        List <Entidades.Contrato> conts = (from L in dbLocal.Contrato
                                           select L).ToList <Entidades.Contrato>();
        List <Entidades.ContratoEmpresas> ContratoEmpresas = (from L in dbLocal.ContratoEmpresas
                                                              select L).ToList <Entidades.ContratoEmpresas>();
        List <Entidades.CabeceraHojasDeRuta> CabeceraHojasDeRuta = (from L in dbLocal.CabeceraHojasDeRuta
                                                                    select L).ToList <Entidades.CabeceraHojasDeRuta>();
        List <Entidades.ContEmpLegajos> ContEmpLegajos = (from L in dbLocal.ContEmpLegajos
                                                          select L).ToList <Entidades.ContEmpLegajos>();

        XDocument xDoc = new XDocument(
            new XElement("searchable_index", from pt in legajos select new XElement("item", pt.NroDoc)));


        IEnumerable <XElement> childList = from el in xDoc.Elements().Elements()
                                           select el;

        foreach (XElement item in childList)
        {
            Legajos current = legajos.Where(P => P.NroDoc == item.Value).FirstOrDefault <Legajos>();

            //Legajos  current = (from P in legajos
            //                    where P.NroDoc == item.Value
            //                    select P).FirstOrDefault<Legajos>();

            item.SetValue(current.Apellido + ", " + current.Nombre);

            if (current.objContEmpLegajos.Count > 0)
            {
                ContEmpLegajos ultimo = (from C in current.objContEmpLegajos
                                         where C.FechaTramiteBaja == null
                                         orderby C.CabeceraHojasDeRuta.Periodo
                                         select C).LastOrDefault <ContEmpLegajos>();

                if (ultimo == null)
                {
                    item.Add(new XAttribute("contrato", "Sin Contrato"));
                    item.Add(new XAttribute("UltimoPeriodo", ""));
                }
                else
                {
                    string UltiPeriodoAsignado = ultimo.CabeceraHojasDeRuta.Periodo.Year.ToString() + "/" + string.Format("{0:00}", ultimo.CabeceraHojasDeRuta.Periodo.Month);

                    //ContratoEmpresas currentContEmp = (from C in dbLocal.ContratoEmpresas.Include("Empresa").Include("Contrato")
                    //                                   where C.IdContratoEmpresas == idContEmpresa
                    //                                   select C).First<ContratoEmpresas>();

                    item.Add(new XAttribute("contrato", ultimo.ContratoEmpresas.Contrato.Codigo + " - " + ultimo.ContratoEmpresas.Empresa.RazonSocial));
                    item.Add(new XAttribute("UltimoPeriodo", UltiPeriodoAsignado));
                }
            }
            else
            {
                item.Add(new XAttribute("contrato", "Sin Contrato"));
                item.Add(new XAttribute("UltimoPeriodo", ""));
            }

            item.Add(new XAttribute("NroDocumento", current.NroDoc));
            item.Add(new XAttribute("IdLegajo", current.IdLegajos));
        }


        xDoc.Save(ruta + @"\Legajos.xml");
    }
Пример #12
0
 public void Add(Legajos item)
 {
     //item.Key=(_list.Count+1).ToString();
     //_list.Add(item);
 }