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); } }
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)); }
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()); }
// 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; }
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); }
public ActionResult Prescription(PrescriptionDetails patientPrescription) { return(View("Prescription")); }
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))); }