ClimberOnCompetition ProcessAppearance(Person person, ClimbingStyles styles, int?bib, ClimberQf qf, String ageGroupId, Competition comp) { if (person.CompetitionAppearances == null) { person.CompetitionAppearances = new List <ClimberOnCompetition>(); } var app = person.CompetitionAppearances.FirstOrDefault(c => c.CompId == comp.Iid); bool isNew = true; if (app == null) { person.CompetitionAppearances.Add(app = new ClimberOnCompetition(Context) { Competition = comp, CompId = comp.Iid, Person = person, PersonId = person.Iid, Teams = new List <ClimberTeamOnCompetition>() }); } else { isNew = false; } app.AgeGroupId = ageGroupId; app.Qf = qf; app.SecretaryBib = bib; app.Styles = styles; Context.SaveChanges(); return(Context.ClimbersOnCompetition.First(c => c.Iid == app.Iid)); }
public static String GetSerializedValue(this ClimbingStyles styles) { StringBuilder result = new StringBuilder(); foreach (var climbingStyle in (ClimbingStyles[])Enum.GetValues(typeof(ClimbingStyles))) { if ((styles & climbingStyle) == climbingStyle) { result.Append(climbingStyle.ToString("G").First()); } } return(result.ToString()); }
public static ClimbingStyles ParseSerializedValue(String serializedValue) { if (string.IsNullOrEmpty(serializedValue)) { return(0); } ClimbingStyles result = 0; foreach (var style in (ClimbingStyles[])Enum.GetValues(typeof(ClimbingStyles))) { if (serializedValue.Contains(style.ToString("G").Substring(0, 1))) { result = result | style; } } return(result); }
public CompetitionParameter SetStyles(ClimbingStyles styles, ClimbingContext2 context, LogicTransaction ltr = null) { return(SetStringParameterValue(CompetitionParamId.CompetitionStyles, styles.GetSerializedValue(), context, ltr)); }