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 <AddZodiacResponse> AddZodiac(AddZodiacRequest request, ServerCallContext context) { if (request.Zodiac.Date.Equals("Invalid")) { Console.WriteLine("Data is blank"); return(Task.FromResult(new AddZodiacResponse { Status = AddZodiacResponse.Types.Status.Error, Sign = "INVALID", })); } using var channel = GrpcChannel.ForAddress("https://localhost:5001"); var date = request.Zodiac; var stringDate = date.Date.Split("/"); Console.Write("Sign: "); string sign = default; var year = int.Parse(stringDate[2]); var month = int.Parse(stringDate[0]); var day = int.Parse(stringDate[1]); var dateTime = new DateTime(year, month, day); switch (dateTime) { case { } when(dateTime >= new DateTime(year, 3, 21) && dateTime <= new DateTime(year, 6, 21)): //spring var clientSpring = new Spring.SpringClient(channel); var response = clientSpring.AddSpring(new AddSpringRequest { SpringDate = request.Zodiac.Date }); //await clientSpring.AddSpringAsync(new AddSpringRequest { SpringDate = request.Zodiac.Date }); sign = response.Sign; break; case { } when(dateTime >= new DateTime(year, 6, 22) && dateTime <= new DateTime(year, 9, 22)): //summer var clientSummer = new Summer.SummerClient(channel); var response2 = clientSummer.AddSummer(new AddSummerRequest { SummerDate = request.Zodiac.Date }); sign = response2.Sign; break; case { } when(dateTime >= new DateTime(year, 9, 23) && dateTime <= new DateTime(year, 12, 21)): //autumn var clientAutumn = new Autumn.AutumnClient(channel); var response3 = clientAutumn.AddAutumn(new AddAutumnRequest { AutumnDate = request.Zodiac.Date }); sign = response3.Sign; break; default: //winter var clientWinter = new Winter.WinterClient(channel); var response4 = clientWinter.AddWinter(new AddWinterRequest { WinterDate = request.Zodiac.Date }); sign = response4.Sign; break; } Console.WriteLine(sign); return(Task.FromResult(new AddZodiacResponse { Status = AddZodiacResponse.Types.Status.Succes, Sign = sign, })); }
static async Task Main(string[] args) { string date; do { Console.WriteLine("Enter a date: "); date = Console.ReadLine(); if (dateValid(date)) { CalendarDate newDate = CalendarDate.ConvertToCalendarDate(date); if (CalendarDate.Validation(newDate)) { if (newDate.Month == 1 || newDate.Month == 2 || newDate.Month == 12) { using var channel = GrpcChannel.ForAddress("https://localhost:7580"); var client = new Winter.WinterClient(channel); var reply = client.WinterSign( new WinterRequest { Date = date }); Console.WriteLine("Your sign is: " + reply.ZodiacSign); } else if (newDate.Month == 3 || newDate.Month == 4 || newDate.Month == 5) { using var channel = GrpcChannel.ForAddress("https://localhost:7580"); var client = new Spring.SpringClient(channel); var reply = client.SpringSign( new SpringRequest { Date = date }); Console.WriteLine("Your sign is: " + reply.ZodiacSign); } else if (newDate.Month == 6 || newDate.Month == 7 || newDate.Month == 8) { using var channel = GrpcChannel.ForAddress("https://localhost:7580"); var client = new Summer.SummerClient(channel); var reply = client.SummerSign( new SummerRequest { Date = date }); Console.WriteLine("Your sign is: " + reply.ZodiacSign); } else { using var channel = GrpcChannel.ForAddress("https://localhost:7580"); var client = new Autumn.AutumnClient(channel); var reply = client.AutumnSign( new AutumnRequest { Date = date }); Console.WriteLine("Your sign is: " + reply.ZodiacSign); } } } else { Console.WriteLine("Wrong input!"); } } while (!dateValid(date)); }