public static Models.Quest Load(Models.Quest qst, GomObject obj) { if (obj == null) { return(qst); } if (qst == null) { return(null); } qst.Fqn = obj.Name; qst.NodeId = obj.Id; var textMap = (Dictionary <object, object>)obj.Data.ValueOrDefault <Dictionary <object, object> >("locTextRetrieverMap", null); qst.TextLookup = textMap; long questGuid = obj.Data.ValueOrDefault <long>("qstQuestDefinitionGUID", 0); qst.Id = (ulong)(questGuid >> 32); qst.RequiredLevel = (int)obj.Data.ValueOrDefault <long>("qstReqMinLevel", 0); qst.IsRepeatable = obj.Data.ValueOrDefault <bool>("qstIsRepeatable", false); qst.XpLevel = (int)obj.Data.ValueOrDefault <long>("qstXpLevel", 0); qst.Difficulty = QuestDifficultyExtensions.ToQuestDifficulty((ScriptEnum)obj.Data.ValueOrDefault <ScriptEnum>("qstDifficulty", null)); qst.CanAbandon = obj.Data.ValueOrDefault <bool>("qstAllowAbandonment", false); qst.Icon = obj.Data.ValueOrDefault <string>("qstMissionIcon", null); qst.IsHidden = obj.Data.ValueOrDefault <bool>("qstIsHiddenQuest", false); qst.IsClassQuest = obj.Data.ValueOrDefault <bool>("qstIsClassQuest", false); qst.IsBonus = obj.Data.ValueOrDefault <bool>("qstIsBonusQuest", false); qst.BonusShareable = obj.Data.ValueOrDefault <bool>("qstIsBonusQuestShareable", false); qst.CategoryId = obj.Data.ValueOrDefault <long>("qstCategoryDisplayName", 0); qst.Category = QuestCategoryExtensions.ToQuestCategory(qst.CategoryId); LoadBranches(qst, obj); var items = (List <object>)obj.Data.ValueOrDefault <List <object> >("qstItemVariableDefinition_ProtoVarList", null); var bools = (List <object>)obj.Data.ValueOrDefault <List <object> >("qstSimpleBoolVariableDefinition_ProtoVarList", null); var strings = (List <object>)obj.Data.ValueOrDefault <List <object> >("qstStringIdVariableDefinition_ProtoVarList", null); LoadRequiredClasses(qst, obj); long nameId = questGuid + 0x58; var nameLookup = (GomObjectData)textMap[nameId]; qst.Name = StringTable.TryGetString(qst.Fqn, nameLookup); if (qst.Name.StartsWith("CUT", StringComparison.InvariantCulture)) { qst.IsHidden = true; } TorLib.Icons.AddCodex(qst.Icon); return(qst); }
/// <summary> /// Updates existing document /// </summary> /// <param name="quest">Quest object</param> /// <returns></returns> public async Task <bool> Update(Models.Quest quest) { var response = await _client.UpdateAsync(new DocumentPath <Models.Quest>(quest), u => u.Index( "quest" ).Doc(quest)); if (response.IsValid) { return(true); } return(false); }
public static kcvModels.Raw.kcsapi_quest ToKcvApi(this Models.Quest quest) { return(new kcvModels.Raw.kcsapi_quest { api_no = quest.Id, api_category = quest.Category, api_type = quest.Type, api_title = quest.Title, api_detail = quest.Detail }); }
public async Task <IHttpActionResult> Put(Models.Quest quest) { if (!ModelState.IsValid) { return(BadRequest()); } var esClient = new ESClient.Client( ); var result = await esClient.Update(quest); return(Ok(result)); }
public async Task <IHttpActionResult> Post(Models.Quest quest) { if (!ModelState.IsValid) { return(BadRequest( )); } if (quest.Id == Guid.Empty) { quest.Id = Guid.NewGuid( ); } var esClient = new ESClient.Client(); var result = await esClient.Add(quest); return(Ok(result)); }
public JsonResult SalvaQuest(Models.Quest quest) { using (var db = new LojaDataContext()) { var questData = new Lojaonline.DATA.Quest { DATA = DateTime.Now, ID_LOJA = quest.idLoja, REACT = quest.react, ID_FOTO = quest.idFoto, LIKE = quest.like, OPTION = quest.opt }; db.Quests.InsertOnSubmit(questData); db.SubmitChanges(); } return(Json("")); }
/// <summary> /// Adds a document to the index /// </summary> /// <param name="quest">Quest object</param> /// <returns></returns> public async Task <bool> Add(Models.Quest quest) { var response = await _client.IndexAsync(quest, idx => idx.Index("quest")); return(response.Created); }
public static ViewModels.QuestViewModelEx ToViewModels(this Models.Quest quest) { return(new ViewModels.QuestViewModelEx(quest.ToKcvModels())); }
public static kcvModels.Quest ToKcvModels(this Models.Quest quest) { return(new kcvModels.Quest(quest.ToKcvApi())); }