コード例 #1
0
        /// <summary>
        /// Adds billing information to the invoice
        /// </summary>
        /// <param name="value">
        /// The <see cref="IInvoice"/>
        /// </param>
        /// <returns>
        /// The <see cref="Attempt"/>.
        /// </returns>
        public override Attempt<IInvoice> PerformTask(IInvoice value)
        {
            var noteDisplay = SalePreparation.Customer.ExtendedData.GetNote();

            if (noteDisplay == null) return Attempt<IInvoice>.Succeed(value);

            var note = new Note
                           {
                               EntityKey = value.Key,
                               EntityTfKey =
                                   EnumTypeFieldConverter.EntityType.GetTypeField(EntityType.Invoice).TypeKey,
                               Message = noteDisplay.Message
                           };

            if (value.Notes != null)
            {
                if (value.Notes.All(x => x.Message != note.Message))
                {
                    value.Notes.Add(note);
                }
            }
            else
            {
                value.Notes = new System.Collections.Generic.List<Note> { note };
            }

            return Attempt<IInvoice>.Succeed(value);
        }
コード例 #2
0
ファイル: NoteDisplay.cs プロジェクト: Teknyc/Merchello
        /// <summary>
        /// Maps <see cref="NoteDisplay"/> to <see cref="INote"/>.
        /// </summary>
        /// <param name="noteDisplay">
        /// The note display.
        /// </param>
        /// <returns>
        /// The <see cref="INote"/>.
        /// </returns>
        public static INote ToNote(this NoteDisplay noteDisplay)
        {
            var note = new Note(noteDisplay.EntityKey, noteDisplay.EntityTfKey)
            {
                Message = noteDisplay.Message,
                CreateDate = noteDisplay.RecordDate == DateTime.MinValue ? DateTime.Now : noteDisplay.RecordDate
            };

            if (!noteDisplay.Key.Equals(Guid.Empty)) note.Key = noteDisplay.Key;

            return note;
        }