public PhotoModel FromDbItem(Dictionary <string, AttributeValue> input) { PhotoId photoId = input.TryGetValue(FieldMappings.Photo.PhotoId, out var photoIdValue) ? PhotoId.FromDbValue(photoIdValue.S) : (PhotoId)Guid.Empty; var result = new PhotoModel { CreatedTime = input.GetDateTimeOffset(FieldMappings.Photo.CreatedTime), PhotoId = photoId, ObjectKey = input.GetString(FieldMappings.Photo.ObjectKey), State = input.GetValue(FieldMappings.Photo.State, value => (PhotoState)Enum.Parse(typeof(PhotoState), value)), UserId = input.GetValue(FieldMappings.Photo.UserId, value => UserId.FromDbValue(value)), UserName = input.GetString(FieldMappings.Photo.UserName), LikeCount = input.GetInt32(FieldMappings.Photo.LikeCount), CommentCount = input.GetInt32(FieldMappings.Photo.CommentCount), Hashtags = input.GetList(FieldMappings.Photo.Hashtags, value => new HashtagModel { PhotoId = photoId, Hashtag = value }) }; if (input.TryGetValue(FieldMappings.Photo.RawText, out var rawCommentValue)) { result.RawText = rawCommentValue.S; } if (input.TryGetValue(FieldMappings.Photo.Score, out var scoreValue)) { result.Score = double.Parse(scoreValue.N); } if (input.TryGetValue(FieldMappings.Photo.Sizes, out var sizeValues)) { result.Sizes = sizeValues.L.Select(value => { int width; int height; if (!value.M.TryGetValue("Width", out var widthValue) || !int.TryParse(widthValue.S, out width)) { throw new Exception($"Failed to parse '{widthValue.S}' as a Size Width"); } if (!value.M.TryGetValue("Height", out var heightValue) || !int.TryParse(heightValue.S, out height)) { throw new Exception($"Failed to parse '{heightValue.S}' as a Size Height"); } return(new Size(width, height)); }); } return(result); }
public override void Read(Dictionary <string, object> data) { Name = data.GetString("Name"); Description = data.GetString("Description"); Type = data.GetInt32("Type"); TypeClass = data.GetString("TypeClass"); }
/** * 校验请求结果 * * @param response 请求结果 * @return 如果请求结果正常,则返回Exception */ private void CheckResponse(Dictionary <string, object> dic) { if (dic.ContainsKey("error_code")) { throw new Exception(GetToutiaoErrorCode(dic.GetInt32("error_code")).GetDesc()); } }
/** * 获取用户的实际性别。华为系统中,用户的性别:1表示女,0表示男 * * @param object obj * @return AuthUserGender */ private AuthUserGender getRealGender(Dictionary <string, object> userObj) { int genderCodeInt = userObj.GetInt32("gender"); string genderCode = genderCodeInt == 1 ? "0" : (genderCodeInt == 0) ? "1" : genderCodeInt + ""; return(GlobalAuthUtil.GetRealGender(genderCode)); }
/** * 校验请求结果 * * @param response 请求结果 * @return 如果请求结果正常,则返回JSONObject */ private void checkResponse(Dictionary <string, object> dic) { if (dic.ContainsKey("errcode") && dic.GetInt32("errcode") != 0) { throw new Exception($"errcode: {dic.GetString("errcode")}, errmsg: {dic.GetString("errmsg")}"); } }
internal static void DeserializeFacetInfo(FacetBase facet, Dictionary<string, object> facetDict) { if (facetDict.ContainsKey(_FACET_FILTER)) facet.FacetFilter = JsonConvert.DeserializeObject<IFilter>(facetDict.GetString(_FACET_FILTER)); facet.IsScopeGlobal = facetDict.GetBool(_GLOBAL, _GLOBAL_DEFAULT); facet.NestedObject = facetDict.GetStringOrDefault(_NESTED); facet.Size = facetDict.GetInt32(_SIZE, _SIZE_DEFAULT); }
public static void AddItem(IControllerContext context, Dictionary <string, object> parameters) { IProject project = getProject(context); string parent = parameters.GetString("Parent"), name = parameters.GetString("Name"), description = parameters.GetString("Description"); int type = parameters.GetInt32("Type"); IProjectItem item = ProjectManager.Manager.ProjectAddItem(project, parent, type, name, description); context.Response.Write(Json.Serialize(new { result = true, data = item }, getSerializeOptions())); }
public virtual void Read(Dictionary <string, object> data) { IsAbstract = data.GetBool("IsAbstract"); Name = data.GetString("Name"); Description = data.GetString("Description"); IsAbstract = data.GetBool("IsAbstract"); Type = data.GetInt32("Type"); List <object> fields = (List <object>)data.GetValue("Items"); foreach (var fieldItem in fields) { ProjectItemField field = new ProjectItemField(this); field.Read((Dictionary <string, object>)fieldItem); Items.Add(field); } }
private void ReadFieldsDict(Dictionary<string, object> fieldsDict, MatchQueryBase matchQuery) { matchQuery.Analyzer = fieldsDict.GetStringOrDefault(_ANALYZER); matchQuery.CutOffFrequency = fieldsDict.GetDouble(_CUTOFF_FREQUENCY, _CUTOFF_FREQUENCY_DEFAULT); matchQuery.Fuzziness = fieldsDict.GetDouble(_FUZZINESS, _FUZZINESS_DEFAULT); matchQuery.IsLenient = fieldsDict.GetBool(_LENIENT, _LENIENT_DEFAULT); matchQuery.MaximumExpansions = fieldsDict.GetInt32OrNull(_MAX_EXPANSIONS); matchQuery.MinimumShouldMatch = fieldsDict.GetInt32(_MINIMUM_SHOULD_MATCH, _MINIMUM_SHOULD_MATCH_DEFAULT); matchQuery.Operator = OperatorEnum.Find(fieldsDict.GetString(_OPERATOR, _OPERATOR_DEFAULT.ToString())); matchQuery.PrefixLength = fieldsDict.GetInt32(_PREFIX_LENGTH, _PREFIX_LENGTH_DEFAULT); matchQuery.RewriteMethod = RewriteMethodsEnum.Find(fieldsDict.GetString(_REWRITE, "not a real object")); matchQuery.ZeroTerm = ZeroTermsEnum.Find(fieldsDict.GetString(_ZERO_TERMS_QUERY, _ZERO_TERMS_QUERY_DEFAULT.ToString())); matchQuery.QueryName = fieldsDict.GetStringOrDefault(QuerySerializer._QUERY_NAME); }
internal static void DeserializeNumber(NumberProperty number, Dictionary<string, object> fieldDict) { FieldProperty.Deserialize(number, fieldDict); number.PrecisionStep = fieldDict.GetInt32(_PRECISION_STEP, _PRECISION_STEP_DEFAULT); number.DocValues = fieldDict.GetBool(_DOC_VALUES, _DOC_VALUES_DEFAULT); number.IgnoreMalformed = fieldDict.GetBool(_IGNORE_MALFORMED, _IGNORE_MALFORMED_DEFAULT); number.Coerce = fieldDict.GetBool(_COERCE, _COERCE_DEFAULT); }
internal static void DeserializeHighlighterOptions(HighlighterOptions options, Dictionary<string, object> fieldDict) { if(fieldDict == null || !fieldDict.Any()) return; options.BoundaryCharacters = fieldDict.GetString(_BOUNDARY_CHARACTERS, _BOUNDARY_CHARACTERS_DEFAULT); options.BoundaryMaximumScan = fieldDict.GetInt32(_BOUNDARY_MAXIMUM_SCAN, _BOUNDARY_MAXIMUM_SCAN_DEFAULT); options.Encoder = EncoderTypeEnum.Find(fieldDict.GetString(_ENCODER, _ENCODER_DEFAULT.ToString())); options.FragmentSize = fieldDict.GetInt32(_FRAGMENT_SIZE, _FRAGMENT_SIZE_DEFAULT); options.NoMatchSize = fieldDict.GetInt32(_NO_MATCH_SIZE, _NO_MATCH_SIZE_DEFAULT); options.NumberOfFragments = fieldDict.GetInt32(_NUMBER_OF_FRAGMENTS, _NUMBER_OF_FRAGMENTS_DEFAULT); options.PhraseLimit = fieldDict.GetInt32(_PHRASE_LIMIT, _PHRASE_LIMIT_DEFAULT); if(fieldDict.ContainsKey(_POST_TAGS)) options.PostTags = JsonConvert.DeserializeObject<IEnumerable<string>>(fieldDict.GetString(_POST_TAGS)); if(fieldDict.ContainsKey(_PRE_TAGS)) options.PreTags = JsonConvert.DeserializeObject<IEnumerable<string>>(fieldDict.GetString(_PRE_TAGS)); options.RequireFieldMatch = fieldDict.GetBool(_REQUIRE_FIELD_MATCH, _REQUIRE_FIELD_MATCH_DEFAULT); options.TagsSchema = TagsSchemaEnum.Find(fieldDict.GetString(_TAGS_SCHEMA, _TAGS_SCHEMA_DEFAULT.ToString())); options.Type = HighlighterTypeEnum.Find(fieldDict.GetString(_HIGHLIGHTER_TYPE, _HIGHLIGHTER_TYPE_DEFAULT.ToString())); }
private FuzzyQueryBase BuildFuzzyQuery(string fieldName, Dictionary<string, object> fieldDict) { object value = fieldDict[_VALUE]; object fuzziness = null; if (fieldDict.ContainsKey(_FUZZINESS)) fuzziness = fieldDict[_FUZZINESS]; FuzzyQueryBase query = null; if (IsDateTime(value)) { if(fuzziness != null) query = new FuzzyDateQuery(fieldName, DateTime.Parse(value.ToString()), new TimeValue(fuzziness.ToString()).TimeSpan); else query = new FuzzyDateQuery(fieldName, DateTime.Parse(value.ToString())); } else if (IsNumeric(value)) { bool isInteger = false; if (value is Int64 || value is Int32) isInteger = true; if (fuzziness != null && isInteger) { if (isInteger) query = new FuzzyNumberQuery(fieldName, (Int64)value, (Int64)fuzziness); else query = new FuzzyNumberQuery(fieldName, (Double)value, (Double)fuzziness); } else { if (isInteger) query = new FuzzyNumberQuery(fieldName, (Int64)value); else query = new FuzzyNumberQuery(fieldName, (Double)value); } } else { if (fuzziness != null) query = new FuzzyStringQuery(fieldName, value.ToString(), Int32.Parse(fuzziness.ToString())); else query = new FuzzyStringQuery(fieldName, value.ToString()); } query.Boost = fieldDict.GetDouble(QuerySerializer._BOOST, QuerySerializer._BOOST_DEFAULT); query.MaximumExpansions = fieldDict.GetInt32(_MAXIMUM_EXPANSIONS, _MAXIMUM_EXPANSIONS_DEFAULT); query.PrefixLength = fieldDict.GetInt32(_PREFIX_LENGTH, _PREFIX_LENGTH_DEFAULT); query.QueryName = fieldDict.GetStringOrDefault(QuerySerializer._QUERY_NAME); return query; }