private void AddAdditionalCommentsNote(OrderNoteDetail detail, Order order) { if (detail != null) { var noteAssembler = new OrderNoteAssembler(); noteAssembler.CreateOrderNote(detail, order, this.CurrentUserStaff, true, this.PersistenceContext); } }
public AcknowledgeAndPostResponse AcknowledgeAndPost(AcknowledgeAndPostRequest request) { Platform.CheckForNullReference(request, "request"); Platform.CheckMemberIsSet(request.OrderRef, "request.OrderRef"); var order = PersistenceContext.Load <Order>(request.OrderRef); // process acknowledgements first if (request.OrderNotesToAcknowledge != null) { var notes = CollectionUtils.Map(request.OrderNotesToAcknowledge, (EntityRef noteRef) => PersistenceContext.Load <OrderNote>(noteRef)); foreach (var note in notes) { //validate that the note is actually associated with the correct order if (!Equals(note.Order, order)) { throw new ArgumentException("Attempt to acknowledge a note that is not associated with this order."); } note.Acknowledge(CurrentUserStaff); } } try { // process reply note OrderNote replyNote = null; var noteAssembler = new OrderNoteAssembler(); if (request.OrderNote != null) { replyNote = noteAssembler.CreateOrderNote( request.OrderNote, order, CurrentUserStaff, true, PersistenceContext); } PersistenceContext.SynchState(); return(replyNote != null ? new AcknowledgeAndPostResponse(noteAssembler.CreateOrderNoteDetail(replyNote, CurrentUserStaff, PersistenceContext)) : new AcknowledgeAndPostResponse(null)); } catch (NoteAcknowledgementException e) { // occurs when there are notes that this author must ack prior to posting a new note throw new RequestValidationException(e.Message); } }
private void AddAdditionalCommentsNote(OrderNoteDetail detail, Order order) { if (detail == null) return; var noteAssembler = new OrderNoteAssembler(); noteAssembler.CreateOrderNote(detail, order, this.CurrentUserStaff, true, this.PersistenceContext); }