public override Task <WinterZodiacSign> GetWinterZodiacSign(WinterZodiacSignRequest request, ServerCallContext context) { var sign = new WinterZodiacSign(); var matchMonth = Regex.Match(request.Date, monthPatternReq); var matchDay = Regex.Match(request.Date, dayPatternReq); int requestMonth = int.Parse(matchMonth.Value.Substring(0, matchMonth.Value.Length - 1)); int requestDay = int.Parse(matchDay.Value.Substring(1, matchDay.Value.Length - 2)); string matchSign = "default"; foreach (string line in intervals) { matchMonth = Regex.Match(line, monthPatternText); int month = int.Parse(matchMonth.Value.Substring(0, matchMonth.Value.Length - 1)); var days = Regex.Matches(line, dayPatternText) .OfType <Match>() .Select(m => m.Groups[0].Value.Substring(1, m.Value.Length - 1)) .ToArray(); if (requestMonth == month && requestDay >= int.Parse(days[0]) && requestDay <= int.Parse(days[1])) { matchSign = Regex.Match(line, @"\w*$").Value; } } sign.Sign = matchSign; return(Task.FromResult(sign)); }
public override Task <WinterZodiacSignReply> GetWinterZodiacSign(WinterZodiacSignRequest request, ServerCallContext context) { return(Task.FromResult(new WinterZodiacSignReply() { ZodiacSign = Helper.GetZodiac(request.Birthday, signs) })); }