private static UsageLimitMessage UsageLimitMessageThrowsException(ReadingMessage request) { var result = new UsageLimitMessage() { CustomerId = request.CustomerId, MobileNumber = request.MobileNumber }; if (request.DataUsage < MaxDataUsage && request.ReadingTime.ToDateTime().ToUniversalTime() == DateTime.UtcNow) { result.ContinueUsage = ContinueService.Yes; result.RemainingData = 0; } else if (Math.Abs(request.DataUsage - MaxDataUsage) < tolerance && request.ReadingTime.ToDateTime().ToUniversalTime() == DateTime.UtcNow) { result.ContinueUsage = ContinueService.No; result.RemainingData = 0; } else { var additionalInfo = new Metadata() { new Metadata.Entry("Time", DateTime.UtcNow.ToString(CultureInfo.InvariantCulture)), new Metadata.Entry("exception_cause", "Data usage exceeded."), }; throw new RpcException(new Status(StatusCode.Cancelled, "Data usage has reached at the peak, Can not continue the data usage."), additionalInfo); } return(result); }
private static UsageLimitMessage UsageLimitMessage(ReadingMessage request) { var result = new UsageLimitMessage() { CustomerId = request.CustomerId, MobileNumber = request.MobileNumber }; if (request.DataUsage <= MaxDataUsage && request.ReadingTime.ToDateTime().ToUniversalTime() == DateTime.UtcNow) { result.ContinueUsage = ContinueService.Yes; result.RemainingData = 0; } else { result.ContinueUsage = ContinueService.No; result.RemainingData = 0; } return(result); }