Beispiel #1
0
 private Task <Either <ActionResult, MethodologyVersion> > CheckCanUpdateStatus(
     MethodologyVersion methodologyVersion,
     MethodologyStatus requestedStatus)
 {
     return(requestedStatus switch
     {
         Draft => _userService.CheckCanMarkMethodologyAsDraft(methodologyVersion),
         Approved => _userService.CheckCanApproveMethodology(methodologyVersion),
         _ => throw new ArgumentOutOfRangeException(nameof(requestedStatus), "Unexpected status")
     });
        private Task <Either <ActionResult, Methodology> > CheckCanUpdateMethodologyStatus(Methodology methodology,
                                                                                           MethodologyStatus status)
        {
            if (methodology.Status == status)
            {
                // Status unchanged
                return(Task.FromResult(new Either <ActionResult, Methodology>(methodology)));
            }

            return(status switch
            {
                MethodologyStatus.Draft => _userService.CheckCanMarkMethodologyAsDraft(methodology),
                MethodologyStatus.Approved => _userService.CheckCanApproveMethodology(methodology),
                _ => throw new ArgumentOutOfRangeException(nameof(status), "Unexpected status")
            });