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 }; }
public MemCharacterAJAX(MemCharacter memChar) { this.CharID = memChar.CharacterID; this.CharacterName = memChar.CharacterName; this.LVL = memChar.LVL; this.ClassID = memChar.ClassID; }
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; }
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); }
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); }
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; }