internal FixedList <SignEvent> Execute(SignTask task) { Assertion.AssertObject(task, "task"); this.EnsureValidCredentials(task.SignCredentials); var eventsList = new List <SignEvent>(task.SignRequests.Count); using (var context = StorageContext.Open()) { foreach (var request in task.SignRequests) { SignEvent signEvent = CreateSignEvent(task, request); context.Watch(request); signEvent.Save(); request.Save(); eventsList.Add(signEvent); } context.Update(); } // using return(eventsList.ToFixedList()); }
static private FixedList <SignEventDTO> ExecuteSignTask(SignTaskDTO signTaskDTO, SignEventType eventType) { EnsureValidSignTaskDTO(signTaskDTO); signTaskDTO.eventType = eventType; SignTask signTask = ESignMapper.Map(signTaskDTO); var signTaskProcessor = new SignTaskProcessor(); FixedList <SignEvent> signEvents = signTaskProcessor.Execute(signTask); return(ESignMapper.Map(signEvents)); }
static private SignEvent CreateSignEvent(SignTask signTask, SignRequest signRequest) { switch (signTask.EventType) { case SignEventType.Signed: string digitalSign = SignData(signTask.SignCredentials, signRequest.Document.SignInputData); return(signRequest.Sign(digitalSign)); case SignEventType.Refused: return(signRequest.Refuse()); case SignEventType.Revoked: return(signRequest.Revoke()); case SignEventType.Unrefused: return(signRequest.Unrefuse()); default: throw Assertion.AssertNoReachThisCode(); } }