コード例 #1
0
        public JsonResult <IUIModule> GetUIModuleContent(string moduleName)
        {
            IUIModule module = TemplateCache.GetByName <IUIModule>(moduleName);

            if (module != null)
            {
                return(Json(module));
            }

            return(null);
        }
コード例 #2
0
        public string RemoveUIModuleContent(string moduleName, int location)
        {
            ApplicationUser user = UserManager.FindById(User.Identity.GetUserId());

            Data.Players.Account account = user.GameAccount;

            if (account == null)
            {
                return("Invalid Account.");
            }

            List <Tuple <IUIModule, int> > modules = account.Config.UIModules.ToList();

            if (moduleName == "**anymodule**" && location != -1)
            {
                if (modules.Any(mod => mod.Item2.Equals(location)))
                {
                    Tuple <IUIModule, int> moduleTuple = modules.FirstOrDefault(mod => mod.Item2.Equals(location));
                    modules.Remove(moduleTuple);
                }
            }
            else
            {
                IUIModule module = TemplateCache.GetByName <IUIModule>(moduleName);

                if (module == null)
                {
                    return("Invalid Module.");
                }

                if ((location < 1 && location != -1) || location > 4)
                {
                    return("Invalid Location");
                }

                Tuple <IUIModule, int> moduleTuple = new Tuple <IUIModule, int>(module, location);

                //Remove this module
                if (modules.Any(mod => mod.Item1.Equals(module) && mod.Item2.Equals(location)))
                {
                    modules.Remove(moduleTuple);
                }
            }

            account.Config.UIModules = modules;
            account.Config.Save(account, StaffRank.Player);

            return("Success");
        }
コード例 #3
0
        public string SaveUIModuleContent(string moduleName, int location)
        {
            ApplicationUser user = UserManager.FindById(User.Identity.GetUserId());

            Data.Players.Account account = user.GameAccount;

            if (account == null)
            {
                return("Invalid Account.");
            }

            IUIModule module = TemplateCache.GetByName <IUIModule>(moduleName);

            if (module == null)
            {
                return("Invalid Module.");
            }

            if ((location < 1 && location != -1) || location > 4)
            {
                return("Invalid Location");
            }

            List <Tuple <IUIModule, int> > modules     = account.Config.UIModules.ToList();
            Tuple <IUIModule, int>         moduleTuple = new Tuple <IUIModule, int>(module, location);

            //Remove this module
            if (modules.Any(mod => mod.Item1.Equals(module)))
            {
                modules.Remove(moduleTuple);
            }

            //Remove the module in its place
            if (location != -1 && modules.Any(mod => mod.Item2.Equals(location)))
            {
                modules.RemoveAll(mod => mod.Item2.Equals(location));
            }

            //Add it finally
            modules.Add(moduleTuple);

            account.Config.UIModules = modules;

            account.Config.Save(account, StaffRank.Player);

            return("Success");
        }
コード例 #4
0
        public ActionResult AddViewNotification(AddViewNotificationViewModel vModel)
        {
            string          message    = string.Empty;
            string          userId     = User.Identity.GetUserId();
            ApplicationUser authedUser = UserManager.FindById(userId);

            try
            {
                if (string.IsNullOrWhiteSpace(vModel.Body) || string.IsNullOrWhiteSpace(vModel.Subject))
                {
                    message = "You must include a valid body and subject.";
                }
                else
                {
                    if (string.IsNullOrWhiteSpace(vModel.RecipientAccount))
                    {
                        message = "You must include a valid recipient.";
                    }
                    else
                    {
                        IAccount recipient = Account.GetByHandle(vModel.RecipientAccount);

                        if (recipient == null || recipient.Config.Acquaintences.Any(acq => acq.IsFriend == false && acq.PersonHandle.Equals(authedUser.GameAccount.GlobalIdentityHandle)))
                        {
                            message = "You must include a valid recipient.";
                        }
                        else
                        {
                            PlayerMessage newMessage = new PlayerMessage
                            {
                                Body             = vModel.Body,
                                Subject          = vModel.Subject,
                                Sender           = authedUser.GameAccount,
                                RecipientAccount = recipient
                            };

                            IPlayerTemplate recipientCharacter = TemplateCache.GetByName <IPlayerTemplate>(vModel.Recipient);

                            if (recipientCharacter != null)
                            {
                                newMessage.Recipient = recipientCharacter;
                            }

                            //messages come from players always here
                            if (newMessage.Save(authedUser.GameAccount, StaffRank.Player))
                            {
                                message = "Successfully sent.";
                            }
                            else
                            {
                                LoggingUtility.Log("Message unsuccessful.", LogChannels.SystemWarnings);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                LoggingUtility.LogError(ex, LogChannels.SystemWarnings);
            }

            return(RedirectToAction("Notifications", new { Message = message }));
        }