public ActionResult CreateRefill([FromBody] RefillOrderDTO refillOrder) { bool created = _refillService.CreateRefillOrders(refillOrder); if (created) { return(Ok()); } else { return(BadRequest("Cannot Create Refill orders")); } }
public ActionResult getRefillStatus(int id) { RefillOrderDTO refillOrderDTO = new RefillOrderDTO(); if (id == 1) { return(Ok("Refill Completed")); } else if (id == 2) { return(Ok("Refill is Due")); } else { return(NotFound()); } }
public ActionResult CreateRefill([FromBody] RefillOrderDTO refillOrder) { _log4net.Info("Refill MicroService : " + nameof(CreateRefill)); try { bool created = _refillService.CreateRefillOrders(refillOrder); if (created) { return(Ok()); } else { return(BadRequest("Cannot Create Refill orders")); } } catch (Exception e) { _log4net.Error("Exception Occured : " + e.Message + " from " + nameof(CreateRefill)); return(BadRequest("Exception Occured")); } }
public bool CreateRefillOrders(RefillOrderDTO refillOrder) { return(_repository.CreateRefillOrders(refillOrder)); }
public bool CreateRefillOrders(RefillOrderDTO refillOrder) { List <RefillOrder> refills = new List <RefillOrder>(); try { if (refillOrder.RefillOccurrence == Occurrence.Weekly) { int days = 0; for (int i = 1; i <= refillOrder.CourseInWeeks; i++) { RefillOrder refill = new RefillOrder(); refill.RefillOrderID = refillNumber; refill.RefillDate = refillOrder.RefillDate.AddDays(days); refill.SubscriptionID = refillOrder.SubscriptionId; refill.Quantity = refillOrder.DosagePerDay * 7; refill.Location = refillOrder.Location; refill.Price = (refillOrder.DosagePerDay * 7) * refillOrder.CostPerUnit; refill.Status = RefilStatus.Pending; refillNumber++; days += 7; refills.Add(refill); } _dbHelper.RefillOrders.AddRange(refills); } else if (refillOrder.RefillOccurrence == Occurrence.Monthly) { if (refillOrder.CourseInWeeks % 4 == 0) { int rep = (refillOrder.CourseInWeeks / 4); int days = 0; for (int i = 1; i <= rep; i++) { RefillOrder refill = new RefillOrder(); refill.RefillOrderID = refillNumber; refill.RefillDate = refillOrder.RefillDate.AddDays(days); refill.SubscriptionID = refillOrder.SubscriptionId; refill.Quantity = refillOrder.DosagePerDay * 28; refill.Location = refillOrder.Location; refill.Price = (refillOrder.DosagePerDay * 28) * refillOrder.CostPerUnit; refill.Status = RefilStatus.Pending; refillNumber++; days += 28; refills.Add(refill); } } else { int rep = (refillOrder.CourseInWeeks / 4); int days = 0; for (int i = 1; i <= rep; i++) { RefillOrder refill = new RefillOrder(); refill.RefillOrderID = refillNumber; refill.RefillDate = refillOrder.RefillDate.AddDays(days); refill.SubscriptionID = refillOrder.SubscriptionId; refill.Quantity = refillOrder.DosagePerDay * 28; refill.Location = refillOrder.Location; refill.Price = (refillOrder.DosagePerDay * 28) * refillOrder.CostPerUnit; refill.Status = RefilStatus.Pending; refillNumber++; days += 28; refills.Add(refill); } int remWeekly = refillOrder.CourseInWeeks - (rep * 4); for (int i = 1; i <= remWeekly; i++) { RefillOrder refill1 = new RefillOrder(); refill1.RefillOrderID = refillNumber; refill1.RefillDate = refillOrder.RefillDate.AddDays(days); refill1.SubscriptionID = refillOrder.SubscriptionId; refill1.Quantity = refillOrder.DosagePerDay * 7; refill1.Location = refillOrder.Location; refill1.Price = (refillOrder.DosagePerDay * 7) * refillOrder.CostPerUnit; refill1.Status = RefilStatus.Pending; refillNumber++; days += 7; refills.Add(refill1); } _dbHelper.RefillOrders.AddRange(refills); } } return(true); } catch (Exception) { return(false); } }