public async Task <IActionResult> Login(string email, string password) { email = email.ToLower(); var filter = new OperatorFilter { Email = email, Amount = 1 }; var res = await dbProvider.ReadModel(filter).ConfigureAwait(false); //TODO if (res.Count == 0 || res.First().Password != Cryptography.SaltPassword(password, "salt")) { return(NotFound("Пользователь с такими реквизитами не найден")); } var encodedJwt = JwtHelpers.IssueToken(config.AppName, config.AppUrl, email, config.AuthLifetimeInHours, config.JwtTokenSecret); var response = new { access_token = encodedJwt, username = email }; return(Json(response)); }
public async Task <IActionResult> Register([FromBody] Operator op) { var filter = new OperatorFilter { Email = op.Email, Amount = 1 }; var res = await dbProvider.ReadModel(filter).ConfigureAwait(false); if (res.Count > 0) { return(Conflict("Пользователь с такой электронной почтой уже существует")); } filter = new OperatorFilter { Phone = op.Phone, Amount = 1 }; res = await dbProvider.ReadModel(filter).ConfigureAwait(false); if (res.Count > 0) { return(Conflict("Пользователь с таким номером телефона уже существует")); } await dbProvider.WriteModel(op).ConfigureAwait(false); return(Ok("Вы успешно зарегистрированы")); }
public override string Evaluate(ONPEquatationInterpreterResult interpreterResult) { Stack <BaseElement> elements = new Stack <BaseElement>(); var filter = new OperatorFilter(evaluators); while (interpreterResult.OnpNotation.Any()) { var currentElement = interpreterResult.OnpNotation.Dequeue(); if (currentElement is BaseNumber) { elements.Push(currentElement); } else if (currentElement is BaseOperator) { var rightNumber = (BaseNumber)elements.Pop(); var leftNumber = (BaseNumber)elements.Pop(); var evaluator = filter.FilterOperatorEvaluator(currentElement as BaseOperator); var result = evaluator.Evaluate(leftNumber, rightNumber); elements.Push(result); } } if (elements.Count > 1) { throw new InvalidOperationException("The result of computation should contains only one item"); } return(elements.Pop().Value); }
internal static string ToString(OperatorFilter opFilter) { switch (opFilter) { case OperatorFilter.Equals: return("="); case OperatorFilter.NotEquals: return("!="); case OperatorFilter.GreaterThan: return(">"); case OperatorFilter.LessThan: return("<"); case OperatorFilter.GreaterThanOrEqual: return(">="); case OperatorFilter.LessThanOrEqual: return("<="); default: throw new ArgumentOutOfRangeException(nameof(opFilter), opFilter, null); } }
public ERPFilter(DocType docType, string targetField, OperatorFilter @operator, string operand) { DocType = docType; TargetField = targetField; Operand = operand; OperatorFilter = @operator; }
public async Task ListWithFilters() { var filter = new OperatorFilter() .IncludeData(true) .IncludeBundles(true) .IncludeFixedDenominationType(true) .IncludePin(true) .IncludeRangeDenominationType(true) .IncludeSuggestedAmounts(true) .IncludeSuggestedAmountsMap(true); var result = await AirtimeApi.Operators.ListAsync(filter); Assert.IsTrue(result.Content.Count > 0); }