public IActionResult ControlPaymentResponse(PaymentResponseDTO dto) { if (!User.Identity.IsAuthenticated) { return(Unauthorized("You need to be logged in to perform this action")); } string email = User.Identity.Name; var user = _userRepository.GetBy(email); if (user == null) { return(BadRequest("User not found")); } var registration = _registrationRepository.GetLast(email); if (registration == null) { return(BadRequest("No registration found")); } if (registration.Paid) { return(BadRequest("You have already paid for this registration")); } var valid = EncoderHelper.ControlShaSign(_config, dto); registration.Paid = valid; _registrationRepository.Update(registration, email); var route = _routeRepository.GetBy(registration.RouteId); return(Ok(new { TourName = route.TourName, Valid = valid })); }
public ArrayEncoder(IReadOnlyList <Column> children, ColumnMetadata metadata) { _children = children; var child = this._children.FirstOrDefault(); encoder = EncoderHelper.GetEncoder(child.Type, metadata.SubColumns.FirstOrDefault(), child.Children); }
/// <summary> /// 确定对象的指定值是否有效。 /// </summary> /// <param name="value"></param> /// <param name="validationContext"></param> /// <returns></returns> protected override ValidationResult IsValid(object value, ValidationContext validationContext) { if (value == null) { return(base.IsValid(null, validationContext)); } var encodedValue = EncoderHelper.HtmlEncode(value.ToString(), false); if (EncodedStringAndValueAreDifferent(value, encodedValue)) { SetupAllowedStringsDictionary(); foreach (var allowedString in allowedStringsDictionary) { encodedValue = encodedValue.Replace(allowedString.Value, allowedString.Key); } if (EncodedStringAndValueAreDifferent(value, encodedValue)) { return(new ValidationResult(SetErrorMessage(validationContext))); } } if (!string.IsNullOrWhiteSpace(disallowedStrings) && disallowedStrings.Split(',').Select(x => x.Trim()).Any(x => value.ToString().Contains(x))) { return(new ValidationResult(SetErrorMessage(validationContext))); } return(base.IsValid(value, validationContext)); }
public ObjectEncoder(IReadOnlyList <Column> children, Grpc.ColumnMetadata metadata) { this.columnId = metadata.ColumnId; encoders = new IEncoder[children.Count]; propertyGetters = new Func <object, object> [children.Count]; for (int i = 0; i < children.Count; i++) { encoders[i] = EncoderHelper.GetEncoder(children[i].Type, metadata.SubColumns[i], children[i].Children); propertyGetters[i] = children[i].GetFunction; } }
public async Task Query(QueryRequest request, ChannelWriter <Page> channelWriter, ServerCallContext context) { var parameters = ParameterDecoder.DecodeParameters(request.Parameters); QueryResult queryResult; try { queryResult = await _koraliumExecutor.Execute(request.Query, parameters, context.GetHttpContext()); } catch (AuthorizationFailedException authFailed) { throw new RpcException(new Status(StatusCode.Unauthenticated, authFailed.Message)); } var enumerator = queryResult.Result.GetEnumerator(); Page page = new Page() { Metadata = new QueryMetadata() }; foreach (var metadata in queryResult.Metadata) { page.Metadata.CustomMetadata.Add(new KeyValue() { Name = metadata.Key, Value = ScalarEncoder.EncodeScalarResult(metadata.Value) }); } IEncoder[] encoders = new IEncoder[queryResult.Columns.Count]; Func <object, object>[] propertyGetters = new Func <object, object> [encoders.Length]; int indexCounter = 0; for (int i = 0; i < queryResult.Columns.Count; i++) { var column = queryResult.Columns[i]; var columnMetadata = ToMetadata(ref indexCounter, column); encoders[i] = EncoderHelper.GetEncoder(column.Type, columnMetadata, column.Children); propertyGetters[i] = column.GetFunction; page.Metadata.Columns.Add(columnMetadata); } System.Diagnostics.Stopwatch encodeWatch = new System.Diagnostics.Stopwatch(); encodeWatch.Start(); await EncoderHelper.ReadData(_logger, page, encoders, propertyGetters, enumerator, request.MaxBatchSize, channelWriter); encodeWatch.Stop(); _logger.LogTrace($"Encode time: {encodeWatch.ElapsedMilliseconds} ms"); }
public ListEncoder(Column column) { Debug.Assert(column.Children.Count == 1); _getFunc = column.GetFunction; _nullable = column.IsNullable; var child = column.Children.First(); offsetBuilder = new ArrowBuffer.Builder <int>(); _childEncoder = EncoderHelper.GetEncoder(child); _valueType = TypeConverter.Convert(column); nullBitmap = new ArrowBuffer.BitmapBuilder(); }
private void SetupAllowedStringsDictionary() { if (string.IsNullOrWhiteSpace(allowedStrings)) { return; } foreach (var allowedString in allowedStrings.Split(',').Select(x => x.Trim()) .Where(allowedString => !allowedStringsDictionary.ContainsKey(allowedString))) { allowedStringsDictionary.Add(allowedString, EncoderHelper.HtmlEncode(allowedString, false)); } }
public AdvancedSettingsViewModel(AdvancedSettingsModel model, TrackableViewModel parent) : base(parent) { _model = model; videoVeiwModel = ((StreamViewModel)parent).VideoViewModel; var encoders = EncoderHelper.GetVideoEncoders(); VideoEncoders.AddRange(encoders); var encoder = encoders.FirstOrDefault(e => e.Id == _model.EncoderId) ?? encoders.FirstOrDefault(); this.VideoEncoder = encoder; AdjustResolutionCommand = new DelegateCommand(AdjustVideoResolution); }
public ObjectEncoder(Column column) { _getFunc = column.GetFunction; _nullable = column.IsNullable; _type = TypeConverter.Convert(column); _childEncoders = new IArrowEncoder[column.Children.Count]; for (int i = 0; i < _childEncoders.Length; i++) { _childEncoders[i] = EncoderHelper.GetEncoder(column.Children[i]); } nullBitmap = new ArrowBuffer.BitmapBuilder(); }
/// <summary> /// /// </summary> /// <remarks></remarks> /// <seealso cref=""/> /// <param name="value"></param> /// <param name="filter"></param> /// <param name="searchType"></param> /// <param name="numberOfResults"></param> /// <returns></returns> public SearchModel GetTextBoxSearchValues(string value, string filter, string searchType, int numberOfResults) { if (searchType.Equals("basedon")) { getQueryFromCriteria(this.WorkingSearchModel.CriteriaComponent); } if (searchType.Equals("new")) { getQueryFromCriteria(new SearchCriteria()); } // encoding special characters for lucene value = EncoderHelper.Encode(value); this.WorkingSearchModel.SearchComponent.TextBoxSearchValues = BexisIndexSearcher.doTextSearch(this.bexisSearching, filter, value); return(this.WorkingSearchModel); }
public static RegistrationPaymentDTO DTOFrom(User user, Route route, Registration registration, string language, IConfiguration config) { string amount = registration.OrderedShirt ? "6000" : "5000"; string shasign = EncoderHelper.CalculateNewShaSign(config, amount, "EUR", user.Email, language, registration.Id.ToString(), "damiaanactie", user.Id.ToString()); return(new RegistrationPaymentDTO() { Amount = amount, Currency = "EUR", Email = user.Email, Language = language, OrderId = registration.Id.ToString(), PspId = "damiaanactie", UserId = user.Id.ToString(), ShaSign = shasign, RouteName = route.TourName }); }
//public EncoderItem VideoEncoder { get; set; } public void Init(IEnumerable <EncoderItem> encoders = null) { if (encoders == null) { encoders = EncoderHelper.GetVideoEncoders(); } var encoder = encoders.FirstOrDefault(e => e.Id == EncoderId) ?? encoders.FirstOrDefault(); if (encoder == null) { // Что то пошло не так... // throw new Exception... } if (encoder.Id != EncoderId) { this.EncoderId = encoder.Id; } }
public static DevState GetDevId(string msg, DevState state, ref VideoAndAudioDev dev, ref string devName) { if (!string.IsNullOrWhiteSpace(msg)) { if (msg.Contains(VideoDevConst)) { state = DevState.VideoState; } else if (msg.Contains(AudioStateConst)) { state = DevState.AudioState; } else if (msg.Contains(DevIdConst)) { string devId = msg.Substring(msg.IndexOf(DevIdConst), msg.Length - msg.IndexOf(DevIdConst)).Replace(DevIdConst, "").Replace("\"", "").Trim(); switch (state) { case DevState.VideoState: dev.Videos.Add(new VideoDev() { DevId = devId, DevName = EncoderHelper.ASCIToUtf8(devName) }); break; case DevState.AudioState: dev.Audios.Add(new AudioDev() { DevId = devId, DevName = EncoderHelper.ASCIToUtf8(devName) }); break; } } devName = msg; } return(state); }
private static async Task Execute(string sql, HttpContext context) { context.Response.Headers.Add("Content-Type", "application/json"); var koraliumService = context.RequestServices.GetService <IKoraliumTransportService>(); var logger = context.RequestServices.GetService <ILogger <IKoraliumTransportService> >(); QueryResult result = null; try { result = await koraliumService.Execute(sql, new Shared.SqlParameters(), context); } catch (SqlErrorException error) { logger.LogWarning(error.Message); await WriteError(context, 400, error.Message); return; } catch (AuthorizationFailedException authFailed) { logger.LogWarning(authFailed.Message, authFailed); await WriteError(context, 401, authFailed.Message); return; } catch (Exception e) { logger.LogError(e, "Unexpected exception thrown"); await WriteError(context, 500, "Internal error"); return; } var responseStream = new System.Text.Json.Utf8JsonWriter(context.Response.Body); IJsonEncoder[] encoders = new IJsonEncoder[result.Columns.Count]; JsonEncodedText[] names = new JsonEncodedText[result.Columns.Count]; for (int i = 0; i < encoders.Length; i++) { encoders[i] = EncoderHelper.GetEncoder(result.Columns[i]); names[i] = JsonEncodedText.Encode(result.Columns[i].Name); } System.Diagnostics.Stopwatch encodingWatch = new System.Diagnostics.Stopwatch(); encodingWatch.Start(); responseStream.WriteStartObject(); responseStream.WriteStartArray(_valuesText); foreach (var row in result.Result) { responseStream.WriteStartObject(); for (int i = 0; i < encoders.Length; i++) { responseStream.WritePropertyName(names[i]); encoders[i].Encode(in responseStream, in row); } responseStream.WriteEndObject(); } responseStream.WriteEndArray(); responseStream.WriteEndObject(); encodingWatch.Stop(); await responseStream.FlushAsync(); }
public override async Task DoGet(FlightTicket ticket, FlightServerRecordBatchStreamWriter responseStream, ServerCallContext context) { try { int maxBatchSize = DefaultMaxBatchSize; var maxBatchSizeMetadata = context.RequestHeaders.Get("max-batch-size"); if (maxBatchSizeMetadata != null && int.TryParse(maxBatchSizeMetadata.Value, out var parsedMaxBatchSize)) { maxBatchSize = parsedMaxBatchSize; } var queryResult = await _koraliumTransportService.Execute(ticket.Ticket.ToStringUtf8(), new Shared.SqlParameters(), context.GetHttpContext()); //Get the resulting schema var schema = GetSchema(queryResult.Columns); var encoders = queryResult.Columns.Select(x => EncoderHelper.GetEncoder(x)).ToArray(); foreach (var encoder in encoders) { encoder.NewBatch(); } List <object> list = new List <object>(20000); int count = 0; System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch(); stopwatch.Start(); foreach (var obj in queryResult.Result) { count++; for (int i = 0; i < encoders.Length; i++) { encoders[i].Encode(obj); } if (encoders.Select(x => x.Size()).Sum() > maxBatchSize) { await responseStream.WriteAsync(new RecordBatch(schema, encoders.Select(x => x.BuildArray()), count)); foreach (var encoder in encoders) { encoder.NewBatch(); } count = 0; } } stopwatch.Stop(); var batch = new RecordBatch(schema, encoders.Select(x => x.BuildArray()), count); await responseStream.WriteAsync(batch); } catch (SqlErrorException error) { throw new RpcException(new Status(StatusCode.InvalidArgument, error.Message)); } catch (AuthorizationFailedException authFailed) { throw new RpcException(new Status(StatusCode.Unauthenticated, authFailed.Message)); } catch (Exception e) { throw new RpcException(new Status(StatusCode.Internal, "Internal error")); } }
/// <summary> /// /// </summary> /// <remarks></remarks> /// <seealso cref=""/> /// <param name="searchCriteria"></param> /// <return></return> private void getQueryFromCriteria(SearchCriteria searchCriteria) { if (searchCriteria.SearchCriteriaList.Count() > 0) { bexisSearching = new BooleanQuery(); foreach (SearchCriterion sco in searchCriteria.SearchCriteriaList) { if (sco.Values.Count > 0) { if (sco.SearchComponent.Type.Equals(SearchComponentBaseType.General)) { String fieldName = sco.SearchComponent.Name; BooleanQuery bexisSearchingGeneral = new BooleanQuery(); foreach (String value in sco.Values) { String encodedValue = value; Query query = new TermQuery(new Term(fieldName, encodedValue)); bexisSearchingGeneral.Add(query, Occur.SHOULD); } ((BooleanQuery)bexisSearching).Add(bexisSearchingGeneral, Occur.MUST); } else if (sco.SearchComponent.Type.Equals(SearchComponentBaseType.Category)) { BooleanQuery bexisSearchingCategory = new BooleanQuery(); String fieldName = "category_" + sco.SearchComponent.Name; QueryParser parser; if (fieldName.ToLower().Equals("category_all")) { List <string> temp2 = BexisIndexSearcher.getCategoryFields().ToList(); temp2.AddRange(BexisIndexSearcher.getStoredFields().ToList()); temp2.Add("ng_all"); parser = new MultiFieldQueryParser(Lucene.Net.Util.Version.LUCENE_30, temp2.ToArray(), new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_30)); } else { parser = new QueryParser(Lucene.Net.Util.Version.LUCENE_30, fieldName, new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_30)); } foreach (String value in sco.Values) { String encodedValue = EncoderHelper.Encode(value); String newString = null; //string value = val.Replace(")", "").Replace("(", ""); char[] delimiter = new char[] { ';', ' ', ',', '!', '.' }; string[] parts = encodedValue.ToLower().Split(delimiter, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < parts.Length; i++) { newString = newString + " " + parts[i] + "~0.6"; } parser.PhraseSlop = 5; parser.DefaultOperator = QueryParser.AND_OPERATOR; string query_value = encodedValue; if (encodedValue.Equals("")) { query_value = "*:*"; } Query query = parser.Parse(query_value); bexisSearchingCategory.Add(query, Occur.SHOULD); } ((BooleanQuery)bexisSearching).Add(bexisSearchingCategory, Occur.MUST); } else if (sco.SearchComponent.Type.Equals(SearchComponentBaseType.Facet)) { String fieldName = "facet_" + sco.SearchComponent.Name; BooleanQuery bexisSearchingFacet = new BooleanQuery(); foreach (String value in sco.Values) { String encodedValue = value; Query query = new TermQuery(new Term(fieldName, encodedValue)); bexisSearchingFacet.Add(query, Occur.SHOULD); } ((BooleanQuery)bexisSearching).Add(bexisSearchingFacet, Occur.MUST); } else if (sco.SearchComponent.Type.Equals(SearchComponentBaseType.Property)) { String fieldName = "property_" + sco.SearchComponent.Name; Property pp = (Property)sco.SearchComponent; if (pp.UIComponent.ToLower().Equals("range")) { fieldName = "property_numeric_" + sco.SearchComponent.Name; DateTime dd = new DateTime(Int32.Parse(sco.Values[0]), 1, 1, 1, 1, 1); if (pp.Direction == Direction.increase) { NumericRangeQuery <long> dateRangeQuery = NumericRangeQuery.NewLongRange(fieldName, dd.Ticks, long.MaxValue, true, true); ((BooleanQuery)bexisSearching).Add(dateRangeQuery, Occur.MUST); } else { NumericRangeQuery <long> dateRangeQuery = NumericRangeQuery.NewLongRange(fieldName, long.MinValue, dd.Ticks, true, true); ((BooleanQuery)bexisSearching).Add(dateRangeQuery, Occur.MUST); } } else { BooleanQuery bexisSearchingProperty = new BooleanQuery(); foreach (String value in sco.Values) { if (value.ToLower().Equals("all")) { Query query = new MatchAllDocsQuery(); bexisSearchingProperty.Add(query, Occur.SHOULD); } else { String encodedValue = value; if (SearchConfig.getNumericProperties().Contains(sco.SearchComponent.Name.ToLower())) { } else { Query query = new TermQuery(new Term(fieldName, encodedValue)); bexisSearchingProperty.Add(query, Occur.SHOULD); } } } ((BooleanQuery)bexisSearching).Add(bexisSearchingProperty, Occur.MUST); } } } else { //do nothing yet } } } else { using (var sa = new SimpleAnalyzer()) { QueryParser parser = new QueryParser(Lucene.Net.Util.Version.LUCENE_30, "id", sa); bexisSearching = parser.Parse("*:*"); } } }
public bool Init() { logger.Debug("Init()"); var winVersion = Environment.OSVersion.Version; Version minOsVersion = new Version(MinOSVersion); if (winVersion < minOsVersion) { //... logger.Warn($"OS version {winVersion} currently not supported!"); //throw new NotSupportedException($"This version of the operating system currently is not supported."); } var appVersion = new Version(AppVersion); var configVersion = new Version(ConfigVersion); logger.Info("Application Version: " + appVersion); logger.Info("Configuration Version: " + configVersion); if (appVersion != configVersion) { if (appVersion.Major != configVersion.Major) { logger.Warn("AppVersion is not the same as ConfigVersion: " + AppVersion + " != " + ConfigVersion); //Проверяем совместимость версий... } //... } if (StreamList.Count == 0) { logger.Warn("StreamList.Count == 0"); StreamList.Add(new MediaStreamModel() { Name = $"{Environment.MachineName} (Stream 1)" }); } if (MaxStreamCount < 1) { MaxStreamCount = 4; } if (StreamList.Count > MaxStreamCount) { logger.Warn("MaxStreamCountLimit: " + StreamList.Count + " > " + MaxStreamCount); StreamList.RemoveAt(MaxStreamCount - 1); } var videoEncoders = EncoderHelper.GetVideoEncoders(); if (videoEncoders.Count == 0) { logger.Warn("videoEncoders.Count == 0"); //... } var audioSources = AudioHelper.GetAudioSources(); if (audioSources.Count == 0) { logger.Warn("audioSources.Count == 0"); //... } var videoSources = ScreenHelper.GetVideoSources(); if (videoSources.Count == 0) { logger.Warn("videoSources.Count == 0"); //... } foreach (var stream in StreamList) { stream.Init(videoEncoders, videoSources, audioSources); } return(true); }