public AddCannedTextResponse AddCannedText(AddCannedTextRequest request)
        {
            CheckCannedTextWriteAccess(request.Detail);

            if (string.IsNullOrEmpty(request.Detail.Name))
            {
                throw new RequestValidationException(SR.ExceptionCannedTextNameRequired);
            }

            if (string.IsNullOrEmpty(request.Detail.Category))
            {
                throw new RequestValidationException(SR.ExceptionCannedTextCategoryRequired);
            }

            var assembler  = new CannedTextAssembler();
            var cannedText = assembler.CreateCannedText(request.Detail, this.CurrentUserStaff, this.PersistenceContext);

            PersistenceContext.Lock(cannedText, DirtyState.New);
            PersistenceContext.SynchState();

            return(new AddCannedTextResponse(assembler.GetCannedTextSummary(cannedText, this.PersistenceContext)));
        }
		public AddCannedTextResponse AddCannedText(AddCannedTextRequest request)
		{
			CheckCannedTextWriteAccess(request.Detail);

			if (string.IsNullOrEmpty(request.Detail.Name))
				throw new RequestValidationException(SR.ExceptionCannedTextNameRequired);

			if (string.IsNullOrEmpty(request.Detail.Category))
				throw new RequestValidationException(SR.ExceptionCannedTextCategoryRequired);

			var assembler = new CannedTextAssembler();
			var cannedText = assembler.CreateCannedText(request.Detail, this.CurrentUserStaff, this.PersistenceContext);

			PersistenceContext.Lock(cannedText, DirtyState.New);
			PersistenceContext.SynchState();

			return new AddCannedTextResponse(assembler.GetCannedTextSummary(cannedText, this.PersistenceContext));
		}