コード例 #1
0
        protected SetStatusCommand(TicketBrief ticketToEdit, IPrincipal principal, Status statusToSet)
        {
            ObjectUtils.ThrowIfNull(ticketToEdit.GetTuple(nameof(ticketToEdit)), principal.GetTuple(nameof(principal)));

            this.ticketToEdit = ticketToEdit;
            statusBeforeSet   = (Status)ticketToEdit.StatusId;

            this.statusToSet = statusToSet;

            this.principal = principal;
        }
コード例 #2
0
        public IEnumerable <int> GetAvailableStatuses(TicketBrief ticketBrief, IPrincipal principal)
        {
            ICollection <Status> statuses = new List <Status>();

            var commands = setStatusCommandFactory.GetAllFactories(ticketBrief, principal).ToArray();

            var handler = new TicketStatusHandler(commands);

            handler.Handle(statuses);

            return(statuses.ConvertOrCastTo <Status, int>());
        }
コード例 #3
0
 public RejectedSetStatusCommand(TicketBrief ticket, IPrincipal principal)
     : base(ticket, principal, Status.Rejected)
 {
 }
コード例 #4
0
 public ClarifySetStatusCommand(TicketBrief ticket, IPrincipal principal)
     : base(ticket, principal, Status.Clarify)
 {
 }
コード例 #5
0
 public EndedSetStatusCommand(TicketBrief ticket, IPrincipal principal)
     : base(ticket, principal, Status.Ended)
 {
 }
コード例 #6
0
 public CanceledSetStatusCommand(TicketBrief ticket, IPrincipal principal)
     : base(ticket, principal, Status.Canceled)
 {
 }
コード例 #7
0
 public ReceiptSetStatusCommand(TicketBrief ticketToEdit, IPrincipal principal)
     : base(ticketToEdit, principal, Status.Receipt)
 {
     executionDateBeforeSet = ticketToEdit.ExecutionDate;
 }