public IActionResult AddPromotion(int id, [FromServices] IAddRemovePromotionService service)
        {
            var dto = service.GetOriginal(id);

            SetupTraceInfo();
            return(View(dto));
        }
 public IActionResult RemovePromotion(AddRemovePromotionDto dto, [FromServices] IAddRemovePromotionService service)
 {
     service.RemovePromotion(dto.BookId);
     if (service.Status.HasErrors)
     {
         SetupTraceInfo();
     }
     return(View("BookUpdated", "Successfully removed a promotion"));
 }
        public IActionResult AddPromotion(AddRemovePromotionDto dto, [FromServices] IAddRemovePromotionService service)
        {
            if (!ModelState.IsValid)
            {
                return(View(dto));
            }

            service.AddPromotion(dto);
            if (service.Status.HasErrors)
            {
                service.Status.CopyErrorsToModelState(ModelState, dto);
                return(View(dto));
            }
            SetupTraceInfo();
            return(View("BookUpdated", "Successfully added/changed a promotion"));
        }