public static Suceso ConvertToSucesos(DataRow dr) { Suceso sc = new Suceso(); sc.SucesoId = Convert.ToInt32(dr["SucesoId"]); sc.DeportePeriodoId = Convert.ToInt32(dr["DeportePeriodoId"]); sc.Tiempo = Convert.ToString(dr["Tiempo"]); sc.CompetidorId = Convert.ToInt32(dr["CompetidorId"]); sc.PlanillaId = Convert.ToInt32(dr["PlanillaId"]); sc.ParametroSucesoId = Convert.ToInt32(dr["ParametroSucesoId"]); sc.Valor = Convert.ToInt32(dr["Valor"]); return(sc); }
public static List <Suceso> GetHistorialSuceso(int planillaId, int deportePeriodoId, int competidorId) { List <Suceso> lsu = new List <Suceso>(); List <SqlParameter> lp = new List <SqlParameter>(); lp.Add(new SqlParameter("PlanillaId", planillaId)); lp.Add(new SqlParameter("DeportePeriodoId", deportePeriodoId)); lp.Add(new SqlParameter("CompetidorId", competidorId)); DBTransaction db = new DBTransaction(); DataTable dt = db.GetStoreProcedure("conj.pHistorialSuceso", lp); int FindIndice = -1; foreach (DataRow dr in dt.Rows) { Suceso sc = ConvertToSucesos(dr); sc.Competidor = Competidor.ConvertToCompetidor(dr); sc.Competidor.Equipo = Equipo.ConvertToEquipo(dr); sc.ParametrosSuceso = ParametrosSuceso.ConvertToParametroSuceso(dr); sc.SucesoPersonas = new List <SucesoPersona>(); if (sc.ParametrosSuceso.RegistraPersona >= 1 && !string.IsNullOrEmpty(dr["PlanillaPersonaId"].ToString())) { SucesoPersona scp = SucesoPersona.ConvertToSucesoPersona(dr); scp.PlanillaPersona = PlanillaPersona.ConvertPlanillaPersona(dr, true); FindIndice = lsu.FindIndex(delegate(Suceso s) { return(s.SucesoId == sc.SucesoId); }); if (FindIndice > 0) { lsu.ElementAt(FindIndice).SucesoPersonas.Add(scp); } else { sc.SucesoPersonas.Add(scp); FindIndice = -1; } } else { FindIndice = -1; } if (FindIndice < 0) { lsu.Add(sc); } } return(lsu); }