internal protected sealed override bool Process(ConversationMessage message) { switch (State) { case RequesterState.RequestRecovering: if (message is ConversationRecoverAgreedMessage) { //对方同意恢复会话。 State = RequesterState.Running; OnRecoverAgreed(message as ConversationRecoverAgreedMessage); RecoverAgreed?.Invoke(); } else if (message is ConversationRejectMessage) { var rm = message as ConversationRejectMessage; State = RequesterState.Rejected; End(); OnRecoverRejected(rm); RecoverRejected?.Invoke(rm.RejectCode); } else { //对方再ConversationAgree或者Reject之前发来的消息,到底要不要处理?怎样才能保证对方不在我准备好之前发消息过来? //其他消息,不理会。 OnMessageReceived(message); } break; case RequesterState.RequestStarting: if (message is ConversationAgreeMessage) { WasAgreed = true; State = RequesterState.Running; Agreed?.Invoke(); OnAgreed(); } else if (message is ConversationRejectMessage) { State = RequesterState.Rejected; //终止此会话 End(); Rejected?.Invoke(); } else { //对方再ConversationAgree或者Reject之前发来的消息,到底要不要处理?怎样才能保证对方不在我准备好之前发消息过来? //其他消息,不理会。 OnMessageReceived(message); } break; case RequesterState.Running: OnMessageReceived(message); break; } return(true); }
public void AgreeTermsandConditions() { Agreed.Click(); }
public override void Save() { DeleteFile(File); deleteFilePay(); File = WorkWithFiles.fileCopyByID(File, "cars", Car.ID, "Violation", Number); FilePay = WorkWithFiles.fileCopyByID(FilePay, "cars", Car.ID, "ViolationPay", Number); string datePay = string.Empty; if (DatePay != null) { datePay = string.Concat(DatePay.Value.Year.ToString(), "-", DatePay.Value.Month.ToString(), "-", DatePay.Value.Day.ToString()); } int id; int.TryParse(_provider.Insert("Violation", ID, Car.ID, Date, Number, File, datePay, FilePay, _idViolationType, _sum, _sent, _noDeduction, Agreed.ToString()), out id); ID = id; }
void Continue() => Agreed.InvokeAsync();