public PagedSearchedQueryResult <Kontrahent> Kontrahenci(int idFirmy, int page, string search, string asc, string desc, int pageSize = KancelariaSettings.PageSize) { //var result = (from k in db.Kontrahents // select k).AsQueryable(); //return new PagedSearchedQueryResult<Kontrahent>(result, page, KancelariaSettings.PageSize); if (search == null) { search = ""; } var Query = QueryStringParser <Kontrahent> .Parse( (from k in db.Kontrahents where k.IdFirmy == idFirmy select k).SortBy(asc, desc, "KodKontrahenta"), new KontrahenciDictionary(), ref search ).Where( q => q.KodKontrahenta.ToLower().Contains(search.ToLower()) || q.Miejscowosc.ToLower().Contains(search.ToLower()) || q.NazwaKontrahenta.ToLower().Contains(search.ToLower()) || q.NIP.ToLower().Contains(search.ToLower()) || q.Panstwo.ToLower().Contains(search.ToLower()) || q.Ulica.ToLower().Contains(search.ToLower()) ); return(new PagedSearchedQueryResult <Kontrahent>(Query, page, pageSize, search)); }
protected override async Task <bool> PostHtmlAsync(IOwinEnvironment context, IClient client, ContentType bodyContentType, CancellationToken cancellationToken) { var application = await client.GetApplicationAsync(_configuration.Application.Href, cancellationToken); try { var body = await context.Request.GetBodyAsStringAsync(cancellationToken); var model = PostBodyParser.ToModel <ForgotPasswordPostModel>(body, bodyContentType, _logger); var formData = FormContentParser.Parse(body, _logger); var stateToken = formData.GetString(StringConstants.StateTokenName); var parsedStateToken = new StateTokenParser(client, _configuration.Client.ApiKey, stateToken, _logger); if (!parsedStateToken.Valid) { var queryString = QueryStringParser.Parse(context.Request.QueryString, _logger); var viewModelBuilder = new ForgotPasswordFormViewModelBuilder(client, _configuration, queryString); var viewModel = viewModelBuilder.Build(); viewModel.Errors.Add("An error occurred. Please try again."); await RenderViewAsync(context, _configuration.Web.ForgotPassword.View, viewModel, cancellationToken); return(true); } await application.SendPasswordResetEmailAsync(model.Email, cancellationToken); } catch (Exception ex) { _logger.Error(ex, source: "ForgotRoute.PostHtml"); } return(await HttpResponse.Redirect(context, _configuration.Web.ForgotPassword.NextUri)); }
public PagedSearchedQueryResult <NieuregulowanaFakturaSprzedazy> NieuregulowaneFakturySprzedazy(int idFirmy, int idRoku, int?idKontrahenta, int?idInwestycji, int page, string search, string asc, string desc, int pageSize = KancelariaSettings.PageSize, bool czyRazemZKorektami = false, DateTime?stanNaDzien = null) { var Query = QueryStringParser <NieuregulowanaFakturaSprzedazy> .Parse( (from fz in db.NieuregulowanaFakturaSprzedazies where fz.IdFirmy == idFirmy && fz.IdRoku == idRoku && (idKontrahenta.HasValue ? fz.IdKontrahenta == idKontrahenta : true) && (idInwestycji.HasValue ? fz.IdInwestycji == idInwestycji : true) && fz.KwotaNieuregulowana != 0 && (czyRazemZKorektami ? true : !fz.IdFakturyKorygujacej.HasValue) select fz).SortBy(asc, desc, "DataFaktury"), new NieuregulowanaFakturySprzedazyDictionary(), ref search ); if (search != null) { Query = Query.Where( q => q.NumerFaktury.Contains(search.ToLower()) || q.Opis.Contains(search.ToLower()) || q.NumerFaktury.Contains(search.ToLower()) ); } if (stanNaDzien.HasValue) { Query = Query.Where(p => p.TerminPlatnosci <= stanNaDzien.Value); } if (idKontrahenta.HasValue) { Query = Query.Where(q => q.IdKontrahenta == idKontrahenta); } return(new PagedSearchedQueryResult <NieuregulowanaFakturaSprzedazy>(Query, page, pageSize, search)); }
protected override async Task <bool> GetHtmlAsync(IOwinEnvironment context, IClient client, CancellationToken cancellationToken) { var queryString = QueryStringParser.Parse(context.Request.QueryString, _logger); var spToken = queryString.GetString("sptoken"); if (string.IsNullOrEmpty(spToken)) { var viewModelBuilder = new VerifyEmailFormViewModelBuilder(client, _configuration); var verifyViewModel = viewModelBuilder.Build(); await RenderViewAsync(context, _configuration.Web.VerifyEmail.View, verifyViewModel, cancellationToken); return(true); } try { var account = await client.VerifyAccountEmailAsync(spToken, cancellationToken); var postVerifyEmailContext = new PostVerifyEmailContext(context, account); await _handlers.PostVerifyEmailHandler(postVerifyEmailContext, cancellationToken); return(await HttpResponse.Redirect(context, $"{_configuration.Web.VerifyEmail.NextUri}")); } catch (ResourceException) { var viewModelBuilder = new VerifyEmailFormViewModelBuilder(client, _configuration); var verifyViewModel = viewModelBuilder.Build(); verifyViewModel.InvalidSpToken = true; await RenderViewAsync(context, _configuration.Web.VerifyEmail.View, verifyViewModel, cancellationToken); return(true); } }
public PagedSearchedQueryResult <FakturaZakupu> FakturyZakupu(int idFirmy, int idRoku, int?idKontrahenta, int page, string search, string asc, string desc, int pageSize = KancelariaSettings.PageSize, DateTime?dateFrom = null, DateTime?dateTo = null) { var Query = QueryStringParser <FakturaZakupu> .Parse( (from fz in db.FakturaZakupus where fz.IdFirmy == idFirmy && fz.IdRoku == idRoku && (idKontrahenta.HasValue ? fz.IdKontrahenta == idKontrahenta : true) select fz).SortBy(asc, desc, "DataFaktury", true), new FakturyZakupuDictionary(), ref search ); if (dateFrom.HasValue) { Query = Query.Where(p => p.DataFaktury >= dateFrom.Value); } if (dateTo.HasValue) { Query = Query.Where(p => p.DataFaktury <= dateTo.Value); } if (search != null) { Query = Query.Where( q => q.NumerFaktury.Contains(search.ToLower()) || q.Opis.Contains(search.ToLower()) || q.WlasnyNumerFaktury.Contains(search.ToLower()) //|| q.PozycjaFakturyZakupus.Sum(s => s.KwotaNetto).ToString().Contains(search) // TODO: dorobic na FZ - FS metody zwracajace sumy netto, brutto, vat ); } return(new PagedSearchedQueryResult <FakturaZakupu>(Query, page, pageSize, search)); }
/// <summary> /// Initializes a new instance of the <see cref="RequestMessage"/> class. /// </summary> /// <param name="urlDetails">The original url details.</param> /// <param name="method">The HTTP method.</param> /// <param name="clientIP">The client IP Address.</param> /// <param name="bodyData">The BodyData.</param> /// <param name="headers">The headers.</param> /// <param name="cookies">The cookies.</param> public RequestMessage([NotNull] UrlDetails urlDetails, [NotNull] string method, [NotNull] string clientIP, [CanBeNull] BodyData bodyData = null, [CanBeNull] IDictionary <string, string[]> headers = null, [CanBeNull] IDictionary <string, string> cookies = null) { Check.NotNull(urlDetails, nameof(urlDetails)); Check.NotNull(method, nameof(method)); Check.NotNull(clientIP, nameof(clientIP)); AbsoluteUrl = urlDetails.AbsoluteUrl.ToString(); Url = urlDetails.Url.ToString(); Protocol = urlDetails.Url.Scheme; Host = urlDetails.Url.Host; Port = urlDetails.Url.Port; Origin = $"{Protocol}://{Host}:{Port}"; AbsolutePath = WebUtility.UrlDecode(urlDetails.AbsoluteUrl.AbsolutePath); Path = WebUtility.UrlDecode(urlDetails.Url.AbsolutePath); PathSegments = Path.Split('/').Skip(1).ToArray(); AbsolutePathSegments = AbsolutePath.Split('/').Skip(1).ToArray(); Method = method; ClientIP = clientIP; BodyData = bodyData; // Convenience getters for e.g. Handlebars Body = BodyData?.BodyAsString; BodyAsJson = BodyData?.BodyAsJson; BodyAsBytes = BodyData?.BodyAsBytes; DetectedBodyType = BodyData?.DetectedBodyType.ToString(); DetectedBodyTypeFromContentType = BodyData?.DetectedBodyTypeFromContentType.ToString(); Headers = headers?.ToDictionary(header => header.Key, header => new WireMockList <string>(header.Value)); Cookies = cookies; RawQuery = WebUtility.UrlDecode(urlDetails.Url.Query); Query = QueryStringParser.Parse(RawQuery); }
public void ThreeSimpleEqualFilters() { // Arrange string query = "Name eq 'Microsoft' and Industry eq 'Computer Software' or Headquarters eq 'Redmond, WA'"; QueryStringParser parser = null; // Act var info = GetQueryInformation(query, CompaniesContext, out parser); // Assert Assert.IsTrue(info.FilterParameters.Exists(p => p.FieldName == "Name"), "The field collection doesn't contain an element with Field Name 'Name'."); var parameter = info.FilterParameters.Find(p => p.FieldName == "Name"); Assert.AreEqual <string>("Microsoft", parameter.StringValue, "The value of the parameter is not the one expected."); Assert.AreEqual <FilteringOperator>(FilteringOperator.Equal, parameter.FilteringOperator, "The filtering operator is not the expected."); Assert.IsTrue(info.FilterParameters.Exists(p => p.FieldName == "Industry"), "The field collection doesn't contain an element with Field Name 'Industry'."); var parameter2 = info.FilterParameters.Find(p => p.FieldName == "Industry"); Assert.AreEqual <string>("Computer Software", parameter2.StringValue, "The value of the parameter is not the one expected."); Assert.AreEqual <FilteringOperator>(FilteringOperator.Equal, parameter2.FilteringOperator, "The filtering operator is not the expected."); Assert.IsTrue(info.FilterParameters.Exists(p => p.FieldName == "Headquarters"), "The field collection doesn't contain an element with Field Name 'Headquarters'."); var parameter3 = info.FilterParameters.Find(p => p.FieldName == "Headquarters"); Assert.AreEqual <string>("Redmond, WA", parameter3.StringValue, "The value of the parameter is not the one expected."); Assert.AreEqual <FilteringOperator>(FilteringOperator.Equal, parameter3.FilteringOperator, "The filtering operator is not the expected."); AssertNoWarningsOrExceptions(parser); }
public void FromQueryString() { #if NETSTANDARD var queryString = Microsoft.AspNetCore.WebUtilities.QueryHelpers.ParseQuery("q=test&options=o1&options=o2&numbers=1&numbers=5&doubles=99.99&doubles=8&lat=-53.3&lng=3.234&location=1,2&sortdir=Asc&enumOptions=optionone"); #else var queryString = System.Web.HttpUtility.ParseQueryString("q=test&options=o1&options=o2&numbers=1&numbers=5&doubles=99.99&doubles=8&lat=-53.3&lng=3.234&location=1,2&sortdir=Asc&enumOptions=optionone"); #endif var p = new MyParameters(); QueryStringParser <MyParameters> .Populate(queryString, p); p.Query.Should().Be("test"); p.Page.Should().Be(1); p.Size.Should().Be(10); p.Options.Should().NotBeNull(); p.Options.Count().Should().Be(2); p.Numbers.Count().Should().Be(2); p.Doubles.Count().Should().Be(2); p.Latitude.Should().Be(-53.3); p.Longitude.Should().Be(3.234); p.Location.Latitude.Should().Be(1); p.Location.Longitude.Should().Be(2); p.SortDirection.Should().Be(SortDirectionOption.Asc); p.EnumOptions.Should().Be(SomeOption.OptionOne); }
public void EmptyObjectsCreateNoQueryString() { var request = new { }; var result = QueryStringParser.GetQueryString(request); Assert.Equal(String.Empty, result); }
public void RepeatedParameters() { // Arrange StringBuilder builder = new StringBuilder(); builder.Append("Name eq 'Microsoft' "); builder.Append("and Name eq 'Google' "); builder.Append("and Name eq 'Amazon'"); string query = builder.ToString(); QueryStringParser parser = null; // Act var info = GetQueryInformation(query, CompaniesContext, out parser); // Assert AssertNoWarningsOrExceptions(parser); var parameters = (from p in info.FilterParameters where p.FieldName == "Name" select p).ToList <FilterParameterDefinition>(); Assert.AreEqual <int>(3, parameters.Count <FilterParameterDefinition>(), "The expected number of parameter elements wasn't found."); Assert.IsTrue(parameters.Exists(p => p.StringValue == "Microsoft"), "The expected filter value 'Microsoft' wasn't found.'"); Assert.IsTrue(parameters.Exists(p => p.StringValue == "Google"), "The expected filter value 'Google' wasn't found.'"); Assert.IsTrue(parameters.Exists(p => p.StringValue == "Amazon"), "The expected filter value 'Amazon' wasn't found.'"); }
public void CanSerializeMultipleObjectQueryString() { var request = new { a = true, b = 2, c = "test" }; var result = QueryStringParser.GetQueryString(request); Assert.Equal("?a=true&b=2&c=test", result); }
public void CanSerializeObjectQueryString() { var request = new { a = true }; var result = QueryStringParser.GetQueryString(request); Assert.Equal("?a=true", result); }
public object ReadRequestBody(Type bodyType, byte[] body) { // Extract text only from request body. var text = Encoding.UTF8.GetString(body ?? new byte[0]); return(QueryStringParser.ParseQueryString(text)); }
public TParameters FirstPage() { var p = QueryStringParser <TParameters> .Copy(_parameters); p.Page = 1; return(p); }
internal static string GenerateGrid(string gridName, out int statusCode, NameValueCollection nameValueCollection = null) { if (nameValueCollection == null) { nameValueCollection = new NameValueCollection(); } statusCode = 200; IMVCGridDefinition grid = MVCGridDefinitionTable.GetDefinitionInterface(gridName); QueryOptions options = QueryStringParser.ParseOptions(grid, nameValueCollection); GridContext gridContext = MVCGrid.NetCore.Utility.GridContextUtility.Create(/*context, */ gridName, grid, options); GridEngine engine = new GridEngine(); if (!engine.CheckAuthorization(gridContext)) { //Forbidden statusCode = 403; return(string.Empty); } IMVCGridRenderingEngine renderingEngine = GridEngine.GetRenderingEngine(gridContext); // TODO: Reimplement this for csv exports and other rendering responses. //renderingEngine.PrepareResponse(context.Response); StringBuilder sb = new StringBuilder(); TextWriter htmlWriter = new StringWriter(sb); engine.Run(renderingEngine, gridContext, htmlWriter); string html = sb.ToString(); return(html); }
public void OrderReturnFieldDictionaryWhenIsSetInQuery() { var order = new Http.Rest.Query(QueryStringParser.Parse("sort[a]=asc")).Order; Assert.Equal("a", order[0].Field); Assert.Equal(Order.Asc, order[0].Order); }
public TParameters NextPage() { if (!HasNextPage) return null; var p = QueryStringParser<TParameters>.Copy(_parameters); p.Page += 1; return p; }
private async Task <bool> HandleIdSiteRedirectAsync( IOwinEnvironment context, IClient client, CancellationToken cancellationToken) { var application = await client.GetApplicationAsync(_configuration.Application.Href, cancellationToken); var options = _options as IdSiteRedirectOptions ?? new IdSiteRedirectOptions(); var queryString = QueryStringParser.Parse(context.Request.QueryString, _logger); var stateToken = queryString.GetString(StringConstants.StateTokenName); if (string.IsNullOrEmpty(stateToken) || !new StateTokenParser(client, _configuration.Client.ApiKey, stateToken, _logger).Valid) { stateToken = new StateTokenBuilder(client, _configuration.Client.ApiKey).ToString(); } var idSiteUrlBuilder = application.NewIdSiteUrlBuilder() .SetCallbackUri(options.CallbackUri) .SetPath(options.Path) .SetState(stateToken); if (options.Logout) { idSiteUrlBuilder.ForLogout(); } var idSiteUrl = idSiteUrlBuilder.Build(); return(await HttpResponse.Redirect(context, idSiteUrl)); }
public TParameters PreviousPage() { if (!HasPreviousPage) return null; var p = QueryStringParser<TParameters>.Copy(_parameters); p.Page -= 1; return p; }
public PagedSearchedQueryResult <NieuregulowanaFakturaZakupu> NieuregulowaneFakturyZakupu(int idFirmy, int idRoku, int?idKontrahenta, int page, string search, string asc, string desc, int pageSize = KancelariaSettings.PageSize, DateTime?stanNaDzien = null) { var Query = QueryStringParser <NieuregulowanaFakturaZakupu> .Parse( (from fz in db.NieuregulowanaFakturaZakupus where fz.IdFirmy == idFirmy && fz.IdRoku == idRoku && (idKontrahenta.HasValue ? fz.IdKontrahenta == idKontrahenta : true) && fz.KwotaNieuregulowana != 0 select fz).SortBy(asc, desc, "DataFaktury"), new NieuregulowanaFakturyZakupuDictionary(), ref search ); if (search != null) { Query = Query.Where( q => q.NumerFaktury.Contains(search.ToLower()) || q.Opis.Contains(search.ToLower()) || q.NumerFaktury.Contains(search.ToLower()) ); } if (stanNaDzien.HasValue) { Query = Query.Where(p => p.TerminPlatnosci <= stanNaDzien.Value); } if (idKontrahenta.HasValue) { Query = Query.Where(q => q.IdKontrahenta == idKontrahenta); } return(new PagedSearchedQueryResult <NieuregulowanaFakturaZakupu>(Query, page, pageSize, search)); }
public TParameters ForPage(int page) { if (!HasPage(page)) return null; var p = QueryStringParser<TParameters>.Copy(_parameters); p.Page = page; return p; }
public void Parse() { QueryStringContainer queryStringContainer = new QueryStringContainer(); QueryStringParser queryStringParser = new QueryStringParser(); NameValueCollection queryStringFields = new NameValueCollection(); queryStringFields.Add("s", "Hey"); queryStringFields.Add("intField", "122"); queryStringFields.Add("iaf", "1,23,456"); queryStringFields.Add("df", "20070408"); queryStringFields.Add("dtf", "20070408123456"); queryStringFields.Add("sts", "Hi,There"); queryStringFields.Add("integers", "1,2,3,4,5"); queryStringFields.Add("b", "1"); queryStringParser.Parse(queryStringFields, queryStringContainer); Assert.AreEqual("Hey", queryStringContainer.StringField); Assert.AreEqual(122, queryStringContainer.IntField); Assert.AreEqual(new int[] { 1, 23, 456 }, queryStringContainer.IntArrayField); Assert.AreEqual(new DateTime(2007, 4, 8), queryStringContainer.DateField); Assert.AreEqual(new DateTime(2007, 4, 8, 12, 34, 56), queryStringContainer.DateTimeField); Assert.AreEqual("Hi", queryStringContainer.Strings[0]); Assert.AreEqual("There", queryStringContainer.Strings[1]); Assert.AreEqual(1, queryStringContainer.Ints[0]); Assert.AreEqual(2, queryStringContainer.Ints[1]); Assert.AreEqual(3, queryStringContainer.Ints[2]); Assert.AreEqual(4, queryStringContainer.Ints[3]); Assert.AreEqual(5, queryStringContainer.Ints[4]); Assert.IsTrue(queryStringContainer.BoolField); }
public void OrderShouldReturnFieldsInOrder() { var order = new Http.Rest.Query(QueryStringParser.Parse("sort[x]=&sort[a]=")).Order; Assert.Equal("x", order[0].Field); Assert.Equal("a", order[1].Field); }
protected override async Task <bool> GetHtmlAsync(IOwinEnvironment context, IClient client, CancellationToken cancellationToken) { var queryString = QueryStringParser.Parse(context.Request.QueryString, _logger); var spToken = queryString.GetString("sptoken"); if (string.IsNullOrEmpty(spToken)) { return(await HttpResponse.Redirect(context, _configuration.Web.ForgotPassword.Uri)); } var application = await client.GetApplicationAsync(_configuration.Application.Href, cancellationToken); try { await application.VerifyPasswordResetTokenAsync(spToken, cancellationToken); var viewModelBuilder = new ChangePasswordFormViewModelBuilder(client, _configuration); var changePasswordViewModel = viewModelBuilder.Build(); await RenderViewAsync(context, _configuration.Web.ChangePassword.View, changePasswordViewModel, cancellationToken); return(true); } catch (ResourceException) { return(await HttpResponse.Redirect(context, _configuration.Web.ChangePassword.ErrorUri)); } }
public TParameters LastPage() { var p = QueryStringParser <TParameters> .Copy(_parameters); p.Page = (int)Pages; return(p); }
public void ParseEmptyQueryStringShouldReturnEmptyDictionary() { var url = new Url("GET", "https://localhost:80/"); var query = QueryStringParser.Parse(url.Query); Assert.Empty(query.ToList()); }
public void ParseQueryStringShouldRewriteValueWithLastOccurence() { var url = new Url("GET", "https://localhost:80/?field=asd&field=acd&field=axd"); var query = QueryStringParser.Parse(url.Query); Assert.Equal("axd", query.GetValue("field")); }
public void ParseQueryStringShouldReturnEmptyValue() { var url = new Url("GET", "https://localhost:80/?field="); var query = QueryStringParser.Parse(url.Query); Assert.Equal("", query.GetValue("field")); }
protected AggregationFilterModel <TParameters> SignificantTermsFilterFor(string filterName) { var propertyInfo = ParameterPropertyCache.FirstOrDefault(c => c.Key == filterName); if (string.IsNullOrWhiteSpace(propertyInfo.Key)) { throw new ArgumentOutOfRangeException(nameof(filterName), $"Unable to find parameter named '{filterName}', ensure that either the parameters has a matching property or that a JsonProperty attribute is assigned"); } var filterValue = propertyInfo.Value.GetValue(Parameters); var model = new AggregationFilterModel <TParameters>(); var agg = AggregationHelper.SignificantTerms(filterName); if (agg == null) { return(model); } model.Name = filterName; model.Meta = agg.Meta; model.Type = agg.SearchifyAggregationType(); model.DisplayName = agg.SearchifyDisplayName() ?? model.Name; model.Items = agg.Buckets.Select(item => { var parameters = QueryStringParser <TParameters> .Copy(Parameters); var term = item.Key; var value = item.Key; if (FilterField.TryParse(item.Key, out FilterField filterField)) { term = filterField.Text; value = filterField.Value; } var isSelected = value.Equals(filterValue); if (propertyInfo.Value != null) { var convertablePropertyInfo = Nullable.GetUnderlyingType(propertyInfo.Value.PropertyType) ?? propertyInfo.Value.PropertyType; propertyInfo.Value.SetValue(parameters, isSelected ? null : Convert.ChangeType(value, convertablePropertyInfo)); } return(new TermFilterItemModel <TParameters>() { Term = term, Value = value, DocCount = item.DocCount, Selected = isSelected, Parameters = parameters }); }).ToList(); return(model); }
public void ParseQueryStringShouldReturnArrayValue() { var url = new Url("GET", "https://localhost:80/?field=asd&field=acd&field=axd"); var query = QueryStringParser.Parse(url.Query); Assert.Equal("axd", query.GetValue("field")); Assert.Equal(new[] { "asd", "acd", "axd" }, query.GetValues("field")); }