public static LeagueBase SaveLeagueEdit(Guid memId, Guid uid, LeagueBase league)
 {
     var response = Network.SendPackage(Network.ConvertObjectToStream(new MemberPassParams() { Mid = memId, Uid = uid, Item = league }), MobileConfig.LEAGUE_EDIT_SAVE_URL);
     var stream = response.GetResponseStream();
     StreamReader read = new StreamReader(stream);
     string json = read.ReadToEnd();
     return Json.DeserializeObject<LeagueBase>(json);
 }
        public ActionResult EditLeague()
        {
            try
            {
                if (HttpContext.Request.InputStream != null)
                {
                    Stream stream = HttpContext.Request.InputStream;
                    var ob = Network.LoadObject<MemberPassParams>(ref stream);
                    var mem = MemberCache.GetMemberDisplay(ob.Mid);
                    if (ob.Uid == mem.UserId)
                    {

                        LeagueBase leag = new LeagueBase();
                        bool isAdmin = MemberCache.IsManagerOrBetterOfLeague(ob.Mid);
                        if (!isAdmin)
                        {
                            leag.IsSuccessful = false;
                            return Json(leag, JsonRequestBehavior.AllowGet);
                        }

                        var league = RDN.Library.Classes.League.LeagueFactory.GetLeague(MemberCache.GetLeagueIdOfMember(ob.Mid));

                        leag.Address = league.Address;
                        leag.ZipCode = league.ZipCode;
                        leag.City = league.City;
                        leag.Country = league.Country;
                        leag.CountryId = league.CountryId;
                        leag.Email = league.Email;
                        leag.Founded = league.Founded;
                        leag.LeagueId = league.LeagueId;
                        leag.Name = league.Name;
                        leag.PhoneNumber = league.PhoneNumber;
                        leag.State = league.State;
                        leag.TimeZone = league.TimeZone;
                        leag.Website = league.Website;
                        leag.Twitter = league.Twitter;
                        leag.Instagram = league.Instagram;
                        leag.Facebook = league.Facebook;
                        leag.RuleSetsPlayedEnum = league.RuleSetsPlayedEnum;
                        leag.CultureSelected = league.CultureSelected;

                        var cultures = CultureInfo.GetCultures(CultureTypes.AllCultures).Where(x => x.Name.Contains("en")).OrderBy(x => x.DisplayName).ToList();
                        for (int i = 0; i < cultures.Count; i++)
                        {
                            Culture c = new Culture();
                            c.Name = cultures[i].DisplayName;
                            c.LCID = cultures[i].LCID;
                            leag.Cultures.Add(c);
                        }
                        leag.IsSuccessful = true;
                        return Json(leag, JsonRequestBehavior.AllowGet);

                    }
                }
            }
            catch (Exception exception)
            {
                ErrorDatabaseManager.AddException(exception, GetType());
            }
            return Json(new LeagueBase() { IsSuccessful = false }, JsonRequestBehavior.AllowGet);
        }
        public EditLeague()
        {
            InitializeComponent();

            progressIndicator = new ProgressIndicator();

            SystemTray.SetProgressIndicator(this, progressIndicator);
            progressIndicator.IsIndeterminate = true;
            progressIndicator.Text = "Pulling League...";
            progressIndicator.IsVisible = true;
            Task.Run(new Action(() =>
            {

                league = LeagueMobile.GetLeagueEdit(SettingsMobile.Instance.User.MemberId, SettingsMobile.Instance.User.LoginId);
                if (league != null && league.IsSuccessful)
                {
                    Dispatcher.BeginInvoke(delegate
                    {
                        try
                        {
                            if (!String.IsNullOrEmpty(league.Name))
                                LeagueName.Text = league.Name;
                            if (!String.IsNullOrEmpty(league.City)) City.Text = league.City;
                            if (!String.IsNullOrEmpty(league.State)) State.Text = league.State;
                            if (!String.IsNullOrEmpty(league.ZipCode)) Zip.Text = league.ZipCode;
                            if (!String.IsNullOrEmpty(league.Country)) Country.Text = league.Country;
                            Founding.Value = league.Founded;
                            if (!String.IsNullOrEmpty(league.PhoneNumber)) Phone.Text = league.PhoneNumber;
                            if (!String.IsNullOrEmpty(league.Email)) Email.Text = league.Email;
                            if (!String.IsNullOrEmpty(league.Website)) Website.Text = league.Website;
                            if (!String.IsNullOrEmpty(league.Instagram)) Instagram.Text = league.Instagram;
                            if (!String.IsNullOrEmpty(league.Twitter)) Twitter.Text = league.Twitter;
                            if (!String.IsNullOrEmpty(league.Facebook)) Facebook.Text = league.Facebook;

                            int index = league.Cultures.IndexOf(league.Cultures.Where(x => x.LCID == league.CultureSelected).FirstOrDefault());
                            Cultures.ItemsSource = league.Cultures;
                            Cultures.SelectedIndex = index;
                            if (league.RuleSetsPlayedEnum.HasFlag(RuleSetsUsedEnum.MADE))
                                MADE.IsChecked = true;
                            if (league.RuleSetsPlayedEnum.HasFlag(RuleSetsUsedEnum.OSDA))
                                OSDA.IsChecked = true;
                            if (league.RuleSetsPlayedEnum.HasFlag(RuleSetsUsedEnum.RDCL))
                                RDCL.IsChecked = true;
                            if (league.RuleSetsPlayedEnum.HasFlag(RuleSetsUsedEnum.Renegade))
                                Renegade.IsChecked = true;
                            if (league.RuleSetsPlayedEnum.HasFlag(RuleSetsUsedEnum.Texas_Derby))
                                TexasDerby.IsChecked = true;
                            if (league.RuleSetsPlayedEnum.HasFlag(RuleSetsUsedEnum.The_WFTDA))
                                WFTDA.IsChecked = true;
                            if (league.RuleSetsPlayedEnum.HasFlag(RuleSetsUsedEnum.USARS))
                                USARS.IsChecked = true;
                            progressIndicator.IsVisible = false;
                        }
                        catch (Exception exception)
                        {
                            ErrorHandler.Save(exception, MobileTypeEnum.WP8);
                        }

                    });
                }

            }));

        }
示例#4
0
        public static bool UpdateLeagueFromMobile(LeagueBase leagueToUpdate)
        {
            try
            {
                var dc = new ManagementContext();
                var league = dc.Leagues.Include("ContactCard").Where(x => x.LeagueId == leagueToUpdate.LeagueId).FirstOrDefault();
                league.Name = leagueToUpdate.Name;
                league.WebSite = leagueToUpdate.Website;
                league.Twitter = leagueToUpdate.Twitter;
                league.Instagram = leagueToUpdate.Instagram;
                league.Facebook = leagueToUpdate.Facebook;
                league.RuleSetsPlayedEnum = (long)leagueToUpdate.RuleSetsPlayedEnum;
                league.CultureLCID = leagueToUpdate.CultureSelected;

                if (leagueToUpdate.Founded != null && leagueToUpdate.Founded != new DateTime() && leagueToUpdate.Founded > DateTime.UtcNow.AddYears(-100))
                    league.Founded = leagueToUpdate.Founded;

                var emailDb = league.ContactCard.Emails.Where(x => x.IsDefault == true).FirstOrDefault();
                if (emailDb != null)
                {
                    emailDb.EmailAddress = leagueToUpdate.Email;
                }
                else
                {
                    Email em = new Email();
                    em.ContactCard = league.ContactCard;
                    em.EmailAddress = leagueToUpdate.Email;
                    em.IsDefault = true;
                    league.ContactCard.Emails.Add(em);
                }
                //int numberType = Convert.ToInt32(CommunicationTypeEnum.PhoneNumber);
                var phone = league.ContactCard.Communications.Where(x => x.CommunicationTypeEnum == (byte)CommunicationTypeEnum.PhoneNumber).FirstOrDefault();
                if (phone != null)
                    phone.Data = leagueToUpdate.PhoneNumber;
                else
                {
                    Communication com = new Communication();
                    com.Data = leagueToUpdate.PhoneNumber;
                    //com.CommunicationType = dc.CommunicationType.Where(x => x.CommunicationTypeId == numberType).FirstOrDefault();
                    com.CommunicationTypeEnum = (byte)CommunicationTypeEnum.PhoneNumber;
                    com.ContactCard = league.ContactCard;
                    com.IsDefault = true;
                    league.ContactCard.Communications.Add(com);
                }

                var addresses = league.ContactCard.Addresses.Where(x => x.IsDefault == true).FirstOrDefault();
                if (addresses == null)
                    if (league.ContactCard.Addresses.Count > 0)
                        addresses = league.ContactCard.Addresses.FirstOrDefault();
                if (addresses == null)
                {
                    addresses = new Address();
                    addresses.ContactCard = league.ContactCard;
                }
                addresses.CityRaw = leagueToUpdate.City;
                addresses.StateRaw = leagueToUpdate.State;
                addresses.Zip = leagueToUpdate.ZipCode;

                var countryDb = dc.Countries.Where(x => x.Name.ToLower() == leagueToUpdate.Country.ToLower()).FirstOrDefault();
                if (countryDb == null)
                    countryDb = dc.Countries.Where(x => x.Code.ToLower() == leagueToUpdate.Country.ToLower()).FirstOrDefault();
                addresses.Country = countryDb;
                var coords = OpenStreetMap.FindLatLongOfAddress(addresses.Address1, addresses.Address2, addresses.Zip, addresses.CityRaw, addresses.StateRaw, addresses.Country != null ? addresses.Country.Name : string.Empty);
                if (coords != null)
                {
                    addresses.Coords = new System.Device.Location.GeoCoordinate();
                    addresses.Coords.Latitude = coords.Latitude;
                    addresses.Coords.Longitude = coords.Longitude;
                    addresses.Coords.Altitude = 0;
                    addresses.Coords.Course = 0;
                    addresses.Coords.HorizontalAccuracy = 1;
                    addresses.Coords.Speed = 0;
                    addresses.Coords.VerticalAccuracy = 1;
                }
                addresses.IsDefault = true;


                int c = dc.SaveChanges();
                return c > 0;
            }
            catch (Exception exception)
            {
                ErrorDatabaseManager.AddException(exception, exception.GetType());
            }
            return false;
        }