public Address(string name, string street, int number, KeyValueEntity country) { Name = name; Street = street; Number = number; Country = country; }
public KeyValueModel(KeyValueEntity entry) { Key = entry.RowKey; ETag = entry.ETag; Value = entry.Value; Override = entry.Override; IsDuplicated = entry.IsDuplicated; UseNotTaggedValue = entry.UseNotTaggedValue; IsUsedInRepository = entry.RepositoryNames != null && entry.RepositoryNames.Length > 0; Types = entry.Types; RepositoryNames = entry.RepositoryNames; Tag = entry.Tag; EmptyValueType = entry.EmptyValueType; HasFullAccess = entry.HasFullAccess; IsJsonType = entry?.Types != null && (entry.Types.Contains(KeyValueTypes.Json) || entry.Types.Contains(KeyValueTypes.JsonArray)); MustGenerateValue = entry?.Types != null && entry.Types.Any(t => _mustBeGeneratedTypes.Contains(t)); }
private List <KeyValuePair <Guid, object> > GetTopFields(string topEntityName, string topEntityReferenceIdName, string resultFieldName) { XDocument xDocument = new XDocument ( new XElement("fetch", new XElement("entity", new XAttribute("name", topEntityName), new XElement("attribute", new XAttribute("name", topEntityReferenceIdName), new XAttribute("alias", "key")), new XElement("attribute", new XAttribute("name", resultFieldName), new XAttribute("alias", "value")) ) ) ); List <KeyValuePair <Guid, object> > resultById = KeyValueEntity <Guid, object> .GetAll(_dynamicsCrmConnection, xDocument, topEntityName, topEntityReferenceIdName); return(resultById); }
/// <summary> /// 数据格式:1|男;2|女 /// </summary> /// <param name="comboData"></param> /// <returns></returns> public static IList <KeyValueEntity> TranslateData(string comboData, char firstSplitChar, char secondSplitChar) { string[] arr = comboData.Split(firstSplitChar); //JArray jarr = new JArray(); List <KeyValueEntity> list = new List <KeyValueEntity>(); foreach (string item in arr) { string[] strArr = item.Split(secondSplitChar); KeyValueEntity entity = new KeyValueEntity(); entity.code = strArr[0]; entity.name = strArr[1]; list.Add(entity); } return(list); //return JsonConvert.SerializeObject(list); }
public HttpResponseMessage SetEntity([FromBody] KeyValueEntity item) { try { var db = new RedisOperation(_RedisDB); bool result = db.Insert(item.Key, item.Value); return(Request.CreateResponse(HttpStatusCode.OK, new ResponseModel { Code = result ? ResponseCode.Success : ResponseCode.Fail, Message = result ? "success" : "fail" })); } catch (Exception ex) { return(Request.CreateResponse(HttpStatusCode.OK, new ResponseModel { Code = ResponseCode.Fail, Message = "fail:" + ex.Message })); } }
/// <summary> /// REST @POST 方法 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="methodURL"></param> /// <param name="jsonBody"></param> /// <returns></returns> public static T doPostWidthDict <T>(string methodURL, Dictionary <string, object> jsonBody) { List <KeyValueEntity> keyValueList = new List <KeyValueEntity>(); foreach (KeyValuePair <string, object> item in jsonBody) { KeyValueEntity e1 = new KeyValueEntity() { Key = item.Key.ToString(), Value = item.Value, }; keyValueList.Add(e1); } string json = JsonConvert.SerializeObject(keyValueList); HttpWebRequest request = (HttpWebRequest)WebRequest.Create( string.Format( "{0}{1}", restFulServer_URL, methodURL)); request.Method = "POST"; request.ContentType = "application/json;charset=UTF-8"; var stream = request.GetRequestStream(); using (var writer = new StreamWriter(stream)) { writer.Write(json); writer.Flush(); } HttpWebResponse response = (HttpWebResponse)request.GetResponse(); string resJson = getResponseString(response); return(JsonConvert.DeserializeObject <T>(resJson)); }
public static T doPostWidthClass <T>(string methodURL, object jsonBody) { List <KeyValueEntity> keyValueList = new List <KeyValueEntity>(); foreach (PropertyInfo pi in jsonBody.GetType().GetProperties()) { KeyValueEntity e1 = new KeyValueEntity() { Key = pi.Name, Value = pi.GetValue(jsonBody, null).ToString(), }; keyValueList.Add(e1); } string json = JsonConvert.SerializeObject(keyValueList); HttpWebRequest request = (HttpWebRequest)WebRequest.Create( string.Format( "{0}{1}", restFulServer_URL, methodURL)); request.Method = "POST"; request.ContentType = "application/json;charset=UTF-8"; var stream = request.GetRequestStream(); using (var writer = new StreamWriter(stream)) { writer.Write(json); writer.Flush(); } HttpWebResponse response = (HttpWebResponse)request.GetResponse(); string resJson = getResponseString(response); return(JsonConvert.DeserializeObject <T>(resJson)); }
public async Task <ApiOverrideModel> Put([FromBody] KeyValueToUpdate entity) { try { var keyValues = await _keyValuesRepository.GetKeyValuesAsync(); var keyValue = keyValues.FirstOrDefault(x => x.RowKey == entity.RowKey); if (keyValue == null) { return(new ApiOverrideModel { Status = UpdateSettingsStatus.NotFound }); } var duplicatedKeys = keyValues.Where(x => x.RowKey != keyValue.RowKey && x.Value == entity.Value).ToList(); if (entity.Forced == false && IS_PRODUCTION) { if (duplicatedKeys.Count > 0) { return(new ApiOverrideModel { Status = UpdateSettingsStatus.HasDuplicated, DuplicatedKeys = duplicatedKeys.Select(x => x.RowKey) }); } } var keyValueEntity = new KeyValueEntity { RowKey = keyValue.RowKey, Value = entity.Value, IsDuplicated = duplicatedKeys.Count > 0, Override = keyValue.Override, Types = keyValue.Types, RepositoryNames = keyValue.RepositoryNames, EmptyValueType = keyValue.EmptyValueType }; var entitiesToUpload = new List <IKeyValueEntity>() { keyValueEntity }; if (duplicatedKeys.Any()) { var duplicationsToUpload = duplicatedKeys.Where(x => !x.IsDuplicated.HasValue || !x.IsDuplicated.Value); duplicationsToUpload.ToList().ForEach(item => { item.IsDuplicated = true; entitiesToUpload.Add(item); }); } var oldDuplications = keyValues.Where(x => x.RowKey != keyValue.RowKey && x.Value == keyValue.Value); if (oldDuplications.Count() == 1) { var oldDuplication = oldDuplications.First(); oldDuplication.IsDuplicated = false; entitiesToUpload.Add(oldDuplication); } var result = await _keyValuesRepository.UpdateKeyValueAsync(entitiesToUpload); string strObj = JsonConvert.SerializeObject(keyValues); await _keyValueHistoryRepository.SaveKeyValueHistoryAsync( keyValueEntity?.RowKey, keyValueEntity?.Value, strObj, UserInfo.UserEmail, UserInfo.Ip); var updatedKeyValues = await _keyValuesRepository.GetKeyValuesAsync(); return(new ApiOverrideModel { Status = result ? UpdateSettingsStatus.Ok : UpdateSettingsStatus.InternalError, KeyValues = updatedKeyValues }); } catch (Exception ex) { _log.Error(ex, context: entity); return(new ApiOverrideModel { Status = UpdateSettingsStatus.InternalError }); } }
private async Task <List <KeyValueEntity> > InitKeyValuesAsync( IRepository repositoryEntity, IEnumerable <KeyValue> placeholders, string repositoryTag, string keyRepoName, bool isCreate) { var keyValues = new List <KeyValueEntity>(); // save key values history foreach (var keyValue in placeholders) { if (!string.IsNullOrEmpty(repositoryTag)) { if (isCreate) { var baseKeyValueEntity = await _keyValuesRepository.GetKeyValueAsync(keyValue.RowKey); if (baseKeyValueEntity?.RepositoryNames != null && baseKeyValueEntity.RepositoryNames.Contains(repositoryEntity?.OriginalName)) { keyValue.UseNotTaggedValue = true; } } else { keyValue.UseNotTaggedValue = false; } keyValue.RowKey = repositoryTag + "-" + keyValue.RowKey; keyValue.Tag = repositoryTag; } var keyValueEntity = await _keyValuesRepository.GetKeyValueAsync(keyValue.RowKey); if (keyValueEntity == null) { keyValueEntity = new KeyValueEntity { RowKey = keyValue.RowKey, RepositoryNames = new[] { keyRepoName }, Value = keyValue.Value, }; } else if (keyValueEntity.RepositoryNames == null) { keyValueEntity.RepositoryNames = new[] { keyRepoName }; } else if (keyValueEntity.RepositoryNames != null && !keyValueEntity.RepositoryNames.Contains(keyRepoName)) { var repositoryIds = keyValueEntity.RepositoryNames.ToList(); repositoryIds.Add(keyRepoName); keyValueEntity.RepositoryNames = repositoryIds.ToArray(); } keyValueEntity.Types = keyValue.Types; keyValueEntity.RepositoryId = repositoryEntity.RowKey; keyValueEntity.Tag = keyValue.Tag; if (!keyValueEntity.UseNotTaggedValue.HasValue) { keyValueEntity.UseNotTaggedValue = keyValue.UseNotTaggedValue; } keyValues.Add(keyValueEntity as KeyValueEntity); } return(keyValues); }