public void ProcessFillOrder(FillOrder submittedFillOrder)
        {
            FillOrder actualFillOrder = _fillOrderRepo.GetFillOrderById(submittedFillOrder.Id);

            try
            {
                FillOrderValidator.ValidateFillOrderUnprocessed(actualFillOrder);
                actualFillOrder.Processed   = true;
                actualFillOrder.ProcessDate = DateTime.Now;
                _fillOrderRepo.UpdateFillOrder(actualFillOrder);
            }
            catch (Exception)
            {
                throw new Exception("FillOrder cannot be processed. Try again later.");
            }
        }
 public FillOrder CreateFillOrder(FillOrder newFillOrder)
 {
     newFillOrder.CreatedDate = DateTime.Now;
     newFillOrder.ProcessDate = null;
     newFillOrder.Processed   = false;
     try
     {
         FillOrderValidator.ValidateProductId(newFillOrder);
         FillOrderValidator.ValidateStock(newFillOrder);
         return(_fillOrderRepo.CreateFillOrder(newFillOrder));
     }
     catch (Exception exception)
     {
         throw exception;
     }
 }