public override Task <AutumnReply> AutumnSign(AutumnRequest request, ServerCallContext context) { string signResult = "No sign"; if (request.Date != null) { this.ReadFromFile(); Console.WriteLine("Client connected on Autumn!"); Console.WriteLine(request.Date); for (int i = 0; i < autumnSigns.Count; i++) { if (CheckSign(autumnSigns[i].StartDay, autumnSigns[i].EndDay, autumnSigns[i].StartMonth, autumnSigns[i].EndMonth, request.Date)) { signResult = autumnSigns[i].SignName; } } } else { Console.WriteLine(request.Date + " wrong input!"); } return(Task.FromResult(new AutumnReply { ZodiacSign = signResult })); }
static void Main(string[] args) { var channel = GrpcChannel.ForAddress("https://localhost:5001"); var input = ValidateInput(); var season = GetSeason(input); switch (season) { case "Winter": { var client = new Winter.WinterClient(channel); var request = new WinterRequest(); request.Date = input; var response = client.GetWinterSign(request); Console.WriteLine("You are born in Winter."); Console.WriteLine($"Your sign is {response.Sign}"); break; } case "Spring": { var client = new Spring.SpringClient(channel); var request = new SpringRequest(); request.Date = input; var response = client.GetSpringSign(request); Console.WriteLine("You are born in Spring."); Console.WriteLine($"Your sign is {response.Sign}"); break; } case "Summer": { var client = new Summer.SummerClient(channel); var request = new SummerRequest(); request.Date = input; var response = client.GetSummerSign(request); Console.WriteLine("You are born in Summer."); Console.WriteLine($"Your sign is {response.Sign}"); break; } case "Autumn": { var client = new Autumn.AutumnClient(channel); var request = new AutumnRequest(); request.Date = input; var response = client.GetAutumnSign(request); Console.WriteLine("You are born in Autumn"); Console.WriteLine($"Your sign is {response.Sign}"); break; } } channel.ShutdownAsync().Wait(); Console.WriteLine("Press any key to exit..."); Console.ReadKey(); }
public override Task <AutumnResponse> GetAutumnSign(AutumnRequest request, ServerCallContext context) { var birthday = request.Date; var year = GetYears(birthday); var dateTime = DateTime.Parse(birthday); var path = "Autumn.txt"; var file = File.ReadAllLines(path); string sign = GetSign(file, year, dateTime); Console.WriteLine("Your sign is : " + sign); return(Task.FromResult(new AutumnResponse() { Sign = sign })); }
public override Task <HoroscopResponse> getZodiacSign(AutumnRequest request, ServerCallContext context) { var Birthday = DateTime.Parse(request.Date); string sign = ""; string[] dates = File.ReadAllLines(@"../../AutumnSigns.txt"); for (int index = 0; index < dates.Length; index = index + 3) { sign = dates[index]; var StartPeriod = DateTime.Parse(dates[index + 1]); var FinishPeriod = DateTime.Parse(dates[index + 2]); if (Birthday.Month == StartPeriod.Month && Birthday.Month == FinishPeriod.Month) { if (Birthday.Day >= StartPeriod.Day && Birthday.Day <= FinishPeriod.Day) { break; } } if (StartPeriod.Month != FinishPeriod.Month) { if (Birthday.Month >= StartPeriod.Month && Birthday.Month <= FinishPeriod.Month) { if ((Birthday.Month == StartPeriod.Month && Birthday.Day >= StartPeriod.Day) || (Birthday.Month == FinishPeriod.Month && FinishPeriod.Day <= FinishPeriod.Day)) { break; } } } } Console.WriteLine("Your Zodiac Sign is {0} ", sign); return(Task.FromResult(new HoroscopResponse() { Sign = sign })); }
public override Task <AutumnResponse> AutumnSignSelection(AutumnRequest request, ServerCallContext context) { string startDate; string endDate; string sign; string pattern = "MM/dd/yyyy"; var file = File.ReadAllLines("Autumn.txt"); DateTime requestParsed; DateTime startParsed; DateTime endParsed; for (var i = 0; i < file.Length; i += 3) { startDate = file.ElementAt(i).ToString(); endDate = file.ElementAt(i + 1).ToString(); sign = file.ElementAt(i + 2).ToString(); if (DateTime.TryParseExact(startDate, pattern, null, DateTimeStyles.None, out startParsed) && DateTime.TryParseExact(endDate, pattern, null, DateTimeStyles.None, out endParsed) && DateTime.TryParseExact(request.Date, pattern, null, DateTimeStyles.None, out requestParsed)) { if (((startParsed.Month < requestParsed.Month) || (startParsed.Month == requestParsed.Month && startParsed.Day <= requestParsed.Day)) && ((endParsed.Month > requestParsed.Month) || (endParsed.Month == requestParsed.Month) && endParsed.Day >= requestParsed.Day)) { return(Task.FromResult(new AutumnResponse { Sign = sign })); } } } return(Task.FromResult(new AutumnResponse { Sign = "Could not find a sign for this date!" })); }
static void Main(string[] args) { const string Host = "localhost"; const int Port = 16842; var channel = new Channel($"{Host}:{Port}", ChannelCredentials.Insecure); var request = new HoroscopRequest(); do { Console.WriteLine("Enter your Birthday: "); request.Date = Console.ReadLine(); } while (isValid(request.Date) == false); //var client = new HoroscopService.HoroscopServiceClient(channel); //var respone = client.ShowSign(request); //Console.WriteLine("Your Zodiac Sign is {0} ", respone.Sign); //----------------------Bonus var Birthday = DateTime.Parse(request.Date); switch (wichSeasone(Birthday)) { case 1: var SpringRequest = new SpringRequest(); var Springclient = new SpringService.SpringServiceClient(channel); SpringRequest.Date = request.Date; var respone1 = Springclient.getZodiacSign(SpringRequest); Console.WriteLine("Your Zodiac Sign is {0} ", respone1.Sign); break; case 2: var SummerRequest = new SummerRequest(); var Summerclient = new SummerService.SummerServiceClient(channel); SummerRequest.Date = request.Date; var respone3 = Summerclient.getZodiacSign(SummerRequest); Console.WriteLine("Your Zodiac Sign is {0} ", respone3.Sign); break; case 3: var AutumnRequest = new AutumnRequest(); var Autumnclient = new AutumnService.AutumnServiceClient(channel); AutumnRequest.Date = request.Date; var respone2 = Autumnclient.getZodiacSign(AutumnRequest); Console.WriteLine("Your Zodiac Sign is {0} ", respone2.Sign); break; case 4: var WinterRequest = new WinterRequest(); var Winterclient = new WinterService.WinterServiceClient(channel); WinterRequest.Date = request.Date; var respone4 = Winterclient.getZodiacSign(WinterRequest); Console.WriteLine("Your Zodiac Sign is {0} ", respone4.Sign); break; } // Shutdown channel.ShutdownAsync().Wait(); Console.WriteLine("Press any key to exit..."); Console.ReadKey(); }