private void FillUsualMessageExtraParamsFields(XElement extraParams, GeneralDataModel.Models.Message result) { if (extraParams != null) { result.ChatDialogId = GetExtraParam(extraParams, ExtraParamsList.dialog_id); var dateSent = extraParams.Element(ExtraParams.GetXNameFor(ExtraParamsList.date_sent)); if (dateSent != null) { long longValue; if (long.TryParse(dateSent.Value, out longValue)) { result.DateSent = longValue; } } var stringIntListConverter = new StringIntListConverter(); result.NotificationType = GetNotificationType(extraParams); result.RoomPhoto = GetExtraParam(extraParams, ExtraParamsList.room_photo); result.RoomName = GetExtraParam(extraParams, ExtraParamsList.room_name); result.CurrentOccupantsIds = stringIntListConverter.ConvertToIntList(GetExtraParam(extraParams, ExtraParamsList.current_occupant_ids)); result.AddedOccupantsIds = stringIntListConverter.ConvertToIntList(GetExtraParam(extraParams, ExtraParamsList.added_occupant_ids)); result.DeletedOccupantsIds = stringIntListConverter.ConvertToIntList(GetExtraParam(extraParams, ExtraParamsList.deleted_occupant_ids)); result.ExtraParameters = extraParams; double roomUpdateDate; if (Double.TryParse(GetExtraParam(extraParams, ExtraParamsList.room_updated_date), out roomUpdateDate)) { result.RoomUpdateDate = roomUpdateDate; } var deletedId = GetExtraParam(extraParams, ExtraParamsList.deleted_id); if (deletedId != null) { int deletedIdInt; if (int.TryParse(deletedId, out deletedIdInt)) { result.DeletedId = deletedIdInt; } } } }
private void FillGroupInfoMessageFields(XElement extraParams, GroupInfoMessage groupInfoMessage) { groupInfoMessage.DialogId = GetExtraParam(extraParams, ExtraParamsList.dialog_id); groupInfoMessage.RoomName = GetExtraParam(extraParams, ExtraParamsList.room_name); groupInfoMessage.RoomPhoto = GetExtraParam(extraParams, ExtraParamsList.room_photo); groupInfoMessage.DateSent = GetDateTimeExtraParam(extraParams, ExtraParamsList.date_sent); groupInfoMessage.RoomUpdatedDate = GetDateTimeExtraParam(extraParams, ExtraParamsList.room_updated_date); StringIntListConverter stringIntListConverter = new StringIntListConverter(); groupInfoMessage.CurrentOccupantsIds = stringIntListConverter.ConvertToIntList(GetExtraParam(extraParams, ExtraParamsList.current_occupant_ids)).ToArray(); var dialogType = GetExtraParam(extraParams, ExtraParamsList.type); if (dialogType != null) { int intValue; if (int.TryParse(dialogType, out intValue) && Enum.IsDefined(typeof(DialogType), intValue)) { groupInfoMessage.DialogType = (DialogType)intValue; } } }