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("~/"));
        }
Ejemplo n.º 5
0
        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;
        }
Ejemplo n.º 6
0
        /// <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());
            }
        }
Ejemplo n.º 7
0
        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;
        }
Ejemplo n.º 8
0
        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;
        }
Ejemplo n.º 9
0
 public static MemberDisplay UpdateMemberDisplayForFederation(MemberDisplay mem, Stream fileStream, string nameOfFile)
 {
     UpdateMemberDisplayForFederation(mem);
     AddPrimaryMemberPhoto(mem, fileStream, nameOfFile);
     return mem;
 }
Ejemplo n.º 10
0
        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;
        }
Ejemplo n.º 11
0
        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;
        }
Ejemplo n.º 12
0
        /// <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;
        }
Ejemplo n.º 13
0
        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;
 }
Ejemplo n.º 15
0
        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;
        }
Ejemplo n.º 16
0
        /// <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;
        }
Ejemplo n.º 17
0
        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());
            }
        }
Ejemplo n.º 18
0
 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 });
 }
Ejemplo n.º 19
0
        /// <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());
            }
        }
Ejemplo n.º 20
0
 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
         });
     }
 }
Ejemplo n.º 21
0
 /// <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;
 }
Ejemplo n.º 22
0
        /// <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));
        }
Ejemplo n.º 24
0
        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;
        }
Ejemplo n.º 26
0
 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());
         }
     }
 }
Ejemplo n.º 27
0
        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;
        }
Ejemplo n.º 28
0
        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>(&nbsp;|[a-zA-Z0-9\s�\-\.\'\%\(\),!"#$*/\?:&\+!_=~@\[\]`]+)</td><td>(&nbsp;|[0-9a-zA-Z\s\.\/\-%#:'�$"\+&/\\!_@\>=\?,\)\(\*\^;\]\[~]+(&cent;)?|&times;)</td><td>([0-9\-]+|&nbsp;)</td><td>(&nbsp;|[a-zA-Z\s\(\)0-9/\.':,\-�!_\*\?]+)</td></tr>

            //name: (&nbsp;|[a-zA-Z0-9\s�\-\.\'\%\(\),!"#$*/\?:&\+!_=~@\[\]`]+)
            //number: (&nbsp;|[0-9a-zA-Z\s\.\/\-%#:'�$"\+&/\\!_@\>=\?,\)\(\*\^;\]\[~]+(&cent;)?|&times;)
            // date: ([0-9\-]+|&nbsp;)
            //league: (&nbsp;|[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>(&nbsp;|[a-zA-Z0-9\s�\-\.\'\%\(\),!");
            sb.Append(@"#$*/\?:&\+!_=~@\[\]`]+)</td><td>(&nbsp;|[0-9a-zA-Z\s\.\/\-%#:'�$");
            sb.Append(@"\+&/\\!_@\>=\?,\)\(\*\^;\]\[~]+(&cent;)?|&times;)</td><td>([0-9\-]+|&nbsp;)</td><td>(&nbsp;|[a-zA-Z\s\(\)0-9/\.':,\-�!_\*\?]+)</td></tr>");


            Regex lineItem = new Regex(sb.ToString(), RegexOptions.IgnoreCase | RegexOptions.Compiled);

            Regex name = new Regex(@"(&nbsp;|[a-zA-Z0-9\s�\-\.\'\%\(\),!#$*/\?:&\+!_=~@\[\]`]+)", RegexOptions.IgnoreCase | RegexOptions.Compiled);
            Regex number = new Regex(@"(&nbsp;|[0-9a-zA-Z\s\.\/\-%#:'�$\+&/\\!_@\>=\?,\)\(\*\^;\]\[~]+(&cent;)?|&times;)", RegexOptions.IgnoreCase | RegexOptions.Compiled);
            Regex date = new Regex(@"([0-9\-]+|&nbsp;)", RegexOptions.IgnoreCase | RegexOptions.Compiled);
            Regex league = new Regex(@"(&nbsp;|[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("&nbsp;"))
                    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("&nbsp;"))
                    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("&nbsp;") || 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;
        }