public SubscriptionDetails PostSubscribe(PrescriptionDetails prescription, string PolicyDetails, int Member_Id)
        {
            _log4net.Info("DruApi si being called to check for the availability of the particular drug");
            // Drug drug = new Drug() { DrugId = 1, EpiryDate = new DateTime(1999, 12, 20), Id = 1, ManufactureDate = Convert.ToDateTime("2020-12-01 01:01:00 AM"), ManufacturerName = "XYZ", Name = "Paracetamol" };
            List <LocationWiseDrug> location = new List <LocationWiseDrug>();
            var        drugs  = "";
            var        query  = prescription.DrugName;
            HttpClient client = new HttpClient();

            HttpResponseMessage result = client.GetAsync("https://localhost:44393/api/DrugsApi/searchDrugsByName/" + query).Result;



            if (result.IsSuccessStatusCode)
            {
                drugs    = result.Content.ReadAsStringAsync().Result;
                location = JsonConvert.DeserializeObject <List <LocationWiseDrug> >(drugs);
            }
            if (location.Count != 0)
            {
                _log4net.Info("Drug Available");
                return(new SubscriptionDetails {
                    Id = 1, MemberId = Member_Id, MemberLocation = "Delhi", PrescriptionId = prescription.Id, RefillOccurrence = prescription.RefillOccurrence, Status = true, SubscriptionDate = DateTime.Now
                });
            }
            else
            {
                _log4net.Info("Drug NotAvailable");
                return(new SubscriptionDetails {
                    Id = 0, MemberId = 0, MemberLocation = "", PrescriptionId = 0, RefillOccurrence = "", Status = false, SubscriptionDate = Convert.ToDateTime("2020-12-01 01:01:00 AM")
                });
            }
        }
 public SubscriptionDetails Subscribe(PrescriptionDetails subscription, string PolicyDetails, int MemberId, string auth)
 {
     try
     {
         return(subs.PostSubscription(subscription, PolicyDetails, MemberId, auth));
     }
     catch (Exception ex)
     {
         _log4net.Error("Error occured in provider layer" + ex.Message);
         return(null);
     }
 }
Пример #3
0
        public SubscriptionDetails PostSubscription(PrescriptionDetails prescription, string PolicyDetails, int Member_Id, string auth)
        {
            _log4net.Info("DruApi is being called to check for the availability of the DrugName= " + prescription.DrugName);

            List <LocationWiseDrug> location = new List <LocationWiseDrug>();
            var drugs = "";
            var query = prescription.DrugName;

            string[] token = auth.Split(" ");

            HttpClient          client = new HttpClient();
            HttpResponseMessage result = null;

            try
            {
                var request = new HttpRequestMessage(HttpMethod.Get, "http://20.62.208.42/api/DrugsApi/searchDrugsByName/" + query);
                request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token[1]);

                result = client.SendAsync(request).Result;

                if (!result.IsSuccessStatusCode)
                {
                    return(null);
                }
            }
            catch (Exception ex)
            {
                _log4net.Error("Exception occured in calling Drug Api" + nameof(SubscribeDrugs) + " and error is" + ex.Message);

                return(null);
            }
            drugs    = result.Content.ReadAsStringAsync().Result;
            location = JsonConvert.DeserializeObject <List <LocationWiseDrug> >(drugs);
            if (location.Count != 0)
            {
                _log4net.Info(prescription.DrugName + " Drug Available");
                var last = details.Last();
                SubscriptionDetails subscription = new SubscriptionDetails {
                    Id = (details[details.Count - 1].Id + 1), MemberId = Member_Id, MemberLocation = "Delhi", PrescriptionId = 3, RefillOccurrence = prescription.RefillOccurrence, Status = true, SubscriptionDate = DateTime.Now
                };
                details.Add(subscription);
                return(subscription);
            }
            else
            {
                _log4net.Info(prescription.DrugName + " Drug NotAvailable");
                return(new SubscriptionDetails {
                    Id = 0, MemberId = 0, MemberLocation = "", PrescriptionId = 0, RefillOccurrence = "", Status = false, SubscriptionDate = Convert.ToDateTime("2020-12-01 01:01:00 AM")
                });
            }
        }
        public IActionResult PostSubscribe([FromBody] PrescriptionDetails details, [FromRoute] string PolicyDetails, int MemberId, [FromHeader(Name = "Authorization")] string auth)
        {
            SubscriptionDetails data = new SubscriptionDetails();

            if (details == null || PolicyDetails == null || MemberId <= 0 || auth == null)
            {
                _log4net.Info("PrescriptionDetails is null or " + "MemberId is= " + MemberId + " PolicyDetails is= " + PolicyDetails + " less or equal to  zero");
                return(BadRequest());
            }
            _log4net.Info("Subscription Request is raised from client side  for Drug= " + details.DrugName);

            data = Provider.Subscribe(details, PolicyDetails, MemberId, auth);

            return(Ok(data));
        }
Пример #5
0
        public ActionResult Apply([Bind(Include = "IDPrescription,IDMedicine,Quantity,Morning,Noon,Afternoon,Night,Using")] PrescriptionDetails detail)
        {
            if (ModelState.IsValid)
            {
                db.PrescriptionDetails.Add(detail);
                db.SaveChanges();
                return(RedirectToAction("Apply", new { id = detail.IDPrescription }));
            }

            var medicines = db.Medicine.Select(x => new { Id = x.ID, Name = x.Name + " (" + x.Unit + ")" });

            ViewBag.MedicineId   = new SelectList(medicines, "Id", "Name");
            ViewBag.prescription = db.Prescription.Find(detail.IDPrescription);
            return(View());
        }
Пример #6
0
        // GET: MedicineKeeper/Details/5
        public ActionResult Details(int?id, [Bind(Include = "IDPrescription,IDMedicine,Quantity,Morning,Noon,Afternoon,Night,Using")] PrescriptionDetails detail)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Prescription prescription = db.Prescription.Find(id);

            //ViewBag.prescription = db.Prescription.Find(detail.IDPrescription);
            if (prescription == null)
            {
                return(HttpNotFound());
            }
            return(View(prescription));
        }
 public PrescriptionDetailsViewModel(IUnityContainer container, IRegionManager regionManage, IEventAggregator eventAggregator, PrescriptionDetails view)
     : base(view)
 {
     Container       = container;
     RegionManager   = regionManage;
     EventAggregator = eventAggregator;
 }
Пример #8
0
        public IActionResult Subscribe([Bind("InsurancePolicyNumber,InsuranceProvider,PrescriptionDate,DrugName,DoctorName,RefillOccurrence")] PrescriptionDetails prescription)
        {
            if (String.IsNullOrEmpty(HttpContext.Session.GetString("Token")))
            {
                _log4net.Warn("Anonymous user trying to Subscribe");
                return(RedirectToAction("Index", "Home"));
            }

            // Get MemberId from Session

            SubscriptionDetails result = new SubscriptionDetails();
            int    id     = (int)HttpContext.Session.GetInt32("MemberId");
            string policy = "sad";

            // Call Subscription Service -- Subscribe method with prescription details and policy details and Member Id



            using (var httpClient = new HttpClient())
            {
                var content = new StringContent(JsonConvert.SerializeObject(prescription), Encoding.UTF8, "application/json");

                string url = "" + configuration["ServiceUrls:Subscription"] + "PostSubscribe";

                var request = new HttpRequestMessage(HttpMethod.Post, url + "/" + policy + "/" + id)
                {
                    Content = content
                };

                request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", HttpContext.Session.GetString("Token"));

                using (var response = httpClient.SendAsync(request).Result)
                {
                    if (!response.IsSuccessStatusCode)
                    {
                        _log4net.Error("False Response");
                        string message = "Something Went Wrong " + response.StatusCode;
                        return(RedirectToAction("Subscribe", new { message }));
                    }

                    var data = response.Content.ReadAsStringAsync().Result;

                    result = JsonConvert.DeserializeObject <SubscriptionDetails>(data);

                    if (result == null)
                    {
                        _log4net.Error("Exception On Subscription Service side");
                        string message = "Something Went Wrong " + response.StatusCode;
                        return(RedirectToAction("Subscribe", new { message }));
                    }

                    if (!result.Status)
                    {
                        _log4net.Info(prescription.DrugName + " Drug Not Available.... Subscription Failed ");
                        string message = "Subscription failed due to InAvailability of Drugs ";
                        return(RedirectToAction("Subscribe", new { message }));
                    }

                    details.Add(result);

                    var db = context.Subscriptions.FirstOrDefault(x => x.Id == result.Id);
                    if (db == null)
                    {
                        context.Subscriptions.Add(result);
                        context.SaveChanges();
                    }

                    string status1  = "Success";
                    string message1 = " Subscription Successfull..... Subscription Id is " + result.Id;
                    return(RedirectToAction("Index", new { status = status1, message = message1 }));
                }
            }
        }
        public void PostSubscribe_prescriptionisnull_returnobject(PrescriptionDetails prescription, string policy, int MemberId, string auth)
        {
            var result = (BadRequestResult)sub.PostSubscribe(prescription, policy, MemberId, auth);

            Assert.AreEqual(result.StatusCode, 400);
        }
Пример #10
0
 public ActionResult Prescription(PrescriptionDetails patientPrescription)
 {
     return(View("Prescription"));
 }
Пример #11
0
 public IActionResult PostSubscribe([FromBody] PrescriptionDetails details, [FromRoute] string PolicyDetails, int MemberId)
 {
     _log4net.Info("Subscription Request is raised from client side and input is prescription details");
     return(Ok(subscribeDrugs.PostSubscribe(details, PolicyDetails, MemberId)));
 }