void SetAdditionalAttribute(List <float[]> data) { AdditionalAttribute = new List <global::AdditionalModel>(); for (int i = 0; i < data.Count; i++) { var additiona = new AdditionalModel(data[i]); AdditionalAttribute.Add(additiona); } }
public async Task<Result<List<AdditionalModel>>> GetBatchAdditional(List<string> ids) { bool ok = false; string message = ""; List<AdditionalModel> result = new List<AdditionalModel>(); try { var queryOptions = new QueryRequestOptions { PartitionKey = new PartitionKey(_partitionId), MaxItemCount = ids.Count }; var change = ""; foreach(var item in ids) { change += "'" + item + "',"; } change = change.Remove(change.Length - 1); var query = $"select * from d where ARRAY_CONTAINS([" + change + "], d.id)"; using (FeedIterator<UserPrivateDataModel> feedIterator = RepositoryContainer.GetItemQueryIterator<UserPrivateDataModel>( query, null, queryOptions)) { while (feedIterator.HasMoreResults) { foreach (var item in await feedIterator.ReadNextAsync()) { AdditionalModel modelAdd = new AdditionalModel(); modelAdd.Id = item.id; modelAdd.Scopes = item.Scopes; modelAdd.Tenants = item.Tenants; modelAdd.Block = item.Block; modelAdd.ValidEmail = item.ValidEmail; result.Add(modelAdd); } } } ok = true; } catch (CosmosException ex) { message = ex.Message; } catch (Exception ex) { message = ex.Message; } return _result.Create(ok, message, result); }
/// <summary> /// 是否满足使用/装备条件 /// </summary> /// <param name="character"></param> /// <returns></returns> public bool IsWear(UnitModel character) { AdditionalModel model = null; for (int i = 0; i < needAttribute.data.Count; i++) { model = needAttribute.data[i]; if (character[(DataEnum)model.Type] < model.value) { return(false); } } for (int i = 0; i < needAttribute.attribute.Count; i++) { model = needAttribute.attribute[i]; if (character[(AttributeEnum)model.Type] < model.value) { return(false); } } for (int i = 0; i < needAttribute.resistance.Count; i++) { model = needAttribute.resistance[i]; if (character[(ResistanceEnum)model.Type] < model.value) { return(false); } } for (int i = 0; i < needAttribute.skill.Count; i++) { model = needAttribute.skill[i]; if (character[(skillEnum)model.Type] < model.value) { return(false); } } return(true); }
public async Task<Result<AdditionalModel>> GetAdditional(string id) { bool ok = false; string message = ""; AdditionalModel result = new AdditionalModel(); try { var queryOptions = new QueryRequestOptions { PartitionKey = new PartitionKey(_partitionId), MaxItemCount = 1 }; var key = new PartitionKey(_partitionId); UserPrivateDataModel model = await RepositoryContainer.ReadItemAsync<UserPrivateDataModel>(id, key, new ItemRequestOptions { }); if(model != null) { result.Scopes = model.Scopes; result.Tenants = model.Tenants; result.ValidEmail = model.ValidEmail; result.Block = model.Block; } ok = true; } catch (CosmosException ex) { message = ex.Message; } catch (Exception ex) { message = ex.Message; } return _result.Create(ok, message, result); }