public void BaseOrder(ProductQuoteOrder method) { this.QuoteState = new QuoteStates(this.Strategy.Session).Ordered; var quoteItemStates = new QuoteItemStates(this.Session()); foreach (QuoteItem quoteItem in this.QuoteItems) { if (Equals(quoteItem.QuoteItemState, quoteItemStates.Accepted)) { quoteItem.QuoteItemState = quoteItemStates.Ordered; } } this.OrderThis(); }
protected override void AppsSecure(Security config) { base.AppsSecure(config); var draft = new QuoteItemStates(this.Session).Draft; var cancelled = new QuoteItemStates(this.Session).Cancelled; var submitted = new QuoteItemStates(this.Session).Submitted; var ordered = new QuoteItemStates(this.Session).Ordered; var rejected = new QuoteItemStates(this.Session).Rejected; var cancel = this.Meta.Cancel; var submit = this.Meta.Submit; var delete = this.Meta.Delete; config.Deny(this.ObjectType, submitted, submit); config.Deny(this.ObjectType, cancelled, cancel, submit); config.Deny(this.ObjectType, rejected, cancel, submit); config.Deny(this.ObjectType, ordered, cancel, submit, delete); config.Deny(this.ObjectType, cancelled, Operations.Write); config.Deny(this.ObjectType, ordered, Operations.Write); }
public static void SetItemState(this Quote @this) { var quoteItemStates = new QuoteItemStates(@this.Strategy.Session); foreach (QuoteItem quoteItem in @this.QuoteItems) { if (@this.QuoteState.IsCreated) { quoteItem.QuoteItemState = new QuoteItemStates(@this.Strategy.Session).Draft; } if (@this.QuoteState.IsCancelled) { if (!Equals(quoteItem.QuoteItemState, quoteItemStates.Rejected)) { quoteItem.QuoteItemState = new QuoteItemStates(@this.Strategy.Session).Cancelled; } } if (@this.QuoteState.IsRejected) { if (!Equals(quoteItem.QuoteItemState, quoteItemStates.Cancelled)) { quoteItem.QuoteItemState = new QuoteItemStates(@this.Strategy.Session).Rejected; } } if (@this.QuoteState.IsAwaitingApproval) { if (Equals(quoteItem.QuoteItemState, quoteItemStates.Draft)) { quoteItem.QuoteItemState = new QuoteItemStates(@this.Strategy.Session).AwaitingApproval; } } if (@this.QuoteState.IsInProcess) { if (!Equals(quoteItem.QuoteItemState, quoteItemStates.Cancelled) && !Equals(quoteItem.QuoteItemState, quoteItemStates.Rejected)) { quoteItem.QuoteItemState = new QuoteItemStates(@this.Strategy.Session).InProcess; } } if (@this.QuoteState.IsAwaitingAcceptance) { if (Equals(quoteItem.QuoteItemState, quoteItemStates.InProcess)) { quoteItem.QuoteItemState = new QuoteItemStates(@this.Strategy.Session).AwaitingAcceptance; } } if (@this.QuoteState.IsAccepted) { if (Equals(quoteItem.QuoteItemState, quoteItemStates.AwaitingAcceptance)) { quoteItem.QuoteItemState = new QuoteItemStates(@this.Strategy.Session).Accepted; } } if (@this.QuoteState.IsOrdered) { if (Equals(quoteItem.QuoteItemState, quoteItemStates.Accepted)) { quoteItem.QuoteItemState = new QuoteItemStates(@this.Strategy.Session).Ordered; } } } }