public static void AttachMemberMedicalInformation(Member member, MemberDisplay mem) { if (member.MedicalInformation != null) { MedicalInformation meds = new MedicalInformation(); meds.AdditionalDetailsText = member.MedicalInformation.AdditionalDetailsText; meds.AsthmaBronchitis = member.MedicalInformation.AsthmaBronchitis; meds.BackNeckPain = member.MedicalInformation.BackNeckPain; meds.Concussion = member.MedicalInformation.Concussion; meds.ContactLenses = member.MedicalInformation.ContactLenses; meds.HardSoftLensesEnum = (ContactLensesEnum)Enum.Parse(typeof(ContactLensesEnum), member.MedicalInformation.HardSoftLensesEnum.ToString()); meds.Diabetes = member.MedicalInformation.Diabetes; meds.Dislocation = member.MedicalInformation.Dislocation; meds.LastModified = member.MedicalInformation.Created; if (member.MedicalInformation.LastModified != null) meds.LastModified = member.MedicalInformation.LastModified.GetValueOrDefault(); meds.MedicalId = member.MedicalInformation.MedicalId; meds.RegularMedsText = member.MedicalInformation.RegularMedsText; meds.ReoccurringPain = member.MedicalInformation.ReoccurringPain; meds.ReoccurringPainText = member.MedicalInformation.ReoccurringPainText; meds.SportsInjuriesText = member.MedicalInformation.SportsInjuriesText; meds.TreatedForInjury = member.MedicalInformation.TreatedForInjury; meds.WearGlasses = member.MedicalInformation.WearGlasses; meds.DislocationText = member.MedicalInformation.DislocationText; meds.DoAnyConditionsAffectPerformanceText = member.MedicalInformation.DoAnyConditionsAffectPerformanceText; meds.Epilepsy = member.MedicalInformation.Epilepsy; meds.FractureInThreeYears = member.MedicalInformation.FractureInThreeYears; meds.FractureText = member.MedicalInformation.FractureText; meds.HeartMurmur = member.MedicalInformation.HeartMurmur; meds.HeartProblems = member.MedicalInformation.HeartProblems; meds.Hernia = member.MedicalInformation.Hernia; mem.Medical = meds; } else { mem.Medical = new MedicalInformation(); } }
public static CalendarEventPortable DisplayStartDate(MemberDisplay member) { CalendarEventPortable calEvent = new CalendarEventPortable(); try { calEvent.EventType.EventType = CalendarEventTypeEnum.StartSkatingDate; calEvent.Name = member.DerbyName + " Started Skating Today"; calEvent.NameUrl = ServerConfig.WEBSITE_DEFAULT_LOCATION + "/started-skating-roller-derby/" + member.MemberId.ToString().Replace("-", "") + "/" + RDN.Utilities.Strings.StringExt.ToSearchEngineFriendly(member.DerbyName); calEvent.CalendarItemId = member.MemberId; try { //put this because some years don't allow a leap year for Feb. DateTime dt = new DateTime(DateTime.UtcNow.Year, member.StartedSkating.Value.Month, member.StartedSkating.Value.Day); calEvent.StartDate = dt; calEvent.EndDate = dt; } catch { } calEvent.StartDateDisplay = member.StartedSkating.Value.Month + "/" + member.StartedSkating.Value.Day + "/" + DateTime.UtcNow.Year; calEvent.EndDateDisplay = member.StartedSkating.Value.Month + "/" + member.StartedSkating.Value.Day + "/" + DateTime.UtcNow.Year; } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType(), additionalInformation: member.StartedSkating.Value.Month + ":" + member.StartedSkating.Value.Day); } return calEvent; }
/// <summary> /// /// </summary> /// <param name="calendarId"></param> /// <param name="calendarType"></param> /// <param name="startDate"></param> /// <param name="endDate"></param> /// <param name="group"></param> /// <param name="reportOnGroupedEventsOnly">when true, it reports on events attached to the group only.</param> /// <returns></returns> public static CalendarReport GetReportForCalendar(Guid calendarId, string calendarType, DateTime startDate, DateTime endDate, long group, bool reportOnGroupedEventsOnly) { CalendarReport report = new CalendarReport(); var memId = RDN.Library.Classes.Account.User.GetMemberId(); var leagueId = MemberCache.GetLeagueIdOfMember(memId); try { report.EndDateSelected = new DateTime(endDate.Year, endDate.Month, endDate.Day, 23, 59, 59); report.StartDateSelected = startDate; report.CalendarId = calendarId; report.EntityName = calendarType; report.IsSubmitted = true; report.TotalPointsAllowed = 0; TimeSpan daysReporting = endDate - startDate; report.DaysBackwards = daysReporting.Days; var dc = new ManagementContext(); var cal = (from xx in dc.Calendar where xx.CalendarId == calendarId select xx).FirstOrDefault(); report.NotPresentForCheckIn = cal.NotPresentCheckIn; List<DataModels.Calendar.CalendarEvent> events = new List<DataModels.Calendar.CalendarEvent>(); List<MemberDisplay> members = new List<MemberDisplay>(); if (group == 0) //no grops were selected { members = MemberCache.GetLeagueMembers(memId, leagueId); events = cal.CalendarEvents.Where(x => x.StartDate >= startDate).Where(x => x.EndDate < endDate).Where(x => x.IsRemovedFromCalendar == false).Where(x => x.Groups.Count == 0).ToList(); } else { var groups = MemberCache.GetLeagueGroupsOfMember(memId); var groupTemp = groups.Where(x => x.Id == group).FirstOrDefault(); if (groupTemp != null) foreach (var mem in groupTemp.GroupMembers) { MemberDisplay m = new MemberDisplay(); m.DerbyName = mem.DerbyName; m.Firstname = mem.Firstname; m.LastName = mem.LastName; m.MemberId = mem.MemberId; m.PlayerNumber = mem.PlayerNumber; members.Add(m); } if (reportOnGroupedEventsOnly) events = cal.CalendarEvents.Where(x => x.StartDate >= startDate).Where(x => x.EndDate < endDate).Where(x => x.IsRemovedFromCalendar == false).Where(x => x.Groups.Select(y => y.Group.Id).Contains(group)).ToList(); else events = cal.CalendarEvents.Where(x => x.StartDate >= startDate).Where(x => x.EndDate < endDate).Where(x => x.IsRemovedFromCalendar == false).ToList(); } foreach (var calEvent in events) { int eventTypeOccured = 0; EventForReport blah = new EventForReport(); blah.AllowSelfCheckIn = calEvent.AllowSelfCheckIn; blah.CalendarItemId = calEvent.CalendarItemId; blah.Name = calEvent.Name; blah.Notes = calEvent.Notes; if (!calEvent.IsInUTCTime) { blah.StartDate = calEvent.StartDate; blah.EndDate = calEvent.EndDate; } else { blah.StartDate = calEvent.StartDate + new TimeSpan(cal.TimeZone, 0, 0); blah.EndDate = calEvent.EndDate + new TimeSpan(cal.TimeZone, 0, 0); } blah.TimeSpan = (blah.EndDate - blah.StartDate).Ticks; if (calEvent.EventType != null) { blah.EventType.EventTypeName = calEvent.EventType.EventTypeName; blah.EventType.PointsForExcused = calEvent.EventType.PointsForExcused; blah.EventType.PointsForNotPresent = calEvent.EventType.PointsForNotPresent; blah.EventType.PointsForPartial = calEvent.EventType.PointsForPartial; blah.EventType.PointsForPresent = calEvent.EventType.PointsForPresent; blah.EventType.PointsForTardy = calEvent.EventType.PointsForTardy; blah.EventType.CalendarEventTypeId = calEvent.EventType.CalendarEventTypeId; var eventTypeReporting = report.EventTypesReport.Where(x => x.CalendarEventTypeId == calEvent.EventType.CalendarEventTypeId).FirstOrDefault(); if (eventTypeReporting == null) { EventTypeForReport evForReport = new EventTypeForReport(); evForReport.EventTypeName = calEvent.EventType.EventTypeName; evForReport.PointsForExcused = calEvent.EventType.PointsForExcused; evForReport.PointsForNotPresent = calEvent.EventType.PointsForNotPresent; evForReport.PointsForPartial = calEvent.EventType.PointsForPartial; evForReport.PointsForPresent = calEvent.EventType.PointsForPresent; evForReport.PointsForTardy = calEvent.EventType.PointsForTardy; evForReport.CalendarEventTypeId = calEvent.EventType.CalendarEventTypeId; evForReport.TotalTimesEventTypeOccured = 1; eventTypeOccured = evForReport.TotalTimesEventTypeOccured; report.EventTypesReport.Add(evForReport); } else { eventTypeReporting.TotalTimesEventTypeOccured += 1; eventTypeOccured = eventTypeReporting.TotalTimesEventTypeOccured; } } if (report.NotPresentForCheckIn == false) { SaveAttendeesWithNotPresentCheckIn(members, report, calEvent, blah); } else { SaveAttendeesWithNotPresentNeeded(members, report, calEvent, blah); } report.Events.Add(blah); } report.Attendees = report.Attendees.OrderBy(x => x.MemberName).ToList(); report.TotalEventsCount = report.Events.Count; } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } return report; }
public ActionResult RemoveMember(MemberDisplay model) { try { //current member who is removing the other member from the league var memId = RDN.Library.Classes.Account.User.GetMemberId(); var currentLeagueId = MemberCache.GetLeagueIdOfMember(memId); RDN.Library.Classes.League.LeagueFactory.DisconnectMemberFromLeague(currentLeagueId, model.MemberId); RDN.Library.Cache.MemberCache.Clear(model.MemberId); RDN.Library.Cache.MemberCache.Clear(memId); MemberCache.ClearApiCache(model.MemberId); MemberCache.ClearApiCache(memId); ViewBag.Removed = true; ViewBag.Saved = false; return Redirect(Url.Content("~/league/members/view/all")); } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } return Redirect(Url.Content("~/")); }
public static MemberDisplay UpdateMemberDisplay(MemberDisplay memberDis) { try { var cached = GetCache(memberDis.MemberId, true); cached.memberDisplay = memberDis; UpdateCache(cached); } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } return memberDis; }
/// <summary> /// creates a member for the federation /// </summary> /// <param name="member"></param> /// <param name="federationId"></param> public static void CreateMemberForFederation(MemberDisplay member, Guid federationId) { try { var dc = new ManagementContext(); // ContactLeague is set to null. We need to see if the leagueId is filled out and if so, if that league exists DataModels.League.League league = null; Guid teamId; if (Guid.TryParse(member.Team, out teamId)) { league = dc.Leagues.FirstOrDefault(x => x.LeagueId.Equals(teamId)); } DataModels.Federation.Federation federation = dc.Federations.Where(x => x.FederationId == federationId).FirstOrDefault(); var dbMember = CreateMemberAccount(ref dc, ref league, new Guid(), member.Firstname, member.DerbyName, Convert.ToInt32(member.Gender), 0, member.LastName, member.PlayerNumber, member.Email, member.PhoneNumber); //if the federation is creating the member, we need to create a member of the federation. FederationMember memberFed = new FederationMember { Member = dbMember, Federation = federation, MADEClassRankForMember = String.IsNullOrEmpty(member.MadeClassRank) ? 0 : Convert.ToInt32(member.MadeClassRank), MemberType = 0, FederationIdForMember = member.FederationIdForMember.ToString() }; dbMember.Federations.Add(memberFed); var result = dc.SaveChanges(); // The save resultet in 0 records. Indicating that something went wrong. Delete the already inserted username in the membership system and return if (result == 0) { } else { AddMemberLog(dbMember.MemberId, "(manager) Account created for Federation", string.Format("The user account was created successfully with the following data:\nFirstname: {0}\nDerbyname:{1}\nEmail:{2}", member.Firstname, member.DerbyName, member.Email), MemberLogEnum.SystemDataAdded); } } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } }
public static RDN.Portable.Classes.League.Classes.League GetLeaguePublicDerbyRoster(Guid leagueId) { var dc = new ManagementContext(); var league = dc.LeaguesForDerbyRoster.Include("Skaters").Where(x => x.TeamId == leagueId).FirstOrDefault(); RDN.Portable.Classes.League.Classes.League leagueTemp = new RDN.Portable.Classes.League.Classes.League(); leagueTemp.LeagueId = league.TeamId; leagueTemp.Name = league.Name; leagueTemp.Country = league.Country; leagueTemp.State = league.State; leagueTemp.Website = league.WebSite; foreach (var skater in league.Skaters) { MemberDisplay member = new MemberDisplay(); member.DerbyName = skater.Name; member.PlayerNumber = skater.Number; member.MemberId = skater.ProfileId; leagueTemp.LeagueMembers.Add(member); } return leagueTemp; }
public static MemberDisplay UpdateMemberDisplayForMember(MemberDisplay mem) { try { var dc = new ManagementContext(); var member = dc.Members.Include("InsuranceNumbers").Include("ContactCard").Include("ContactCard.Emails").Include("ContactCard.Communications").Include("Federations").FirstOrDefault(x => x.MemberId.Equals(mem.MemberId)); if (member == null) return mem; member.IsProfileRemovedFromPublic = mem.IsProfileRemovedFromPublicView; member.DayJob = mem.DayJob; member.DerbyName = mem.DerbyName; member.PlayerNumber = mem.PlayerNumber; member.Firstname = mem.Firstname; member.Lastname = mem.LastName; member.Bio = mem.Bio; member.Gender = Convert.ToInt32(mem.Gender); member.WeightInLbs = mem.WeightLbs; if (mem.DOB != null && mem.DOB > DateTime.Now.AddYears(-200)) member.DateOfBirth = mem.DOB; else member.DateOfBirth = null; if (mem.StartedSkating != null && mem.StartedSkating > DateTime.Now.AddYears(-100)) member.YearStartedSkating = mem.StartedSkating; if (mem.StoppedSkating != null && mem.StoppedSkating > DateTime.Now.AddYears(-100)) member.YearStoppedSkating = mem.StoppedSkating; member.HeightInches = (mem.HeightFeet * 12) + mem.HeightInches; if (!String.IsNullOrEmpty(mem.InsuranceNumOther)) { int other = Convert.ToInt32(InsuranceProviderEnum.Other); var insurance = member.InsuranceNumbers.Where(x => x.InsuranceType == other).FirstOrDefault(); if (insurance == null) AddInsuranceProvider(mem.InsuranceNumOther, mem.InsuranceNumOtherExpires, member, other); else { insurance.InsuranceNumber = mem.InsuranceNumOther; insurance.Expires = mem.InsuranceNumOtherExpires; } } if (!String.IsNullOrEmpty(mem.InsuranceNumUsars)) { int other = Convert.ToInt32(InsuranceProviderEnum.USARS); var insurance = member.InsuranceNumbers.Where(x => x.InsuranceType == other).FirstOrDefault(); if (insurance == null) AddInsuranceProvider(mem.InsuranceNumUsars, mem.InsuranceNumUsarsExpires, member, other); else { insurance.InsuranceNumber = mem.InsuranceNumUsars; insurance.Expires = mem.InsuranceNumUsarsExpires; } } if (!String.IsNullOrEmpty(mem.InsuranceNumWftda)) { int other = Convert.ToInt32(InsuranceProviderEnum.WFTDA); var insurance = member.InsuranceNumbers.Where(x => x.InsuranceType == other).FirstOrDefault(); if (insurance == null) AddInsuranceProvider(mem.InsuranceNumWftda, mem.InsuranceNumWftdaExpires, member, other); else { insurance.InsuranceNumber = mem.InsuranceNumWftda; insurance.Expires = mem.InsuranceNumWftdaExpires; } } if (!String.IsNullOrEmpty(mem.InsuranceNumCRDI)) { int other = Convert.ToInt32(InsuranceProviderEnum.CRDI); var insurance = member.InsuranceNumbers.Where(x => x.InsuranceType == other).FirstOrDefault(); if (insurance == null) AddInsuranceProvider(mem.InsuranceNumCRDI, mem.InsuranceNumCRDIExpires, member, other); else { insurance.InsuranceNumber = mem.InsuranceNumCRDI; insurance.Expires = mem.InsuranceNumCRDIExpires; } } foreach (var league in mem.Leagues) { var leagueMember = dc.LeagueMembers.Where(x => x.League.LeagueId == league.LeagueId && x.Member.MemberId == mem.MemberId).FirstOrDefault(); if (leagueMember != null) { leagueMember.League = leagueMember.League; leagueMember.Member = leagueMember.Member; if (league.DepartureDate != new DateTime()) leagueMember.DepartureDate = league.DepartureDate; } } var add = member.ContactCard.Addresses.FirstOrDefault(); if (add == null) { ContactCard.ContactCardFactory.AddAddressToContact(mem.Address, mem.Address2, mem.City, mem.State, mem.ZipCode, AddressTypeEnum.None, member.ContactCard, dc.Countries.Where(x => x.CountryId == mem.CountryId).FirstOrDefault()); } else { ContactCard.ContactCardFactory.UpdateAddressToContact(mem.Address, mem.Address2, mem.City, mem.State, mem.ZipCode, AddressTypeEnum.None, add, dc.Countries.Where(x => x.CountryId == mem.CountryId).FirstOrDefault()); } UpdatePhoneNumberForMember(mem, dc, member); UpdateEmailForMember(mem, member); int c = dc.SaveChanges(); } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } return mem; }
public static MemberDisplay UpdateMemberDisplayForFederation(MemberDisplay mem, Stream fileStream, string nameOfFile) { UpdateMemberDisplayForFederation(mem); AddPrimaryMemberPhoto(mem, fileStream, nameOfFile); return mem; }
public static MemberDisplay UpdateMemberDisplayForLeague(MemberDisplay mem) { try { var dc = new ManagementContext(); var member = dc.Members.Include("InsuranceNumbers").Include("ContactCard").Include("ContactCard.Emails").Include("ContactCard.Communications").Include("Federations").FirstOrDefault(x => x.MemberId.Equals(mem.MemberId)); if (member == null) return mem; member.DayJob = mem.DayJob; member.DerbyName = mem.DerbyName; member.PlayerNumber = mem.PlayerNumber; member.Firstname = mem.Firstname; member.Lastname = mem.LastName; if (mem.DOB != null && mem.DOB > DateTime.Now.AddYears(-100)) member.DateOfBirth = mem.DOB; if (mem.StoppedSkating != new DateTime()) member.YearStoppedSkating = mem.StoppedSkating; if (mem.StartedSkating != new DateTime()) member.YearStartedSkating = mem.StartedSkating; //int phoneType = Convert.ToInt32(CommunicationTypeEnum.PhoneNumber); var phone = member.ContactCard.Communications.Where(x => x.CommunicationTypeEnum == (byte)CommunicationTypeEnum.PhoneNumber).FirstOrDefault(); if (phone != null) phone.Data = mem.PhoneNumber; else { member.ContactCard.Communications.Add(new Communication { Data = mem.PhoneNumber, IsDefault = true, //CommunicationType = dc.CommunicationType.Where(x => x.CommunicationTypeId == phoneType).FirstOrDefault() CommunicationTypeEnum = (byte)CommunicationTypeEnum.PhoneNumber }); } var email = member.ContactCard.Emails.FirstOrDefault(); if (email != null) email.EmailAddress = mem.Email; else member.ContactCard.Emails.Add(new RDN.Library.DataModels.ContactCard.Email { EmailAddress = mem.Email, IsDefault = true }); foreach (var league in mem.Leagues) { var leagueMember = dc.LeagueMembers.Where(x => x.League.LeagueId == league.LeagueId && x.Member.MemberId == mem.MemberId).FirstOrDefault(); if (leagueMember != null) { leagueMember.IsInactiveForLeague = league.IsInactiveInLeague; leagueMember.League = leagueMember.League; leagueMember.Member = leagueMember.Member; leagueMember.Notes = league.NotesAboutMember; if (league.SkaterClass != null && league.SkaterClass > 0) leagueMember.SkaterClass = dc.LeagueMemberClasses.Where(x => x.ClassId == league.SkaterClass).FirstOrDefault(); else leagueMember.SkaterClass = null; if (league.SkillsTestDate != new DateTime()) leagueMember.SkillsTestDate = league.SkillsTestDate; if (league.MembershipDate != new DateTime()) leagueMember.MembershipDate = league.MembershipDate; if (league.DepartureDate != new DateTime()) leagueMember.DepartureDate = league.DepartureDate; } } int other = Convert.ToInt32(InsuranceProviderEnum.Other); var insurance = member.InsuranceNumbers.Where(x => x.InsuranceType == other).FirstOrDefault(); if (insurance == null && !String.IsNullOrEmpty(mem.InsuranceNumOther)) AddInsuranceProvider(mem.InsuranceNumOther, mem.InsuranceNumOtherExpires, member, other); else if (insurance != null) { insurance.InsuranceNumber = mem.InsuranceNumOther; insurance.Expires = mem.InsuranceNumOtherExpires; } other = Convert.ToInt32(InsuranceProviderEnum.USARS); insurance = member.InsuranceNumbers.Where(x => x.InsuranceType == other).FirstOrDefault(); if (insurance == null && !String.IsNullOrEmpty(mem.InsuranceNumUsars)) AddInsuranceProvider(mem.InsuranceNumUsars, mem.InsuranceNumUsarsExpires, member, other); else if (insurance != null) { insurance.InsuranceNumber = mem.InsuranceNumUsars; insurance.Expires = mem.InsuranceNumUsarsExpires; } other = Convert.ToInt32(InsuranceProviderEnum.WFTDA); insurance = member.InsuranceNumbers.Where(x => x.InsuranceType == other).FirstOrDefault(); if (insurance == null && !String.IsNullOrEmpty(mem.InsuranceNumWftda)) AddInsuranceProvider(mem.InsuranceNumWftda, mem.InsuranceNumWftdaExpires, member, other); else if (insurance != null) { insurance.InsuranceNumber = mem.InsuranceNumWftda; insurance.Expires = mem.InsuranceNumWftdaExpires; } other = Convert.ToInt32(InsuranceProviderEnum.CRDI); insurance = member.InsuranceNumbers.Where(x => x.InsuranceType == other).FirstOrDefault(); if (insurance == null && !String.IsNullOrEmpty(mem.InsuranceNumCRDI)) AddInsuranceProvider(mem.InsuranceNumCRDI, mem.InsuranceNumCRDIExpires, member, other); else if (insurance != null) { insurance.InsuranceNumber = mem.InsuranceNumCRDI; insurance.Expires = mem.InsuranceNumCRDIExpires; } dc.SaveChanges(); } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } return mem; }
public static MemberDisplay UpdateMemberDisplayForMember(MemberDisplay mem, Stream fileStream, string nameOfFile) { UpdateMemberDisplayForMember(mem); AddPrimaryMemberPhoto(mem, fileStream, nameOfFile); //saves the photo to the member cache object we return to the user. return mem; }
/// <summary> /// Adds the primary member photo and returns the url of the photo. /// </summary> /// <param name="mem"></param> /// <param name="fileStream"></param> /// <param name="nameOfFile"></param> /// <returns></returns> private static string AddPrimaryMemberPhoto(MemberDisplay mem, Stream fileStream, string nameOfFile) { StringBuilder sb = new StringBuilder(); try { var dc = new ManagementContext(); var memDb = dc.Members.Where(x => x.MemberId == mem.MemberId).FirstOrDefault(); //time stamp for the save location DateTime timeOfSave = DateTime.UtcNow; FileInfo info = new FileInfo(nameOfFile); //the file name when we save it string fileName = RDN.Utilities.Strings.StringExt.ToSearchEngineFriendly(mem.DerbyName + " roller derby-") + timeOfSave.ToFileTimeUtc() + info.Extension; string fileNameThumb = RDN.Utilities.Strings.StringExt.ToSearchEngineFriendly(mem.DerbyName + " roller derby-") + timeOfSave.ToFileTimeUtc() + "_thumb" + info.Extension; string url = "http://images.rdnation.com/members/" + timeOfSave.Year + "/" + timeOfSave.Month + "/" + timeOfSave.Day + "/"; string imageLocationToSave = @"C:\WebSites\images.rdnation.com\members\" + timeOfSave.Year + @"\" + timeOfSave.Month + @"\" + timeOfSave.Day + @"\"; //creates the directory for the image if (!Directory.Exists(imageLocationToSave)) Directory.CreateDirectory(imageLocationToSave); string urlMain = url + fileName; string urlThumb = url + fileNameThumb; string imageLocationToSaveMain = imageLocationToSave + fileName; string imageLocationToSaveThumb = imageLocationToSave + fileNameThumb; RDN.Library.DataModels.Member.MemberPhoto image = new RDN.Library.DataModels.Member.MemberPhoto(); image.ImageUrl = urlMain; image.SaveLocation = imageLocationToSaveMain; image.SaveLocationThumb = imageLocationToSaveThumb; image.ImageUrlThumb = urlThumb; image.IsPrimaryPhoto = true; image.IsVisibleToPublic = true; image.Member = memDb; memDb.Photos.Add(image); sb.Append(imageLocationToSaveMain); using (var newfileStream = new FileStream(imageLocationToSaveMain, FileMode.OpenOrCreate, FileAccess.Write)) { fileStream.CopyTo(newfileStream); } Image thumbImg = Image.FromStream(fileStream); Image thumb = RDN.Utilities.Drawing.Images.ScaleDownImage(thumbImg, 300, 300); sb.Append(nameOfFile); sb.Append(imageLocationToSaveThumb); thumb.Save(imageLocationToSaveThumb); //saves the photo to the DB. int c = dc.SaveChanges(); mem.Photos.Add(new PhotoItem(url, true, "Profile")); return urlMain; } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType(), additionalInformation: sb.ToString()); } return string.Empty; }
public static bool UpdateMedicalRecords(MemberDisplay member) { ManagementContext dc = new ManagementContext(); var mem = dc.Members.Where(x => x.MemberId == member.MemberId).FirstOrDefault(); if (mem.MedicalInformation == null) { MemberMedical medical = new MemberMedical(); medical.AdditionalDetailsText = member.Medical.AdditionalDetailsText; medical.AsthmaBronchitis = member.Medical.AsthmaBronchitis; medical.BackNeckPain = member.Medical.BackNeckPain; medical.Concussion = member.Medical.Concussion; medical.ContactLenses = member.Medical.ContactLenses; medical.Diabetes = member.Medical.Diabetes; medical.Dislocation = member.Medical.Dislocation; medical.DislocationText = member.Medical.DislocationText; medical.DoAnyConditionsAffectPerformanceText = member.Medical.DoAnyConditionsAffectPerformanceText; medical.Epilepsy = member.Medical.Epilepsy; medical.FractureInThreeYears = member.Medical.FractureInThreeYears; medical.FractureText = member.Medical.FractureText; medical.HardSoftLensesEnum = Convert.ToInt32(member.Medical.HardSoftLensesEnum); medical.HeartMurmur = member.Medical.HeartMurmur; medical.HeartProblems = member.Medical.HeartProblems; medical.Hernia = member.Medical.Hernia; medical.RegularMedsText = member.Medical.RegularMedsText; medical.ReoccurringPain = member.Medical.ReoccurringPain; medical.ReoccurringPainText = member.Medical.ReoccurringPainText; medical.SportsInjuriesText = member.Medical.SportsInjuriesText; medical.TreatedForInjury = member.Medical.TreatedForInjury; medical.WearGlasses = member.Medical.WearGlasses; mem.MedicalInformation = medical; } else { mem.MedicalInformation.AdditionalDetailsText = member.Medical.AdditionalDetailsText; mem.MedicalInformation.AsthmaBronchitis = member.Medical.AsthmaBronchitis; mem.MedicalInformation.BackNeckPain = member.Medical.BackNeckPain; mem.MedicalInformation.Concussion = member.Medical.Concussion; mem.MedicalInformation.ContactLenses = member.Medical.ContactLenses; mem.MedicalInformation.Diabetes = member.Medical.Diabetes; mem.MedicalInformation.Dislocation = member.Medical.Dislocation; mem.MedicalInformation.DislocationText = member.Medical.DislocationText; mem.MedicalInformation.DoAnyConditionsAffectPerformanceText = member.Medical.DoAnyConditionsAffectPerformanceText; mem.MedicalInformation.Epilepsy = member.Medical.Epilepsy; mem.MedicalInformation.FractureInThreeYears = member.Medical.FractureInThreeYears; mem.MedicalInformation.FractureText = member.Medical.FractureText; mem.MedicalInformation.HardSoftLensesEnum = Convert.ToInt32(member.Medical.HardSoftLensesEnum); mem.MedicalInformation.HeartMurmur = member.Medical.HeartMurmur; mem.MedicalInformation.HeartProblems = member.Medical.HeartProblems; mem.MedicalInformation.Hernia = member.Medical.Hernia; mem.MedicalInformation.RegularMedsText = member.Medical.RegularMedsText; mem.MedicalInformation.ReoccurringPain = member.Medical.ReoccurringPain; mem.MedicalInformation.ReoccurringPainText = member.Medical.ReoccurringPainText; mem.MedicalInformation.SportsInjuriesText = member.Medical.SportsInjuriesText; mem.MedicalInformation.TreatedForInjury = member.Medical.TreatedForInjury; mem.MedicalInformation.WearGlasses = member.Medical.WearGlasses; } int c = dc.SaveChanges(); if (c > 0) return true; return false; }
public static CalendarEventJson DisplayStartDateJson(MemberDisplay member) { CalendarEventJson calEvent = new CalendarEventJson(); try { calEvent.title = "SS:" + member.DerbyName; //removes length less than 14 chars //because the title is too long for the calendar display. if (calEvent.title.Length > 14) calEvent.title = calEvent.title.Remove(14); calEvent.id = member.MemberId; calEvent.url = VirtualPathUtility.ToAbsolute("~/calendar/started-skating/" + member.MemberId.ToString().Replace("-", "") + "/" + RDN.Utilities.Strings.StringExt.ToSearchEngineFriendly(member.DerbyName)); DateTime dt = new DateTime(DateTime.UtcNow.Year, member.StartedSkating.Value.Month, member.StartedSkating.Value.Day); calEvent.StartDate = dt; calEvent.EndDate = dt; calEvent.start = dt.ToString("o"); calEvent.end = dt.ToString("o"); } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } return calEvent; }
public static MemberDisplay GetMemberDisplayTwoEvils(Guid memberId) { try { var dc = new ManagementContext(); var member = dc.ProfilesForTwoEvils.Where(x => x.ProfileId == memberId).FirstOrDefault(); if (member == null) return null; MemberDisplay mem = new MemberDisplay(); mem.MemberId = member.ProfileId; mem.PlayerNumber = member.Number; mem.DerbyName = member.Name; mem.MemberId = memberId; if (member.LeagueDerbyRoster != null) { mem.Team1ScoreTotal = 2; RDN.Portable.Classes.League.Classes.League l = new Portable.Classes.League.Classes.League(); l.Name = member.LeagueDerbyRoster.Name; l.LeagueId = member.LeagueDerbyRoster.TeamId; mem.Leagues.Add(l); } else if (member.League != null) { mem.Team1ScoreTotal = 1; RDN.Portable.Classes.League.Classes.League l = new RDN.Portable.Classes.League.Classes.League(); l.Name = member.League.Name; l.LeagueId = member.League.TeamId; mem.Leagues.Add(l); } return mem; } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } return null; }
/// <summary> /// only updates certain things, so if we need to update more things of the member display, you need to add /// it to this method. In the interest of time right now, thats how its working. /// </summary> /// <param name="member"></param> public static MemberDisplay UpdateMemberDisplayForFederation(MemberDisplay mem) { try { var dc = new ManagementContext(); var member = dc.Members.Include("ContactCard").Include("ContactCard.Emails").Include("ContactCard.Communications").Include("Federations").FirstOrDefault(x => x.MemberId.Equals(mem.MemberId)); if (member == null) return mem; foreach (var league in mem.Leagues) { if (league.LeagueMovedId != new Guid()) { var le = dc.LeagueMembers.Where(x => x.Member.MemberId == mem.MemberId && x.League.LeagueId == league.LeagueId).FirstOrDefault(); if (le != null) le.League = dc.Leagues.Where(x => x.LeagueId == league.LeagueMovedId).FirstOrDefault(); else { LeagueMember lm = new LeagueMember(); lm.League = dc.Leagues.Where(x => x.LeagueId == league.LeagueMovedId).FirstOrDefault(); lm.Member = dc.Members.Where(x => x.MemberId == mem.MemberId).FirstOrDefault(); dc.LeagueMembers.Add(lm); } } } member.DerbyName = mem.DerbyName; member.PlayerNumber = mem.PlayerNumber; member.Firstname = mem.Firstname; member.Lastname = mem.LastName; if (mem.StoppedSkating != new DateTime()) member.YearStoppedSkating = mem.StoppedSkating; if (mem.StartedSkating != new DateTime()) member.YearStartedSkating = mem.StartedSkating; UpdatePhoneNumberForMember(mem, dc, member); UpdateEmailForMember(mem, member); //updates the federation ownership and class rank for the federation foreach (var feds in mem.FederationsApartOf) { try { var fed = member.Federations.Where(x => x.Federation.FederationId == feds.FederationId).FirstOrDefault(); fed.MADEClassRankForMember = Convert.ToInt32((MADEClassRankEnum)Enum.Parse(typeof(MADEClassRankEnum), feds.MADEClassRank)); fed.MemberType = Convert.ToInt32((MemberTypeFederationEnum)Enum.Parse(typeof(MemberTypeFederationEnum), feds.MemberType)); if (feds.MembershipDate != new DateTime()) fed.MembershipDate = feds.MembershipDate; fed.FederationIdForMember = feds.MembershipId; var fedOwner = member.FederationOwnership.Where(x => x.Federation.FederationId == feds.FederationId).FirstOrDefault(); if (fedOwner == null) { fedOwner = new FederationOwnership(); fedOwner.Federation = dc.Federations.Where(x => x.FederationId == feds.FederationId).FirstOrDefault(); fedOwner.IsVerified = true; fedOwner.Member = member; fedOwner.OwnerType = Convert.ToInt32((FederationOwnerEnum)Enum.Parse(typeof(FederationOwnerEnum), feds.OwnerType)); dc.FederationOwners.Add(fedOwner); } else { fedOwner.OwnerType = Convert.ToInt32((FederationOwnerEnum)Enum.Parse(typeof(FederationOwnerEnum), feds.OwnerType)); } } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } } int c = dc.SaveChanges(); } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } return mem; }
private static void CalculatePivotPositionForMemberDisplay(MemberDisplay mem) { try { mem.PivotPosition.AveragePointsScoredPerGame = CalculateAverage(mem.PivotPosition.PointsCareer, mem.TotalGamesPlayed); mem.PivotPosition.AveragePointsScoredPerJam = CalculateAverage(mem.PivotPosition.PointsCareer, mem.JamsBeenIn.Count); //average points scored against jammer during game in career. mem.PivotPosition.AveragePointsScoredAgainstPerGame = CalculateAverage(mem.PivotPosition.PointsAgainstCareer, mem.TotalGamesPlayed); //average points scored against jammer in jams in career mem.PivotPosition.AveragePointsScoredAgainstPerJam = CalculateAverage(mem.PivotPosition.PointsAgainstCareer, mem.JamsBeenIn.Count); mem.PivotPosition.AveragePointsScoredPerJamDelta = CalculateDeltaOfTwoNumbers((double)mem.PivotPosition.AveragePointsScoredPerJam, (double)mem.PivotPosition.AveragePointsScoredAgainstPerJam); mem.PivotPosition.AveragePointsScoredPerGameDelta = CalculateDeltaOfTwoNumbers((double)mem.PivotPosition.AveragePointsScoredPerGame, (double)mem.PivotPosition.AveragePointsScoredAgainstPerGame); mem.PivotPosition.PointsCareerDelta = CalculateDeltaOfTwoNumbers((double)mem.PivotPosition.PointsCareer, (double)mem.PivotPosition.PointsAgainstCareer); } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } }
private static void UpdateEmailForMember(MemberDisplay mem, Member member) { var email = member.ContactCard.Emails.Where(x => x.IsDefault == true).FirstOrDefault(); if (email != null) email.EmailAddress = mem.Email; else member.ContactCard.Emails.Add(new RDN.Library.DataModels.ContactCard.Email { EmailAddress = mem.Email, IsDefault = true }); }
/// <summary> /// creates a member for the league /// </summary> /// <param name="member"></param> /// <param name="federationId"></param> public static void CreateMemberForLeague(MemberDisplay member, Guid leagueId) { try { var dc = new ManagementContext(); // ContactLeague is set to null. We need to see if the leagueId is filled out and if so, if that league exists DataModels.League.League league = dc.Leagues.Where(x => x.LeagueId == leagueId).FirstOrDefault(); var dbMember = CreateMemberAccount(ref dc, ref league, new Guid(), member.Firstname.Trim(), member.DerbyName.Trim(), Convert.ToInt32(member.Gender), 0, member.LastName, member.PlayerNumber, member.Email.Trim(), member.PhoneNumber); var result = dc.SaveChanges(); SendEmailInviteOnProfileCreation(member.DerbyName, league.Name, dbMember.MemberId, member.Email); // The save resultet in 0 records. Indicating that something went wrong. Delete the already inserted username in the membership system and return if (result == 0) { } else { AddMemberLog(dbMember.MemberId, "member Account created for League", string.Format("The user account was created successfully with the following data:\nFirstname: {0}\nDerbyname:{1}\nEmail:{2}", member.Firstname, member.DerbyName, member.Email), MemberLogEnum.SystemDataAdded); } } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } }
private static void UpdatePhoneNumberForMember(MemberDisplay mem, ManagementContext dc, Member member) { int phoneType = Convert.ToInt32(CommunicationTypeEnum.PhoneNumber); var phone = member.ContactCard.Communications.Where(x => x.CommunicationTypeEnum == (byte)CommunicationTypeEnum.PhoneNumber).FirstOrDefault(); if (phone != null) phone.Data = mem.PhoneNumber; else { member.ContactCard.Communications.Add(new Communication { Data = mem.PhoneNumber, IsDefault = true, //CommunicationType = dc.CommunicationType.Where(x => x.CommunicationTypeId == phoneType).FirstOrDefault() CommunicationTypeEnum = (byte)CommunicationTypeEnum.PhoneNumber }); } }
/// <summary> /// gets the owners of the league. /// </summary> /// <param name="leagueId"></param> /// <returns></returns> public static List<MemberDisplay> GetLeagueOwners(Guid leagueId) { List<MemberDisplay> memberDis = new List<MemberDisplay>(); try { var dc = new ManagementContext(); var owners = dc.LeagueMembers.Where(x => x.League.LeagueId == leagueId && x.HasLeftLeague == false && x.IsInactiveForLeague == false); foreach (var mem in owners) { MemberDisplay memDis = new MemberDisplay(); memDis.LeagueOwnersEnum = (LeagueOwnersEnum)mem.LeagueOwnersEnums; if (memDis.LeagueOwnersEnum.HasFlag(LeagueOwnersEnum.Manager) || memDis.LeagueOwnersEnum.HasFlag(LeagueOwnersEnum.Owner) || memDis.LeagueOwnersEnum.HasFlag(LeagueOwnersEnum.Secretary) || memDis.LeagueOwnersEnum.HasFlag(LeagueOwnersEnum.Treasurer)) { memDis.MemberId = mem.Member.MemberId; memDis.DerbyName = mem.Member.DerbyName; memDis.Email = User.ExtractEmailFromContactCard(mem.Member); memberDis.Add(memDis); } } } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } return memberDis; }
/// <summary> /// builds up the member object to display out to the world. /// </summary> /// <param name="memberId"></param> /// <returns></returns> public static MemberDisplay GetMemberDisplay(Guid memberId, bool isPublicProfile = false, bool pullGameData = true) { try { var dc = new ManagementContext(); var member = dc.Members.Include("Notifications").Include("Settings").Include("Leagues").Include("Leagues.SkaterClass").Include("InsuranceNumbers").Include("ContactCard").Include("ContactCard.Emails").Include("ContactCard.Communications").Include("Photos").Include("Federations").Include("MedicalInformation").FirstOrDefault(x => x.MemberId.Equals(memberId)); if (member == null) return null; MemberDisplay mem = new MemberDisplay(); mem.IsProfileRemovedFromPublicView = member.IsProfileRemovedFromPublic; if (member.IsProfileRemovedFromPublic && isPublicProfile) return null; foreach (var photo in member.Photos.OrderBy(x => x.Created)) { mem.Photos.Add(new PhotoItem(photo.ImageUrl, photo.IsPrimaryPhoto, member.DerbyName)); } if (member.YearStartedSkating != null && member.YearStartedSkating != new DateTime()) mem.StartedSkating = member.YearStartedSkating.Value; else mem.StartedSkating = null; if (member.YearStoppedSkating != null && member.YearStoppedSkating != new DateTime()) mem.StoppedSkating = member.YearStoppedSkating.Value; else mem.StoppedSkating = null; mem.CurrentLeagueId = member.CurrentLeagueId; mem.IsRetired = member.Retired; mem.Firstname = member.Firstname; mem.DerbyName = member.DerbyName; mem.DerbyNameUrl = ServerConfig.WEBSITE_DEFAULT_LOCATION + "/roller-derby-skater/" + RDN.Utilities.Strings.StringExt.ToSearchEngineFriendly(member.DerbyName) + "/" + member.MemberId.ToString().Replace("-", ""); mem.MemberId = memberId; mem.UserId = member.AspNetUserId; mem.DayJob = member.DayJob; var user = Membership.GetUser((object)member.AspNetUserId); if (user != null) mem.UserName = user.UserName; mem.IsNotConnectedToDerby = member.IsNotConnectedToDerby; mem.Email = ExtractEmailFromContactCard(member); if (member.ContactCard.Addresses.Count > 0) { foreach (var add in member.ContactCard.Addresses) { var address = new RDN.Portable.Classes.ContactCard.Address(); address.AddressId = add.AddressId; address.Address1 = add.Address1; address.Address2 = add.Address2; address.CityRaw = add.CityRaw; if (add.Country != null) address.Country = add.Country.Code; address.StateRaw = add.StateRaw; address.Zip = add.Zip; address.Type = (AddressTypeEnum)add.AddressType; mem.ContactCard.Addresses.Add(address); } } GenderEnum gen; if (Enum.TryParse<GenderEnum>(member.Gender.ToString(), out gen)) mem.Gender = gen; mem.LastName = member.Lastname; mem.Bio = member.Bio; mem.DefaultPositionType = (DefaultPositionEnum)Enum.Parse(typeof(DefaultPositionEnum), member.PositionType.ToString()); mem.BioHtml = member.Bio; if (member.DateOfBirth.HasValue) mem.DOB = member.DateOfBirth.Value; mem.WeightLbs = member.WeightInLbs; if (member.HeightInches != 0) { mem.HeightFeet = (int)(member.HeightInches / 12); mem.HeightInches = (int)(member.HeightInches % 12); } DisplayInsuranceNumbers(member.InsuranceNumbers, mem); DisplayMemberNotifications(member.Notifications, mem); mem.Settings = MemberSettingsFactory.DisplayMemberSettings(member.Settings); foreach (var memberContact in member.MemberContacts) { try { RDN.Portable.Classes.Account.Classes.MemberContact contact = new RDN.Portable.Classes.Account.Classes.MemberContact(); contact.ContactId = memberContact.ContactId; contact.Firstname = memberContact.Firstname; contact.Lastname = memberContact.Lastname; contact.ContactType = (MemberContactTypeEnum)Enum.Parse(typeof(MemberContactTypeEnum), memberContact.ContactTypeEnum.ToString()); if (memberContact.ContactCard != null) { if (memberContact.ContactCard.Emails.Count > 0) contact.Email = memberContact.ContactCard.Emails.Where(x => x.IsDefault == true).FirstOrDefault().EmailAddress; if (memberContact.ContactCard.Communications.Count > 0) { contact.PhoneNumber = memberContact.ContactCard.Communications.FirstOrDefault().Data; contact.SMSVerificationNum = memberContact.ContactCard.Communications.FirstOrDefault().SMSVerificationCode; contact.Carrier = (MobileServiceProvider)memberContact.ContactCard.Communications.FirstOrDefault().CarrierType; } if (memberContact.ContactCard.Addresses.Count > 0) { contact.Addresses = new List<Portable.Classes.ContactCard.Address>(); foreach (var add in memberContact.ContactCard.Addresses) { var address = new RDN.Portable.Classes.ContactCard.Address(); address.Address1 = add.Address1; address.Address2 = add.Address2; address.CityRaw = add.CityRaw; if (add.Country != null) address.Country = add.Country.Code; address.StateRaw = add.StateRaw; address.Zip = add.Zip; address.Type = (AddressTypeEnum)add.AddressType; contact.Addresses.Add(address); } } } mem.MemberContacts.Add(contact); } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } } if (member.ContactCard.Communications.Count > 0) { var com = member.ContactCard.Communications.Where(x => x.IsDefault == true).Where(x => x.CommunicationTypeEnum == (byte)CommunicationTypeEnum.PhoneNumber).FirstOrDefault(); if (com != null) { mem.PhoneNumber = com.Data; mem.SMSVerificationNum = com.SMSVerificationCode; mem.Carrier = (MobileServiceProvider)com.CarrierType; mem.IsCarrierVerified = com.IsCarrierVerified; } } mem.PlayerNumber = member.PlayerNumber; if (member.Leagues.Count > 0) { foreach (var league in member.Leagues) { RDN.Portable.Classes.League.Classes.League l = new Portable.Classes.League.Classes.League(); l.LeagueId = league.League.LeagueId; l.Name = league.League.Name; l.IsInactiveInLeague = league.IsInactiveForLeague; l.DepartureDate = league.DepartureDate; l.MembershipDate = league.MembershipDate; l.SkillsTestDate = league.SkillsTestDate; l.HasLeftLeague = league.HasLeftLeague; l.NotesAboutMember = league.Notes; l.NameUrl = ServerConfig.WEBSITE_DEFAULT_LOCATION_FOR_LEAGUES + RDN.Utilities.Strings.StringExt.ToSearchEngineFriendly(l.Name) + "/" + l.LeagueId.ToString().Replace("-", ""); l.LeagueOwnersEnum = (LeagueOwnersEnum)league.LeagueOwnersEnums; if (l.LeagueId == mem.CurrentLeagueId) { mem.LeagueOwnersEnum = l.LeagueOwnersEnum; mem.DoesReceiveLeagueNotifications = !league.TurnOffEmailNotifications; } if (league.SkaterClass != null) l.SkaterClass = league.SkaterClass.ClassId; else l.SkaterClass = 0; mem.Leagues.Add(l); } } MedicalInformationFactory.AttachMemberMedicalInformation(member, mem); foreach (var fed in member.Federations) { FederationDisplay fedDisplay = new FederationDisplay(); fedDisplay.FederationId = fed.Federation.FederationId; fedDisplay.FederationName = fed.Federation.Name; fedDisplay.MADEClassRank = ((MADEClassRankEnum)Enum.ToObject(typeof(MADEClassRankEnum), fed.MADEClassRankForMember)).ToString(); fedDisplay.MemberType = ((MemberTypeFederationEnum)Enum.ToObject(typeof(MemberTypeFederationEnum), fed.MemberType)).ToString(); var ownersOfFed = fed.Federation.Owners.Where(x => x.Member == member).FirstOrDefault(); if (ownersOfFed == null) fedDisplay.OwnerType = FederationOwnerEnum.None.ToString(); else fedDisplay.OwnerType = ((FederationOwnerEnum)Enum.ToObject(typeof(FederationOwnerEnum), ownersOfFed.OwnerType)).ToString(); if (fed.MembershipDate != null && fed.MembershipDate != new DateTime()) fedDisplay.MembershipDate = fed.MembershipDate.Value; else fedDisplay.MembershipDate = DateTime.UtcNow; fedDisplay.MembershipId = fed.FederationIdForMember; mem.FederationsApartOf.Add(fedDisplay); } if (pullGameData) GetGameStats(memberId, dc, mem); return mem; } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } return null; }
public ActionResult EditMember(MemberDisplay model, HttpPostedFileBase file) { try { var memId = RDN.Library.Classes.Account.User.GetMemberId(); //this is the member that is currently managing this league. var usersLeague = MemberCache.GetMemberDisplay(memId); if (model == null) { throw new Exception("Model is Null"); } var memTemp = RDN.Library.Cache.MemberCache.GetMemberDisplay(model.MemberId); ViewBag.Saved = true; ViewBag.Removed = false; MemberDisplay newMemberWithImage = null; model.Leagues = memTemp.Leagues; foreach (var leag in model.Leagues) { try { if (HttpContext.Request.Form["LEAGUEIsInactive[" + leag.LeagueId + "]"] != null) { if (HttpContext.Request.Form["LEAGUEIsInactive[" + leag.LeagueId + "]"].ToString() == "false") leag.IsInactiveInLeague = false; else leag.IsInactiveInLeague = true; } if (!String.IsNullOrEmpty(HttpContext.Request.Form[leag.LeagueId + "-LEAGUEMembershipDate"])) { DateTime outDT; bool success = DateTime.TryParse(HttpContext.Request.Form[leag.LeagueId + "-LEAGUEMembershipDate"], out outDT); if (success) leag.MembershipDate = outDT; else leag.MembershipDate = null; } if (!String.IsNullOrEmpty(HttpContext.Request.Form[leag.LeagueId + "-LEAGUEDepartureDate"])) { DateTime outDT; bool success = DateTime.TryParse(HttpContext.Request.Form[leag.LeagueId + "-LEAGUEDepartureDate"], out outDT); if (success) leag.DepartureDate = outDT; else leag.DepartureDate = null; } if (!String.IsNullOrEmpty(HttpContext.Request.Form[leag.LeagueId + "-LEAGUESkillsDate"])) { DateTime outDT; bool success = DateTime.TryParse(HttpContext.Request.Form[leag.LeagueId + "-LEAGUESkillsDate"], out outDT); if (success) leag.SkillsTestDate = outDT; else leag.SkillsTestDate = null; } if (HttpContext.Request.Form[leag.LeagueId + "-LEAGUEMemberNotes"] != null) leag.NotesAboutMember = HttpContext.Request.Form[leag.LeagueId + "-LEAGUEMemberNotes"]; if (!String.IsNullOrEmpty(HttpContext.Request.Form["LEAGUESkaterClass[" + leag.LeagueId + "]"])) leag.SkaterClass = Convert.ToInt64(HttpContext.Request.Form["LEAGUESkaterClass[" + leag.LeagueId + "]"]); else leag.SkaterClass = 0; } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType(), additionalInformation: model.MemberId.ToString()); } } if (file != null) newMemberWithImage = RDN.Library.Classes.Account.User.UpdateMemberDisplayForLeague(model, file.InputStream, file.FileName); else newMemberWithImage = RDN.Library.Classes.Account.User.UpdateMemberDisplayForLeague(model); //clear users cache RDN.Library.Cache.MemberCache.Clear(memId); MemberCache.ClearApiCache(memId); //clears members cache RDN.Library.Cache.MemberCache.Clear(newMemberWithImage.MemberId); MemberCache.ClearApiCache(newMemberWithImage.MemberId); var mem = RDN.Library.Cache.MemberCache.GetMemberDisplay(model.MemberId); var league = mem.Leagues.Where(x => x.LeagueId == usersLeague.CurrentLeagueId).FirstOrDefault(); if (league != null) { mem.Leagues.Clear(); mem.Leagues.Add(league); } return View(mem); } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType(), additionalInformation: model.MemberId.ToString()); } return Redirect(Url.Content("~/?u=" + SiteMessagesEnum.sww)); }
private static void GetGameStats(Guid memberId, ManagementContext dc, MemberDisplay mem) { try { //looking for some information to fill out the stats we currently collect var memberGame = (from yy in dc.GameMembers where yy.MemberLinkId == memberId where yy.Team.Game.ScoreboardType == (int)ScoreboardModeEnum.AddedOldGame || yy.Team.Game.ScoreboardType == (int)ScoreboardModeEnum.Live select new { yy.Team.Game.GameId, yy.Created, yy.Team.TeamId, //yy.Team.TeamScoreboardId, yy.Team.TeamIdLink, JamsCount = yy.Team.Game.GameJams, game = (from xx in dc.Games where xx.GameId == yy.Team.Game.GameId where xx.ScoreboardType == (int)ScoreboardModeEnum.AddedOldGame || xx.ScoreboardType == (int)ScoreboardModeEnum.Live select new RDN.Portable.Classes.Games.Game { //we are making sure, that the member is always apart of // team 1 so when we do our calculations below // we also know the skater is on team 1. GameDate = xx.GameDate, GameId = xx.GameId, GameName = xx.GameName, Team1Id = xx.GameTeams.Where(x => x.TeamId == yy.Team.TeamId).FirstOrDefault().TeamId, Team1LinkId = xx.GameTeams.Where(x => x.TeamId == yy.Team.TeamId).FirstOrDefault().TeamIdLink, Team2Id = xx.GameTeams.Where(x => x.TeamId != yy.Team.TeamId).FirstOrDefault().TeamId, Team2LinkId = xx.GameTeams.Where(x => x.TeamId != yy.Team.TeamId).FirstOrDefault().TeamIdLink, Team2Name = (dc.Leagues.Where(g => g.LeagueId == xx.GameTeams.Where(x => x.TeamId != yy.Team.TeamId).FirstOrDefault().TeamIdLink).FirstOrDefault() == null) ? xx.GameTeams.Where(x => x.TeamId != yy.Team.TeamId).FirstOrDefault().TeamName : dc.Leagues.Where(g => g.LeagueId == xx.GameTeams.Where(x => x.TeamId != yy.Team.TeamId).FirstOrDefault().TeamIdLink).FirstOrDefault().Name, Team1Name = (dc.Leagues.Where(g => g.LeagueId == xx.GameTeams.Where(x => x.TeamId == yy.Team.TeamId).FirstOrDefault().TeamIdLink).FirstOrDefault() == null) ? xx.GameTeams.Where(x => x.TeamId == yy.Team.TeamId).FirstOrDefault().TeamName : dc.Leagues.Where(g => g.LeagueId == xx.GameTeams.Where(x => x.TeamId == yy.Team.TeamId).FirstOrDefault().TeamIdLink).FirstOrDefault().Name, Team1Score = (from ss in dc.GameScore where ss.GameTeam == xx.GameTeams.Where(z => z.TeamId == yy.Team.TeamId).FirstOrDefault() select new GameScore { DateTimeScored = ss.DateTimeScored, GameScoreId = ss.GameScoreId, JamId = ss.JamId, JamNumber = ss.JamNumber, PeriodNumber = ss.PeriodNumber, PeriodTimeRemainingMilliseconds = ss.PeriodTimeRemainingMilliseconds, Point = ss.Point, ScoreId = ss.ScoreId }), Team2Score = (from ss in dc.GameScore where ss.GameTeam == xx.GameTeams.Where(z => z.TeamId != yy.Team.TeamId).FirstOrDefault() select new GameScore { DateTimeScored = ss.DateTimeScored, GameScoreId = ss.GameScoreId, JamId = ss.JamId, JamNumber = ss.JamNumber, PeriodNumber = ss.PeriodNumber, PeriodTimeRemainingMilliseconds = ss.PeriodTimeRemainingMilliseconds, Point = ss.Point, ScoreId = ss.ScoreId }), }).FirstOrDefault() }).OrderByDescending(x => x.Created).ToList(); //total games mem.TotalGamesPlayed = memberGame.Count; mem.JammerPosition.TotalGamesPlayed = 0; mem.BlockerPosition.TotalGamesPlayed = 0; mem.PivotPosition.TotalGamesPlayed = 0; mem.TotalJamsPlayed = 0; mem.JammerPosition.TotalJamsPlayed = 0; mem.BlockerPosition.TotalJamsPlayed = 0; mem.PivotPosition.TotalJamsPlayed = 0; mem.TotalJamsInAllGames = 0; mem.JammerPosition.PointsSeason = 0; mem.JammerPosition.PointsCareer = 0; mem.JammerPosition.PointsAgainstSeason = 0; mem.JammerPosition.PointsAgainstCareer = 0; mem.BlockerPosition.PointsSeason = 0; mem.BlockerPosition.PointsCareer = 0; mem.BlockerPosition.PointsAgainstSeason = 0; mem.BlockerPosition.PointsAgainstCareer = 0; mem.PivotPosition.PointsSeason = 0; mem.PivotPosition.PointsCareer = 0; mem.PivotPosition.PointsAgainstSeason = 0; mem.PivotPosition.PointsAgainstCareer = 0; mem.JamsBeenIn = new List<Portable.Classes.Games.Scoreboard.JamModel>(); mem.GamesWon = 0; mem.GamesLost = 0; mem.GamesToDisplay = new List<Portable.Classes.Games.Game>(); //iterate through all the games. foreach (var game in memberGame) { bool PlayedAsJammerInGame = false; bool PlayedAsPivotInGame = false; bool PlayedAsBlockerInGame = false; //sets total jams in allgames. mem.TotalJamsInAllGames += game.JamsCount.Count; //jam numbers for jammers/pivots and blockers skater was in. So we can use this info for points. List<int> jamNumbersAsJammers = new List<int>(); List<int> jamNumbersAsPivots = new List<int>(); List<int> jamNumbersAsBlockers = new List<int>(); foreach (var jam in game.JamsCount) { //checks if skater was in this jam //adds the jam for the skater. JamModel model = new JamModel(); model.JamNumber = jam.JamNumber; if (jam.PivotTeam1 != null && jam.PivotTeam1.MemberLinkId == memberId) { model.PivotT1 = new TeamMembersModel(jam.PivotTeam1.MemberLinkId); jamNumbersAsPivots.Add(model.JamNumber); mem.PivotPosition.TotalJamsPlayed += 1; mem.TotalJamsPlayed += 1; PlayedAsPivotInGame = true; } if (jam.JammerTeam1 != null && jam.JammerTeam1.MemberLinkId == memberId) { model.JammerT1 = new TeamMembersModel(jam.JammerTeam1.MemberLinkId); jamNumbersAsJammers.Add(model.JamNumber); mem.JammerPosition.TotalJamsPlayed += 1; mem.TotalJamsPlayed += 1; PlayedAsJammerInGame = true; } if (jam.Blocker3Team1 != null && jam.Blocker3Team1.MemberLinkId == memberId) { model.Blocker3T1 = new TeamMembersModel(jam.Blocker3Team1.MemberLinkId); jamNumbersAsBlockers.Add(model.JamNumber); mem.BlockerPosition.TotalJamsPlayed += 1; mem.TotalJamsPlayed += 1; PlayedAsBlockerInGame = true; } if (jam.Blocker4Team1 != null && jam.Blocker4Team1.MemberLinkId == memberId) { model.Blocker4T1 = new TeamMembersModel(jam.Blocker4Team1.MemberLinkId); jamNumbersAsBlockers.Add(model.JamNumber); mem.BlockerPosition.TotalJamsPlayed += 1; mem.TotalJamsPlayed += 1; PlayedAsBlockerInGame = true; } if (jam.Blocker2Team1 != null && jam.Blocker2Team1.MemberLinkId == memberId) { model.Blocker2T1 = new TeamMembersModel(jam.Blocker2Team1.MemberLinkId); jamNumbersAsBlockers.Add(model.JamNumber); mem.BlockerPosition.TotalJamsPlayed += 1; mem.TotalJamsPlayed += 1; PlayedAsBlockerInGame = true; } if (jam.Blocker1Team1 != null && jam.Blocker1Team1.MemberLinkId == memberId) { model.Blocker1T1 = new TeamMembersModel(jam.Blocker1Team1.MemberLinkId); jamNumbersAsBlockers.Add(model.JamNumber); mem.BlockerPosition.TotalJamsPlayed += 1; mem.TotalJamsPlayed += 1; PlayedAsBlockerInGame = true; } model.GameTimeElapsedMillisecondsStart = jam.GameTimeElapsedMillisecondsStart; model.GameTimeElapsedMillisecondsEnd = jam.GameTimeElapsedMillisecondsEnd; mem.JamsBeenIn.Add(model); } //after counting through all the jams, we see which position the skater played for each game and //we count how many games the played with that position if (PlayedAsJammerInGame) mem.JammerPosition.TotalGamesPlayed += 1; if (PlayedAsPivotInGame) mem.PivotPosition.TotalGamesPlayed += 1; if (PlayedAsBlockerInGame) mem.BlockerPosition.TotalGamesPlayed += 1; int totalPointsTeam1 = 0; int totalPointsTeam2 = 0; foreach (var point in game.game.Team1Score) { //sets points scored for the game. totalPointsTeam1 += point.Point; //also sets points scored while member was in the present position if (jamNumbersAsJammers.Contains(point.JamNumber)) { mem.JammerPosition.PointsCareer += point.Point; mem.JammerPosition.PointsSeason += point.Point; } if (jamNumbersAsPivots.Contains(point.JamNumber)) { mem.PivotPosition.PointsCareer += point.Point; mem.PivotPosition.PointsSeason += point.Point; } if (jamNumbersAsBlockers.Contains(point.JamNumber)) { mem.BlockerPosition.PointsCareer += point.Point; mem.BlockerPosition.PointsSeason += point.Point; } } foreach (var point in game.game.Team2Score) { //sets points scored for the game. totalPointsTeam2 += point.Point; //also sets points scored while member was in the present position if (jamNumbersAsJammers.Contains(point.JamNumber)) { mem.JammerPosition.PointsAgainstCareer += point.Point; mem.JammerPosition.PointsAgainstSeason += point.Point; } if (jamNumbersAsPivots.Contains(point.JamNumber)) { mem.PivotPosition.PointsAgainstCareer += point.Point; mem.PivotPosition.PointsAgainstSeason += point.Point; } if (jamNumbersAsBlockers.Contains(point.JamNumber)) { mem.BlockerPosition.PointsAgainstCareer += point.Point; mem.BlockerPosition.PointsAgainstSeason += point.Point; } } //total games this skater won and lost. if (totalPointsTeam1 > totalPointsTeam2) mem.GamesWon += 1; else mem.GamesLost += 1; game.game.Team1ScoreTotal = 0; foreach (var score in game.game.Team1Score) game.game.Team1ScoreTotal += score.Point; game.game.Team2ScoreTotal = 0; foreach (var score in game.game.Team2Score) game.game.Team2ScoreTotal += score.Point; game.game.Score1Score2Delta = CalculateDeltaOfTwoNumbers((double)game.game.Team1ScoreTotal, (double)game.game.Team2ScoreTotal); mem.GamesToDisplay.Add(game.game); } //average jam per game. mem.AverageJamsPerGame = CalculateAverage(mem.JamsBeenIn.Count, mem.TotalGamesPlayed); CalculateJammerPositionForMemberDisplay(mem); CalculateBlockerPositionForMemberDisplay(mem); CalculatePivotPositionForMemberDisplay(mem); } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } }
/// <summary> /// iterates throught the collection of members and sets them up for display to the end user. /// </summary> /// <param name="members"></param> /// <returns></returns> public static List<MemberDisplay> IterateMembersForDisplay(ICollection<DataModels.League.LeagueMember> members) { List<MemberDisplay> membersReturned = new List<MemberDisplay>(); foreach (var mem in members) { try { MemberDisplay memTemp = new MemberDisplay(); memTemp.IsProfileRemovedFromPublicView = mem.Member.IsProfileRemovedFromPublic; memTemp.DerbyName = mem.Member.DerbyName; memTemp.StartedSkating = mem.Member.YearStartedSkating; memTemp.DOB = mem.Member.DateOfBirth.GetValueOrDefault(); if (mem.Member.ContactCard.Emails.Count > 0) memTemp.Email = mem.Member.ContactCard.Emails.Where(x => x.IsDefault == true).FirstOrDefault().EmailAddress; memTemp.Firstname = mem.Member.Firstname; GenderEnum gen; if (Enum.TryParse<GenderEnum>(mem.Member.Gender.ToString(), out gen)) memTemp.Gender = gen; memTemp.LastName = mem.Member.Lastname; memTemp.MemberId = mem.Member.MemberId; memTemp.PlayerNumber = mem.Member.PlayerNumber; memTemp.DayJob = mem.Member.DayJob; if (mem.Member.ContactCard != null && mem.Member.ContactCard.Communications.Count > 0) { var com = mem.Member.ContactCard.Communications.Where(x => x.IsDefault == true).Where(x => x.CommunicationTypeEnum == (byte)CommunicationTypeEnum.PhoneNumber).FirstOrDefault(); if (com != null) { memTemp.PhoneNumber = com.Data; memTemp.SMSVerificationNum = com.SMSVerificationCode; memTemp.Carrier = (MobileServiceProvider)com.CarrierType; memTemp.IsCarrierVerified = com.IsCarrierVerified; } } if (mem.Member.ContactCard != null && mem.Member.ContactCard.Addresses.Count > 0) { foreach (var add in mem.Member.ContactCard.Addresses) { var address =new RDN.Portable.Classes.ContactCard.Address(); address.AddressId = add.AddressId; address.Address1 = add.Address1; address.Address2 = add.Address2; address.CityRaw = add.CityRaw; if (add.Country != null) address.Country = add.Country.Code; address.StateRaw = add.StateRaw; address.Zip = add.Zip; if (add.Coords != null) { address.Coords = new Portable.Classes.Location.GeoCoordinate(); address.Coords.Latitude = add.Coords.Latitude; address.Coords.Longitude = add.Coords.Longitude; } memTemp.ContactCard.Addresses.Add(address); } } if (mem.League != null) { RDN.Portable.Classes.League.Classes.League l = new RDN.Portable.Classes.League.Classes.League(); l.LeagueId = mem.League.LeagueId; l.Name = mem.League.Name; l.DepartureDate = mem.DepartureDate; l.SkillsTestDate = mem.SkillsTestDate; if (mem.Member.CurrentLeagueId == l.LeagueId) { memTemp.IsInactiveFromCurrentLeague = mem.IsInactiveForLeague; if (mem.SkaterClass != null) memTemp.LeagueClassificationOfSkatingLevel = mem.SkaterClass.ClassName; } l.LeagueOwnersEnum = (LeagueOwnersEnum)mem.LeagueOwnersEnums; if (mem.Member.CurrentLeagueId == l.LeagueId) memTemp.LeagueOwnersEnum = l.LeagueOwnersEnum; l.IsInactiveInLeague = mem.IsInactiveForLeague; if (mem.SkaterClass != null) { l.SkaterClass = mem.SkaterClass.ClassId; //l.SkaterLevel = mem.SkaterClass.ClassName; } memTemp.Leagues.Add(l); } if (mem.Member.AspNetUserId != null && mem.Member.AspNetUserId != new Guid()) { memTemp.UserId = mem.Member.AspNetUserId; memTemp.IsConnected = true; } else { memTemp.IsConnected = false; memTemp.VerificationCode = mem.Member.MemberId.ToString().Replace("-", "") + mem.Member.Gender.ToString(); } foreach (var photo in mem.Member.Photos.OrderBy(x => x.Created)) { memTemp.Photos.Add(new PhotoItem(photo.ImageUrl, photo.ImageUrlThumb, photo.IsPrimaryPhoto, mem.Member.DerbyName)); } foreach (var numb in mem.Member.InsuranceNumbers) { if (numb.InsuranceType == Convert.ToInt32(InsuranceProviderEnum.Other)) { memTemp.InsuranceNumOther = numb.InsuranceNumber; memTemp.InsuranceNumOtherExpires = numb.Expires; } else if (numb.InsuranceType == Convert.ToInt32(InsuranceProviderEnum.USARS)) { memTemp.InsuranceNumUsars = numb.InsuranceNumber; memTemp.InsuranceNumUsarsExpires = numb.Expires; } else if (numb.InsuranceType == Convert.ToInt32(InsuranceProviderEnum.WFTDA)) { memTemp.InsuranceNumWftda = numb.InsuranceNumber; memTemp.InsuranceNumWftdaExpires = numb.Expires; } else if (numb.InsuranceType == Convert.ToInt32(InsuranceProviderEnum.CRDI)) { memTemp.InsuranceNumCRDI = numb.InsuranceNumber; memTemp.InsuranceNumCRDIExpires = numb.Expires; } } MedicalInformationFactory.AttachMemberMedicalInformation(mem.Member, memTemp); memTemp.Settings = MemberSettingsFactory.DisplayMemberSettings(mem.Member.Settings); membersReturned.Add(memTemp); } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } } return membersReturned; }
private static void DisplayInsuranceNumbers(ICollection<MemberInsurance> insuranceNumbers, MemberDisplay mem) { foreach (var numb in insuranceNumbers) { try { if (numb.InsuranceType == Convert.ToInt32(InsuranceProviderEnum.Other)) { mem.InsuranceNumOther = numb.InsuranceNumber; mem.InsuranceNumOtherExpires = numb.Expires; } else if (numb.InsuranceType == Convert.ToInt32(InsuranceProviderEnum.USARS)) { mem.InsuranceNumUsars = numb.InsuranceNumber; mem.InsuranceNumUsarsExpires = numb.Expires; } else if (numb.InsuranceType == Convert.ToInt32(InsuranceProviderEnum.WFTDA)) { mem.InsuranceNumWftda = numb.InsuranceNumber; mem.InsuranceNumWftdaExpires = numb.Expires; } else if (numb.InsuranceType == Convert.ToInt32(InsuranceProviderEnum.CRDI)) { mem.InsuranceNumCRDI = numb.InsuranceNumber; mem.InsuranceNumCRDIExpires = numb.Expires; } } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } } }
public static VotingClass GetPollV2(Guid leagueId, long pollId, Guid mem) { VotingClass v = new VotingClass(); var dc = new ManagementContext(); try { var voting = dc.VotingV2.Where(x => x.LeagueOwner.LeagueId == leagueId && x.IsDeleted == false && x.VotingId == pollId).FirstOrDefault(); if (voting == null) return null; v.IsPublic = voting.IsPublic; v.IsClosed = voting.IsClosed; v.IsDeleted = voting.IsDeleted; v.IsOpenToLeague = voting.IsOpenToLeague; v.Title = voting.Title; v.Version = 2; foreach (var voter in voting.Voters) { MemberDisplay m = new MemberDisplay(); m.MemberId = voter.Member.MemberId; m.DerbyName = voter.Member.DerbyName; m.PlayerNumber = voter.Member.PlayerNumber; m.UserId = voter.Member.AspNetUserId; v.Voters.Add(m); } //= MemberCache.GetLeagueMembers(mem, leagueId); foreach (var question in voting.Questions.OrderBy(x => x.QuestionSortId)) { VotingQuestionClass q = new VotingQuestionClass(); q.Question = question.Question; q.SortableOrderId = question.QuestionSortId; q.QuestionId = question.QuestionId; q.QuestionType = (QuestionTypeEnum)question.QuestionType; var answers = question.Answers.Where(x => x.WasRemoved == false).ToList(); for (int vo = 0; vo < answers.Count; vo++) { try { VotingAnswersClass vc = new VotingAnswersClass(); vc.Answer = answers[vo].Answer; vc.AnswerId = answers[vo].AnswerId; vc.WasRemoved = answers[vo].WasRemoved; q.Answers.Add(vc); } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } } for (int vo = 0; vo < question.Votes.Count; vo++) { try { VotesClass vc = new VotesClass(); vc.IPAddress = question.Votes[vo].IPAddress; vc.OtherText = question.Votes[vo].OtherText; vc.Created = question.Votes[vo].Created; if (question.Votes[vo].AnswerSelected != null) { vc.AnswerId = question.Votes[vo].AnswerSelected.AnswerId; vc.AnswerIds.Add(vc.AnswerId); } foreach (var ans in question.Votes[vo].AnswersSelected) { vc.AnswerIds.Add(ans.AnswerSelected.AnswerId); } if (question.Votes[vo].Member != null) { vc.MemberId = question.Votes[vo].Member.MemberId; vc.DerbyName = question.Votes[vo].Member.DerbyName; vc.UserId = question.Votes[vo].Member.AspNetUserId; } vc.VoteId = question.Votes[vo].VoteId; q.Votes.Add(vc); v.Voters.Remove(v.Voters.Where(x => x.MemberId == vc.MemberId).FirstOrDefault()); } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } } v.Questions.Add(q); } v.Description = voting.Description; v.IsClosed = voting.IsClosed; v.VotingId = voting.VotingId; v.IsPollAnonymous = voting.IsPollAnonymous; v.LeagueId = leagueId.ToString().Replace("-", ""); //making due for old polls. return v; } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } return null; }
private static void DisplayMemberNotifications(MemberNotifications notifications, MemberDisplay mem) { if (notifications != null) { mem.EmailCalendarNewEventBroadcast = !notifications.EmailCalendarNewEventBroadcastTurnOff; mem.EmailForumBroadcasts = !notifications.EmailForumBroadcastsTurnOff; mem.EmailForumNewPost = !notifications.EmailForumNewPostTurnOff; mem.EmailForumWeeklyRoundup = !notifications.EmailForumWeeklyRoundupTurnOff; mem.EmailMessagesReceived = !notifications.EmailMessagesReceivedTurnOff; } else { mem.EmailCalendarNewEventBroadcast = true; mem.EmailForumBroadcasts = true; mem.EmailForumNewPost = true; mem.EmailForumWeeklyRoundup = true; mem.EmailMessagesReceived = true; } }
/// <summary> /// scans the two evils website for all the derby profiles /// </summary> public static void ScanTwoEvilsWebsite() { //<tr class="(trc1|trc2)"><td>( |[a-zA-Z0-9\s�\-\.\'\%\(\),!"#$*/\?:&\+!_=~@\[\]`]+)</td><td>( |[0-9a-zA-Z\s\.\/\-%#:'�$"\+&/\\!_@\>=\?,\)\(\*\^;\]\[~]+(¢)?|×)</td><td>([0-9\-]+| )</td><td>( |[a-zA-Z\s\(\)0-9/\.':,\-�!_\*\?]+)</td></tr> //name: ( |[a-zA-Z0-9\s�\-\.\'\%\(\),!"#$*/\?:&\+!_=~@\[\]`]+) //number: ( |[0-9a-zA-Z\s\.\/\-%#:'�$"\+&/\\!_@\>=\?,\)\(\*\^;\]\[~]+(¢)?|×) // date: ([0-9\-]+| ) //league: ( |[a-zA-Z\s\(\)0-9/\.':,\-�!_\*\?]+) List<MemberDisplay> profiles = new List<MemberDisplay>(); StringBuilder sb = new StringBuilder(); sb.Append("<tr class=\""); sb.Append("(trc1|trc2)\""); sb.Append(@"><td>( |[a-zA-Z0-9\s�\-\.\'\%\(\),!"); sb.Append(@"#$*/\?:&\+!_=~@\[\]`]+)</td><td>( |[0-9a-zA-Z\s\.\/\-%#:'�$"); sb.Append(@"\+&/\\!_@\>=\?,\)\(\*\^;\]\[~]+(¢)?|×)</td><td>([0-9\-]+| )</td><td>( |[a-zA-Z\s\(\)0-9/\.':,\-�!_\*\?]+)</td></tr>"); Regex lineItem = new Regex(sb.ToString(), RegexOptions.IgnoreCase | RegexOptions.Compiled); Regex name = new Regex(@"( |[a-zA-Z0-9\s�\-\.\'\%\(\),!#$*/\?:&\+!_=~@\[\]`]+)", RegexOptions.IgnoreCase | RegexOptions.Compiled); Regex number = new Regex(@"( |[0-9a-zA-Z\s\.\/\-%#:'�$\+&/\\!_@\>=\?,\)\(\*\^;\]\[~]+(¢)?|×)", RegexOptions.IgnoreCase | RegexOptions.Compiled); Regex date = new Regex(@"([0-9\-]+| )", RegexOptions.IgnoreCase | RegexOptions.Compiled); Regex league = new Regex(@"( |[a-zA-Z\s\(\)0-9/\.':,\-�!_\*\?]+)", RegexOptions.IgnoreCase | RegexOptions.Compiled); Regex tdBlah = new Regex(@"</td><td>", RegexOptions.Compiled | RegexOptions.IgnoreCase); WebClient webClient = new WebClient(); const string strUrl = "http://www.twoevils.org/rollergirls/"; byte[] reqHTML; reqHTML = webClient.DownloadData(strUrl); UTF8Encoding objUTF8 = new UTF8Encoding(); string html = objUTF8.GetString(reqHTML); int blah = lineItem.Matches(html).Count; MatchCollection matches = lineItem.Matches(html); foreach (Match pro in matches) { string website = ""; string teamName = ""; string match = pro.Value; match = match.Replace("<tr class=\"trc2\"><td>", ""); match = match.Replace("<tr class=\"trc1\"><td>", ""); MemberDisplay profile = new MemberDisplay(); profile.DerbyName = name.Match(match).Value; match = match.Remove(name.Match(match).Index, profile.DerbyName.Length); match = tdBlah.Replace(match, "", 1); profile.PlayerNumber = number.Match(match).Value; if (profile.PlayerNumber.Contains(" ")) profile.PlayerNumber = string.Empty; match = match.Remove(number.Match(match).Index, profile.PlayerNumber.Length); match = tdBlah.Replace(match, "", 1); website = date.Match(match).Value; if (website.Contains(" ")) website = string.Empty; match = match.Remove(date.Match(match).Index, website.Length); match = tdBlah.Replace(match, "", 1); teamName = league.Match(match).Value; teamName = teamName.Replace("(trademarked name)", ""); if (teamName.Contains(" ") || teamName.Contains("delete")) teamName = string.Empty; match = match.Remove(league.Match(match).Index, teamName.Length); RDN.Portable.Classes.League.Classes.League l = new RDN.Portable.Classes.League.Classes.League(); l.Website = website; l.Name = teamName; profile.Leagues.Add(l); if (!profile.DerbyName.Contains("Expletive Deleted")) profiles.Add(profile); } foreach (var pr in profiles) { try { Console.WriteLine("teamName:" + pr.DerbyName); var dc = new ManagementContext(); Guid skaterId = new Guid(); Guid teamId = new Guid(); if (pr.Leagues.FirstOrDefault() != null) { var team = dc.LeaguesForTwoEvils.Where(x => x.Name.ToLower() == pr.Leagues.FirstOrDefault().Name.ToLower()).FirstOrDefault(); var teamRoster = dc.LeaguesForDerbyRoster.Where(x => x.Name.ToLower() == pr.Leagues.FirstOrDefault().Name.ToLower()).FirstOrDefault(); if (team == null) { TwoEvilsProfile skater = new TwoEvilsProfile(); skater.Date = pr.Leagues.FirstOrDefault().Website; skater.Name = pr.DerbyName; skater.Number = pr.PlayerNumber; dc.ProfilesForTwoEvils.Add(skater); TwoEvilsLeague leagueDb = new TwoEvilsLeague(); if (pr.Leagues.FirstOrDefault().Name.Length > 0) { leagueDb.Name = pr.Leagues.FirstOrDefault().Name; leagueDb.Skaters.Add(skater); dc.LeaguesForTwoEvils.Add(leagueDb); } if (teamRoster != null) { teamRoster.Skaters.Add(skater); } dc.SaveChanges(); skaterId = skater.ProfileId; teamId = leagueDb.TeamId; } else { TwoEvilsProfile skater = new TwoEvilsProfile(); skater.Date = pr.Leagues.FirstOrDefault().Website; skater.Name = pr.DerbyName; skater.Number = pr.PlayerNumber; dc.ProfilesForTwoEvils.Add(skater); team.Skaters.Add(skater); if (teamRoster != null) { teamRoster.Skaters.Add(skater); } dc.SaveChanges(); teamId = team.TeamId; skaterId = skater.ProfileId; } if (skaterId != new Guid()) { // http://rdnation.com/roller-derby-skater/A-LO/5cb2bdb641f747f39d1745286d6a1561 string url = "http://rdnation.com/roller-derby-skater/1/" + RDN.Utilities.Strings.StringExt.ToSearchEngineFriendly(pr.DerbyName) + "/" + skaterId.ToString().Replace("-", ""); SitemapHelper.AddNode(url, false); } if (teamId != new Guid()) { //http://rdnation.com/roller-derby-league/San-Diego-Roller-Derby/99121fbf301f4c2fb4beb5c13d011088 string url = "http://rdnation.com/roller-derby-league/1/" + RDN.Utilities.Strings.StringExt.ToSearchEngineFriendly(pr.Leagues.FirstOrDefault().Name) + "/" + teamId.ToString().Replace("-", ""); SitemapHelper.AddNode(url, false); } } } catch { } } }
public static CalendarEventPortable DisplayBirthday(MemberDisplay member) { CalendarEventPortable calEvent = new CalendarEventPortable(); try { calEvent.EventType.EventType = CalendarEventTypeEnum.Birthday; calEvent.Name = member.DerbyName + " Birthday"; calEvent.NameUrl = ServerConfig.WEBSITE_DEFAULT_LOCATION + "/roller-derby-birthday/" + RDN.Utilities.Strings.StringExt.ToSearchEngineFriendly(member.DerbyName) + "/" + member.MemberId.ToString().Replace("-", ""); calEvent.CalendarItemId = member.MemberId; DateTime dt = new DateTime(DateTime.UtcNow.Year, member.DOB.Month, member.DOB.Day); calEvent.StartDate = dt; calEvent.StartDateDisplay = dt.ToShortDateString(); calEvent.EndDate = dt; calEvent.EndDateDisplay = dt.ToShortDateString(); } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } return calEvent; }