public async Task <ActionResult> CreatePolicy(ConsumerPolicyDetails cpd)
        {
            if (HttpContext.Session.GetString("token") == null)
            {
                return(RedirectToAction("Login", "Auth"));
            }

            ConsumerPolicy cp = new ConsumerPolicy();

            if (ModelState.IsValid)
            {
                var client = new HttpClient();


                string token = HttpContext.Session.GetString("token");

                var contentType = new MediaTypeWithQualityHeaderValue("application/json");
                client.DefaultRequestHeaders.Accept.Add(contentType);
                client.DefaultRequestHeaders.Authorization =
                    new AuthenticationHeaderValue("Bearer", token);

                client.BaseAddress = new Uri("https://localhost:44365/");

                var jsonstring = JsonConvert.SerializeObject(cpd);

                var content = new StringContent(jsonstring, System.Text.Encoding.UTF8, "application/json");


                var response = await client.PostAsync("api/Policy/CreatePolicy", content);

                if (response.IsSuccessStatusCode)
                {
                    return(RedirectToAction("PolicyCreationStatus", new { id = cpd.ConsumerId }));
                }

                else
                {
                    ViewBag.Message = "Failed to create policy";
                }
            }
            return(View(cpd));
        }
        public async Task <bool> CreatePolicy(ConsumerPolicyDetails cpd)
        {
            Consumer       cm     = new Consumer();
            ConsumerPolicy pm     = new ConsumerPolicy();
            List <Quotes>  quotes = new List <Quotes>();

            int consumerid = cpd.ConsumerId;

            //Retriving Data From QuotesMicroservice


            using (var client = new HttpClient())
            {
                string token = HttpContext.Session.GetString("JWToken");


                var contentType = new MediaTypeWithQualityHeaderValue("application/json");
                client.DefaultRequestHeaders.Accept.Add(contentType);
                client.DefaultRequestHeaders.Authorization =
                    new AuthenticationHeaderValue("Bearer", token);

                client.BaseAddress = new Uri("https://localhost:44387/api/");
                var result = await client.GetAsync("Quotes");

                if (result.IsSuccessStatusCode)
                {
                    //var readTask = result.Content.ReadAsAsync<BusinessMaster>();
                    var jsoncontent = await result.Content.ReadAsStringAsync();

                    List <Quotes> quo = JsonConvert.DeserializeObject <List <Quotes> >(jsoncontent);
                    //readTask.Wait();
                    quotes = quo;
                }
            }

            //Retriving Data From ConsumerMicroservice
            using (var client = new HttpClient())
            {
                string token = HttpContext.Session.GetString("JWToken");

                var contentType = new MediaTypeWithQualityHeaderValue("application/json");
                client.DefaultRequestHeaders.Accept.Add(contentType);
                client.DefaultRequestHeaders.Authorization =
                    new AuthenticationHeaderValue("Bearer", token);

                client.BaseAddress = new Uri("https://localhost:44369/api/");
                //HTTP GET
                var result = await client.GetAsync("Consumer/{consumerid}?consumerid=" + consumerid);

                if (result.IsSuccessStatusCode)
                {
                    //var readTask = result.Content.ReadAsAsync<BusinessMaster>();
                    var jsoncontent = await result.Content.ReadAsStringAsync();

                    Consumer consumer = JsonConvert.DeserializeObject <Consumer>(jsoncontent);
                    //readTask.Wai
                    cm = consumer;
                }
            }


            foreach (var quote in quotes)
            {
                if (cm.Business.BusinessMaster.BussinessValue >= quote.BussinessValueFrom && cm.Business.BusinessMaster.BussinessValue <= quote.BussinessValueTo)
                {
                    if (cm.Business.BusinessMaster.BussinessValue == 5)
                    {
                        ConsumerPolicy policy1 = new ConsumerPolicy()
                        {
                            BussinessName = cpd.BussinessName,
                            BussinessType = cpd.BussinessType,
                            ConsumerId    = cpd.ConsumerId,
                            ConsumerName  = cpd.ConsumerName,
                            PolicyStatus  = false,
                            PolicyMaster  =
                                new PolicyMaster()
                            {
                                BussinessValue = cm.Business.BusinessMaster.BussinessValue,
                                PropertyType   = "Building",
                                ConsumerType   = "Owner",
                                AssuredSum     = 2000000,
                                Tenure         = "3 years",
                                BaseLocation   = "Chennai",
                                Type           = "Replacement"
                            }
                        };


                        //Policy.PropertyValue = bm.PropertyValue;
                        Context.ConsumerPolicies.Add(policy1);
                        int count = await Context.SaveChangesAsync();

                        return(count >= 0);
                    }
                    else if (cm.Business.BusinessMaster.BussinessValue > 5)
                    {
                        ConsumerPolicy policy1 = new ConsumerPolicy()
                        {
                            BussinessName = cpd.BussinessName,
                            BussinessType = cpd.BussinessType,
                            ConsumerId    = cpd.ConsumerId,
                            ConsumerName  = cpd.ConsumerName,
                            PolicyStatus  = false,
                            PolicyMaster  =
                                new PolicyMaster()
                            {
                                BussinessValue = cm.Business.BusinessMaster.BussinessValue,
                                PropertyType   = "Building",
                                ConsumerType   = "Owner",
                                AssuredSum     = 2000000,
                                Tenure         = "3 years",
                                BaseLocation   = "Chennai",
                                Type           = "Replacement"
                            }
                        };

                        //Policy.PropertyValue = bm.PropertyValue;
                        Context.ConsumerPolicies.Add(policy1);
                        int count = await Context.SaveChangesAsync();

                        return(count >= 0);
                    }
                    else
                    {
                        ConsumerPolicy policy1 = new ConsumerPolicy()
                        {
                            BussinessName = cpd.BussinessName,
                            BussinessType = cpd.BussinessType,
                            ConsumerId    = cpd.ConsumerId,
                            ConsumerName  = cpd.ConsumerName,
                            PolicyStatus  = false,
                            PolicyMaster  =
                                new PolicyMaster()
                            {
                                BussinessValue = cm.Business.BusinessMaster.BussinessValue,
                                PropertyType   = "Building",
                                ConsumerType   = "Owner",
                                AssuredSum     = 2000000,
                                Tenure         = "3 years",
                                BaseLocation   = "Chennai",
                                Type           = "Replacement"
                            }
                        };

                        Context.ConsumerPolicies.Add(policy1);
                        int count = await Context.SaveChangesAsync();

                        return(count >= 0);
                    }
                }
            }



            return(true);

            //return new CreatedResult("Policy Initiated", new { id = pm.ID });
        }