Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        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,
            }));
        }
Exemplo n.º 3
0
        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));
        }