public ActionResult Setup(RegisterLeague model)
        {
            try
            {
                Dictionary<int, string> countries = LocationFactory.GetCountriesDictionary();

                //league.Federations = federations.Select(item => new SelectListItem { Text = item.Value, Value = item.Key.ToString() }).ToList();
                model.Countries = countries.Select(item => new SelectListItem { Text = item.Value, Value = item.Key.ToString() }).ToList();

                if (model.LeagueId != new Guid())
                {
                    var memberId = RDN.Library.Classes.Account.User.GetMemberId();
                    //updates the league and attaches the owner to it.
                    bool isUpdated = RDN.Library.Classes.League.LeagueFactory.UpdateLeagueForOwner(model.LeagueId, model.Name, model.Email, model.PhoneNumber, model.City, Convert.ToInt32(model.Country), model.State, model.TimeZone);

                    // RDN.Library.Classes.League.League.AttachOwnerToLeague(model.LeagueId, memberId);
                    RDN.Library.Classes.Account.User.AddMemberToLeague(memberId, model.LeagueId);

                    model.Updated = true;
                    MemberCache.Clear(memberId);
                    MemberCache.ClearApiCache(memberId);
                }
                else
                {
                    var memberId = RDN.Library.Classes.Account.User.GetMemberId();
                    var errors = RDN.Library.Classes.League.LeagueFactory.CreateLeague((new Guid()).ToString(), model.Name, model.PhoneNumber, model.Email, string.Empty, model.Country, model.State, model.City, model.TimeZone);
                    if (errors.Count == 0)
                    {
                        model.Created = true;
                        MemberCache.Clear(memberId);
                        MemberCache.ClearApiCache(memberId);
                    }
                    else
                    {
                        model.Created = false;
                    }
                }
            }
            catch (Exception exception)
            {
                ErrorDatabaseManager.AddException(exception, GetType());
                return View(model);
            }

            return View(model);
        }
        public ActionResult Setup(string id, string name)
        {
            try
            {
                //Dictionary<Guid, string> federations = Federation.GetFederations();
                Dictionary<int, string> countries = LocationFactory.GetCountriesDictionary();

                RegisterLeague league = new RegisterLeague();
                //league.Federations = federations.Select(item => new SelectListItem { Text = item.Value, Value = item.Key.ToString() }).ToList();
                league.Countries = countries.Select(item => new SelectListItem { Text = item.Value, Value = item.Key.ToString() }).ToList();
                league.Name = name;
                if (!String.IsNullOrEmpty(id))
                {
                    var leagueDb = RDN.Library.Classes.League.LeagueFactory.GetLeague(new Guid(id));
                    if (leagueDb.LeagueMembers.Where(x => x.LeagueOwnersEnum.HasFlag(LeagueOwnersEnum.Manager) || x.LeagueOwnersEnum.HasFlag(LeagueOwnersEnum.Manager)).Count() > 0)
                        return View(league);
                    league.LeagueId = leagueDb.LeagueId;
                    league.Name = leagueDb.Name;
                    league.Email = leagueDb.Email;
                    league.PhoneNumber = leagueDb.PhoneNumber;
                    league.City = leagueDb.City;
                    league.State = leagueDb.State;
                    if (!String.IsNullOrEmpty(leagueDb.Country))
                    {
                        var cou = league.Countries.Where(x => x.Value == leagueDb.CountryId.ToString()).FirstOrDefault();
                        if (cou != null)
                            league.Countries.Where(x => x.Value == leagueDb.CountryId.ToString()).FirstOrDefault().Selected = true;
                    }
                    else
                        league.Country = leagueDb.Country;

                    if (leagueDb.TimeZone != 0)
                    {
                        league.TimeZones.Where(x => x.Value == leagueDb.TimeZone.ToString("N0")).FirstOrDefault().Selected = true;
                    }


                    league.TimeZone = leagueDb.TimeZone;

                }

                return View(league);
            }
            catch (Exception exception)
            {
                ErrorDatabaseManager.AddException(exception, exception.GetType());
            }
            return Redirect(Url.Content("~/"));
        }