Exemplo n.º 1
2
        public JsonResult InsertNewCharacterAJAX(int? gameID, string charName, int? classID, int? factionID, int? level)
        {
            //Do some Validation
            CommitResponse newCharResponse = new CommitResponse();

            if (gameID == null || charName == null || classID == null || factionID == null || level == null)
            {
                newCharResponse.success = false;
                newCharResponse.errorMsg = Errors.INVALID_CHARACTER_INFORMATION;
            }

            if (newCharResponse.success)
            {
                MemCharacter memChar = new MemCharacter()
                {
                    MemberID = MemberInfo.MemberID,
                    CharacterName = charName,
                    ClassID = (int)classID,
                    FactionID = factionID,
                    GameID = (int)gameID,
                    LVL = level
                };

                newCharResponse = charInterface.AddNewCharacter(memChar, new int[0]);
            }

            return new JsonResult() { Data = newCharResponse };
        }
Exemplo n.º 2
1
 public MemCharacterAJAX(MemCharacter memChar)
 {
     this.CharID = memChar.CharacterID;
     this.CharacterName = memChar.CharacterName;
     this.LVL = memChar.LVL;
     this.ClassID = memChar.ClassID;
 }
Exemplo n.º 3
1
        public CommitResponse AddNewCharacter(MemCharacter newMemChar, int[] roleIDs)
        {
            CommitResponse response = new CommitResponse();
            //Validate CharData?

            //Validate Role Data
            if (!ValidateUserRoles(newMemChar.ClassID, roleIDs))
            {
                response.success = false;
                response.errorMsg = Errors.ROLE_IS_NOT_VALID_FOR_CLASS;
            }

            if (response.success)
            {
                newMemChar.CreateDT = DateTime.Now;
                newMemChar.LastModifiedDT = DateTime.Now;

                try
                {
                    // Insert Member Data
                    LeetRaidsDB.MemCharacters.InsertOnSubmit(newMemChar);
                    LeetRaidsDB.SubmitChanges();
                    response.ReturnData = newMemChar;
                    // Insert RoleData
                    CommitResponse rolesResponse = AddRolesForCharacter(newMemChar.CharacterID, roleIDs, newMemChar.ClassID);
                }
                catch (Exception ex)
                {
                    response.success = false;
                    response.errorMsg = Errors.INSERT_CHARACTER_FAILED;
                    if (!Convert.ToBoolean(ConfigurationManager.AppSettings["RETHROW_HANDLED_ERRORS"]))
                    {

                    }
                    else
                    { throw ex; }
                }
            }

            return response;
        }
Exemplo n.º 4
1
        public ActionResult AddCharacter(MemCharacter memChar)
        {
            //MemCharacter memChar = m.Character;
            //TODO: Shit loads MORE serverside validation
            bool valid = true;
            int outLvl = 0;
            valid = Int32.TryParse(memChar.LVL.ToString(), out outLvl);

            //Assert that the current member is editing charater data only for his account
            if (memChar.MemberID != 0 && MemberInfo.MemberID != memChar.MemberID)
            {
                valid = false;
                ModelState.AddModelError("MemberHoax", Errors.CAN_NOT_OPERATE_ON_OTHER_MEMBERS_DATA);
            }

            if (valid)
            {
                int[] roleIDs = (!String.IsNullOrEmpty(Request["RoleID"])) ? Request["RoleID"].Split(new char[] { ',' }).Select(roleID => Convert.ToInt32(roleID)).ToArray() : new int[0];
                // Add Character and Roles
                memChar.MemberID = MemberInfo.MemberID;
                CommitResponse newCharResponse = charInterface.AddNewCharacter(memChar, roleIDs);

                if (newCharResponse.success)
                {
                    TempData[GlobalConst.TEMPDATA_CONFIRMATION_MESSAGE] = memChar.CharacterName + " was successfully added to your account.";
                    return RedirectToAction("Confirmation", "Shared");
                }
                else
                {
                    ModelState.AddModelError("memberNotCreated", newCharResponse.errorMsg);
                }
            }

            AddCharacterModel model = GetAddCharacterModel(memChar.GameID);
            model.Character = memChar;
            //ModelState.AddModelError("memberNotCreated", "Member could not be created.");
            //return RedirectToAction("AddCharacter", new { gameID = memChar.GameID });
            return View(model);
        }
Exemplo n.º 5
1
        public ActionResult EditCharacter(MemCharacter memChar)
        {
            //Assert that the current member is editing charater data only for his account
            bool valid = true;
            if (memChar.MemberID != 0 && MemberInfo.MemberID != memChar.MemberID)
            {
                valid = false;
                ModelState.AddModelError("MemberHoax", Errors.CAN_NOT_OPERATE_ON_OTHER_MEMBERS_DATA);
            }

            //Assert User Selected Some Roles
            int[] roleIDs = (!String.IsNullOrEmpty(Request["RoleID"])) ? Request["RoleID"].Split(new char[] { ',' }).Select(roleID => Convert.ToInt32(roleID)).ToArray() : new int[0];
            if (roleIDs.Length == 0)
            {
                valid = false;
                ModelState.AddModelError("NoRolesSelected", Errors.NO_ROLES_SELECTED);
            }

            memChar.MemberID = (memChar.MemberID != 0) ? memChar.MemberID : MemberInfo.MemberID;

            if (valid)
            {
                CommitResponse editCharResponse = charInterface.EditCharacter(memChar);
                if (editCharResponse.success)
                {
                    CommitResponse roleUpdate;
                    if (charInterface.ValidateUserRoles(memChar.ClassID, roleIDs))
                    {
                        charInterface.DeleteRolesForCharacter(memChar.CharacterID);
                        roleUpdate = charInterface.AddRolesForCharacter(memChar.CharacterID, roleIDs, memChar.ClassID);
                    }
                    else
                    {
                        roleUpdate = new CommitResponse() { success = false };
                        ModelState.AddModelError("RoleInvalid", Errors.ROLE_IS_NOT_VALID_FOR_CLASS);
                    }

                    if (roleUpdate.success)
                    {
                        TempData[GlobalConst.TEMPDATA_CONFIRMATION_MESSAGE] = "Character was successfully edited.";
                        return RedirectToAction("Confirmation", "Shared");
                    }
                }
                else
                {
                    ModelState.AddModelError("EditFailed", Errors.EDIT_CHARACTER_FAILED);
                }
            }

            //return RedirectToAction("EditCharacter", new { id = memChar.CharacterID });
            return View(memChar);
        }
Exemplo n.º 6
0
        public CommitResponse EditCharacter(MemCharacter memChar)
        {
            CommitResponse response = new CommitResponse();
            //Make sure the User is only editing a character that he owns already.
            if (!CharacterBelongsToMember(memChar.MemberID, memChar.CharacterID))
            {
                response.success = false;
                response.errorMsg = Errors.CAN_NOT_OPERATE_ON_OTHER_MEMBERS_CHARACTER;
            }

            if (response.success)
            {
                memChar.LastModifiedDT = memChar.LastModifiedDT = DateTime.Now;
                MemCharacter editMemChar = (from eMemChar in LeetRaidsDB.MemCharacters
                                            where eMemChar.CharacterID == memChar.CharacterID
                                            select eMemChar).Single();

                editMemChar.CharacterName = memChar.CharacterName;
                editMemChar.ClassID = memChar.ClassID;
                editMemChar.FactionID = memChar.FactionID;
                //editMemChar.GameID = memChar.GameID;
                editMemChar.LVL = memChar.LVL;
                //editMemChar.RegionID = memChar.RegionID;
                editMemChar.ServerID = memChar.ServerID;
                //How the f**k to handle roles

                LeetRaidsDB.SubmitChanges();
            }

            return response;
        }