Exemple #1
0
        /// <summary>
        /// Retorna una lista con todos los sistemas
        /// </summary>
        /// <returns>Una lista con todos los sistemas</returns>
        public void SincroFichadas(IList <Fichadas> fichadasIList)
        {
            IList <SN_Fichadas> snfichadasIList = new List <SN_Fichadas>();

            foreach (Fichadas fichada in fichadasIList)
            {
                SN_Fichadas snFichada = new SN_Fichadas();
                snFichada.Id            = fichada.Id;
                snFichada.Accion        = fichada.Accion;
                snFichada.Capturada     = fichada.Capturada;
                snFichada.Codigo        = fichada.Codigo;
                snFichada.Consola       = fichada.Consola;
                snFichada.Controlador   = fichada.Controlador;
                snFichada.Fecha         = fichada.Fecha;
                snFichada.IdPerso       = fichada.IdPerso;
                snFichada.Observaciones = fichada.Observaciones;
                snFichada.Secuencia     = fichada.Secuencia;
                snFichada.Tarjeta       = fichada.Tarjeta;
                snFichada.Transferida   = fichada.Transferida;
                snFichada.TReal         = fichada.TReal;
                snFichada.EstadoSincro  = EstadoSincroEnum.ParaEnviar.GetHashCode();

                snFichada.legajo = fichadasDal.GetLegajoByPersona(fichada.IdPerso.Value);

                snFichada.Planta = sNControladorEdificioDal.GetByControlador(fichada.Controlador);

                snfichadasIList.Add(snFichada);
            }

            sNFichadasDal.SincroFichadas(snfichadasIList);
        }
Exemple #2
0
        public void ChangeEstadoSincro(int idSNFichada, int idEstadoSincro)
        {
            SN_Fichadas sNFichada = context.SN_Fichadas.Where(f => f.Id == idSNFichada).FirstOrDefault();

            sNFichada.EstadoSincro = idEstadoSincro;
            context.SaveChanges();
        }
Exemple #3
0
        public void ChangeEstadoSincro(IList <SN_Fichadas> sNFichadasIList, int idEstadoSincro)
        {
            foreach (SN_Fichadas sNFichada in sNFichadasIList)
            {
                SN_Fichadas sNFichadadb = context.SN_Fichadas.Where(f => f.Id == sNFichada.Id).FirstOrDefault();
                sNFichadadb.EstadoSincro = idEstadoSincro;
            }

            context.SaveChanges();
        }
Exemple #4
0
        public IList <sp_get_ProfesoresHs_Result> InfoSNFichadaParaInsertar(SN_Fichadas sNFichada)
        {
            List <sp_get_ProfesoresHs_Result> ProfesoresHsList      = context.sp_get_ProfesoresHs(sNFichada.Planta, sNFichada.Fecha.Value.Date, "", null, null).ToList();
            List <sp_get_ProfesoresHs_Result> ProfesoresHsListFinal = new List <sp_get_ProfesoresHs_Result>();

            ProfesoresHsList = ProfesoresHsList.Where(phl => phl.LegajoProfesor == sNFichada.Tarjeta).ToList();

            ProfesoresHsList = ProfesoresHsList.Where(ph => (ph.NovedadesId.HasValue ? !NovedadesHsTotal(ph.NovedadesId.Value) : true) && ph.Ausente == 0).ToList();

            if (ProfesoresHsList.Count > 1)
            {
                var query =
                    from c in ProfesoresHsList
                    group c by new
                {
                    c.codins,
                    c.FechaPlanificada,
                    c.HoraInicio,
                } into g
                select g;


                foreach (var item in query)
                {
                    if (item.Count() > 1)
                    {
                        int alm = 0;
                        sp_get_ProfesoresHs_Result definitivo = new sp_get_ProfesoresHs_Result();
                        foreach (sp_get_ProfesoresHs_Result item2 in item)
                        {
                            int alm2 = (from uIMD in context.uniInscripcionesMateriasDetalle
                                        join uIM in context.uniInscripcionesMaterias on uIMD.Clave equals uIM.Clave
                                        where uIMD.cursoId == item2.CursoId && uIM.Eliminada.HasValue ? !uIM.Eliminada.Value : true
                                        select uIMD).Count();

                            if (alm2 > alm)
                            {
                                definitivo = item2;
                            }
                        }
                        ProfesoresHsListFinal.Add(definitivo);
                    }
                    else
                    {
                        ProfesoresHsListFinal.Add(item.First());
                    }
                }
            }
            else
            {
                ProfesoresHsListFinal = ProfesoresHsList;
            }

            return(ProfesoresHsListFinal.OrderBy(ph => ph.HoraInicio.Value).ToList());
        }
Exemple #5
0
        public IList <SN_Fichadas> EliminarRegistrosSucesivos(IList <SN_Fichadas> snfichadasIList, int toleranceSeconds)
        {
            IList <int> idsIgnorados = new List <int>();
            var         query        =
                from c in snfichadasIList
                group c by new
            {
                c.Planta,
                c.legajo,
            } into g
            select g;

            foreach (var fichadaList in query)
            {
                int legajo = fichadaList.First().legajo == 0 ? fichadaList.First().Tarjeta.Value : fichadaList.First().legajo;
                IList <SN_Fichadas> pivotList = sNFichadasDal.GetSNFichadaByEstadoSincro(EstadoSincroEnum.Enviado.GetHashCode()).Where(f => f.Planta == fichadaList.First().Planta&& (f.legajo == legajo || f.Tarjeta.Value == legajo)).OrderBy(f => f.Fecha).ToList();
                SN_Fichadas         pivot     = pivotList.LastOrDefault();
                foreach (SN_Fichadas fichada in fichadaList)
                {
                    fichada.legajo = fichada.legajo == 0 ? fichada.Tarjeta.Value : fichada.legajo;
                    if (pivot != null)
                    {
                        TimeSpan diff = fichada.Fecha.Value - pivot.Fecha.Value;
                        if (diff.TotalSeconds < toleranceSeconds)
                        {
                            idsIgnorados.Add(fichada.Id);
                            sNFichadasDal.ChangeEstadoSincro(fichada.Id, EstadoSincroEnum.Ignorado.GetHashCode());
                        }
                        else
                        {
                            pivot = fichada;
                        }
                    }
                    else
                    {
                        pivot = fichada;
                    }
                }
            }

            foreach (int id in idsIgnorados)
            {
                snfichadasIList.Remove(snfichadasIList.Where(f => f.Id == id).First());
            }

            return(snfichadasIList);
        }
Exemple #6
0
 public IList <sp_get_ProfesoresHs_Result> InfoSNFichadaParaInsertar(SN_Fichadas sNFichada)
 {
     return(sNFichadasDal.InfoSNFichadaParaInsertar(sNFichada));
 }
Exemple #7
0
 public void EstadoSincroAEnviado(SN_Fichadas snfichada)
 {
     sNFichadasDal.ChangeEstadoSincro(snfichada.Id, EstadoSincroEnum.Enviado.GetHashCode());
 }