Esempio n. 1
0
        public static void DisplayTo(Mobile user, DonationProfile profile, bool refreshOnly, string node)
        {
            var info = EnumerateInstances <DonationProfileUI>(user).FirstOrDefault(g => g != null && !g.IsDisposed && g.IsOpen);

            if (info == null)
            {
                if (refreshOnly)
                {
                    return;
                }

                info = new DonationProfileUI(user, profile);
            }
            else if (profile != null)
            {
                info.Profile = profile;
            }

            if (!String.IsNullOrWhiteSpace(node))
            {
                info.SelectedNode = node;
            }

            info.Refresh(true);
        }
Esempio n. 2
0
		public static void DisplayTo(Mobile user, DonationProfile profile, bool refreshOnly, string node)
		{
			var info = EnumerateInstances<DonationProfileUI>(user).FirstOrDefault(g => g != null && !g.IsDisposed && g.IsOpen);

			if (info == null)
			{
				if (refreshOnly)
				{
					return;
				}

				info = new DonationProfileUI(user, profile);
			}
			else if (profile != null)
			{
				info.Profile = profile;
			}

			if (!String.IsNullOrWhiteSpace(node))
			{
				info.SelectedNode = node;
			}

			info.Refresh(true);
		}
Esempio n. 3
0
        public static void CheckDonate(Mobile user, bool message = true)
        {
            if (user == null || user.Deleted)
            {
                return;
            }

            if (!CMOptions.ModuleEnabled)
            {
                if (message)
                {
                    user.SendMessage("The donation exchange is currently unavailable, please try again later.");
                }

                return;
            }

            if (!user.Alive)
            {
                if (message)
                {
                    user.SendMessage("You must be alive to do that!");
                }

                return;
            }

            if (Profiles.Status != DataStoreStatus.Idle)
            {
                if (message)
                {
                    user.SendMessage("The donation exchange is busy, please try again in a few moments.");
                }

                return;
            }

            if (CMOptions.CurrencyType == null || CMOptions.CurrencyPrice <= 0)
            {
                if (message)
                {
                    user.SendMessage("Currency conversion is currently disabled, contact a member of staff to handle your donations.");
                }

                return;
            }

            var profile = FindProfile(user.Account);

            if (profile != null)
            {
                var count = profile.Visible.Count();

                if (count == 0)
                {
                    if (message)
                    {
                        user.SendMessage("There are no current donation records for your account.");
                    }
                }
                else
                {
                    if (message)
                    {
                        user.SendMessage("Thank you for your donation{0}, {1}!", count != 1 ? "s" : "", user.RawName);
                    }

                    DonationProfileUI.DisplayTo(user, profile, profile.Visible.FirstOrDefault());
                }
            }
            else if (message)
            {
                user.SendMessage("There are no current donation records for your account.");
            }
        }