Пример #1
0
 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);
		}