public static SucesoPersona ConvertToSucesoPersona(DataRow dr) { SucesoPersona scp = new SucesoPersona(); scp.SucesoId = Convert.ToInt32(dr["SucesoId"]); scp.PlanillaPersonaId = !string.IsNullOrEmpty(dr["PlanillaPersonaId"].ToString()) ?Convert.ToInt32(dr["PlanillaPersonaId"]):0; scp.Orden = !string.IsNullOrEmpty(dr["Orden"].ToString())? Convert.ToInt32(dr["Orden"]): 0 ; return scp; }
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); }