private int BuscarCalendario() { int idFideicomiso = Utilerias.StrToInt(ddlFideicomisos.SelectedValue); int idEjercicio = Utilerias.StrToInt(Session["Ejercicio"].ToString()); int idCalendario = 0; DAL.Model.Calendario obj = uow.CalendarioBusinessLogic.Get(c => c.DependenciaFideicomisoEjercicioID == idFideicomiso && c.EjercicioID == idEjercicio).FirstOrDefault(); if (obj != null) { idCalendario = obj.ID; } _IDCalendario.Value = idCalendario.ToString(); return(idCalendario); }
private static void CrearHistoricoSesion(int idSesion, int idCalendario) { UnitOfWork uow = new UnitOfWork(); int idUser = Utilerias.StrToInt(HttpContext.Current.Session["UserID"].ToString()); bool eliminados = uow.RptSesionesHistoricoBusinessLogic.DeleteAll(e => e.UsuarioID == idUser); string M = string.Empty; DAL.Model.Calendario cal = uow.CalendarioBusinessLogic.GetByID(idCalendario); if (eliminados) { uow.SaveChanges(); //SI HUBO ERORRES AL ELIMINAR REGISTROS PREVIOS if (uow.Errors.Count > 0) { foreach (string m in uow.Errors) { M += m; } } int idEjercicio = cal.EjercicioID; Ejercicio objEjercicio = uow.EjercicioBusinessLogic.GetByID(idEjercicio); var listSesiones = (from c in uow.CalendarioBusinessLogic.Get() join dfe in uow.DependenciaFideicomisoEjercicioBusinessLogic.Get() on c.DependenciaFideicomisoEjercicioID equals dfe.ID join f in uow.FideicomisoBusinessLogic.Get() on dfe.FideicomisoID equals f.ID join s in uow.SesionBusinessLogic.Get(e => e.ID == idSesion) on c.ID equals s.CalendarioID join sh in uow.SesionHistoricoBusinessLogic.Get() on s.ID equals sh.SesionID join ts in uow.TipoSesionBusinessLogic.Get() on sh.TipoSesionID equals ts.ID join ss in uow.StatusSesionBusinessLogic.Get() on sh.StatusSesionID equals ss.ID select new { SesionID = sh.ID, CalendarioID = c.ID, FideicomisoID = f.ID, NombreFideicomiso = f.Descripcion, NumSesion = sh.NumSesion, NumOficio = sh.NumOficio, FechaOficio = sh.FechaOficio, TipoSesion = ts.Descripcion, StatusSesion = ss.Descripcion, Mes = sh.Mes, Descripcion = sh.Descripcion, FechaProgramada = sh.FechaProgramada, FechaCelebrada = sh.FechaCelebrada, FechaReprogamada = sh.FechaReprogramada, Observaciones = sh.Observaciones, LugarReunion = sh.LugarReunion, HoraProgramada = sh.HoraProgramada, HoraReprogramada = sh.HoraReprogramada, HoraCelebrada = sh.HoraCelebrada, FechaCaptura = sh.FechaCapturaCorta }).OrderByDescending(e => e.FechaCaptura); #region SE LLENA LA TABLA TEMPORAL PARA EL REPORTE foreach (var item in listSesiones) { List <PropertyInfo> propiedades = item.GetType().GetProperties().ToList(); foreach (PropertyInfo propiedad in propiedades) { DAL.Model.rptSesionesHistorico rpt = null; switch (propiedad.Name) { case "NumSesion": rpt = new DAL.Model.rptSesionesHistorico(); rpt.NombreCampo = "Número de Sesión"; rpt.ValorCampo = item.NumSesion; break; case "NumOficio": rpt = new DAL.Model.rptSesionesHistorico(); rpt.NombreCampo = "Número de Oficio"; rpt.ValorCampo = item.NumOficio; break; case "FechaOficio": rpt = new DAL.Model.rptSesionesHistorico(); rpt.NombreCampo = "Fecha Oficio"; rpt.ValorCampo = item.FechaOficio != null?item.FechaOficio.Value.ToShortDateString() : string.Empty; break; case "TipoSesion": rpt = new DAL.Model.rptSesionesHistorico(); rpt.NombreCampo = "Tipo Sesión"; rpt.ValorCampo = item.TipoSesion; break; case "StatusSesion": rpt = new DAL.Model.rptSesionesHistorico(); rpt.NombreCampo = "Status Sesión"; rpt.ValorCampo = item.StatusSesion; break; case "Mes": rpt = new DAL.Model.rptSesionesHistorico(); rpt.NombreCampo = "Mes Programada"; rpt.ValorCampo = Utilerias.GetNombreMes(Utilerias.StrToInt(item.Mes.ToString())); break; case "Descripcion": rpt = new DAL.Model.rptSesionesHistorico(); rpt.NombreCampo = "Descripción"; rpt.ValorCampo = item.Descripcion; break; case "FechaProgramada": rpt = new DAL.Model.rptSesionesHistorico(); rpt.NombreCampo = "Fecha Programada"; rpt.ValorCampo = item.FechaProgramada != null?item.FechaProgramada.Value.ToShortDateString() : string.Empty; break; case "FechaCelebrada": rpt = new DAL.Model.rptSesionesHistorico(); rpt.NombreCampo = "Fecha Celebrada"; rpt.ValorCampo = item.FechaCelebrada != null?item.FechaCelebrada.Value.ToShortDateString() : string.Empty; break; case "FechaReprogramada": rpt = new DAL.Model.rptSesionesHistorico(); rpt.NombreCampo = "Fecha Reprogramada"; rpt.ValorCampo = item.FechaReprogamada != null?item.FechaReprogamada.Value.ToShortDateString() : string.Empty; break; case "Observaciones": rpt = new DAL.Model.rptSesionesHistorico(); rpt.NombreCampo = "Observaciones"; rpt.ValorCampo = item.Observaciones; break; case "LugarReunion": rpt = new DAL.Model.rptSesionesHistorico(); rpt.NombreCampo = "Lugar de Reunión"; rpt.ValorCampo = item.LugarReunion; break; case "HoraProgramada": rpt = new DAL.Model.rptSesionesHistorico(); rpt.NombreCampo = "Hora Programada"; rpt.ValorCampo = item.HoraProgramada; break; case "HoraReprogramada": rpt = new DAL.Model.rptSesionesHistorico(); rpt.NombreCampo = "Hora Reprogramada"; rpt.ValorCampo = item.HoraReprogramada; break; case "HoraCelebrada": rpt = new DAL.Model.rptSesionesHistorico(); rpt.NombreCampo = "Hora Celebrada"; rpt.ValorCampo = item.HoraCelebrada; break; } if (rpt != null) { rpt.CalendarioID = item.CalendarioID; rpt.SesionID = item.SesionID; rpt.FideicomisoID = item.FideicomisoID; rpt.NombreFideicomiso = item.NombreFideicomiso; rpt.Mes = item.Mes; rpt.Ejercicio = objEjercicio.Anio; rpt.FechaModificacion = Convert.ToDateTime(item.FechaCaptura); rpt.UsuarioID = idUser; uow.RptSesionesHistoricoBusinessLogic.Insert(rpt); uow.SaveChanges(); if (uow.Errors.Count > 0) { foreach (string m in uow.Errors) { M += m; } } } } } #endregion } }