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());
            }
        }
Exemplo n.º 3
0
 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"));
     }
 }
Exemplo n.º 4
0
 public bool CreateRefillOrders(RefillOrderDTO refillOrder)
 {
     return(_repository.CreateRefillOrders(refillOrder));
 }
Exemplo n.º 5
0
        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);
            }
        }