/// <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); }
public void ChangeEstadoSincro(int idSNFichada, int idEstadoSincro) { SN_Fichadas sNFichada = context.SN_Fichadas.Where(f => f.Id == idSNFichada).FirstOrDefault(); sNFichada.EstadoSincro = idEstadoSincro; context.SaveChanges(); }
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(); }
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()); }
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); }
public IList <sp_get_ProfesoresHs_Result> InfoSNFichadaParaInsertar(SN_Fichadas sNFichada) { return(sNFichadasDal.InfoSNFichadaParaInsertar(sNFichada)); }
public void EstadoSincroAEnviado(SN_Fichadas snfichada) { sNFichadasDal.ChangeEstadoSincro(snfichada.Id, EstadoSincroEnum.Enviado.GetHashCode()); }