Ejemplo n.º 1
0
        public static void SaveOrUpdate(NoteAttachmentModel noteModel)
        {
            lock (NoteLocker)
            {
                bool addedNote = false;

                DbEndPoint.SetTimestamps(noteModel);

                using (var context = contextFactory.CreateContext <NoteAttachmentModel>())
                {
                    var existingModel = context.Objects.FirstOrDefault(note => note.Id == noteModel.Id);
                    if (existingModel != null)
                    {
                        existingModel.AcceptModelProperties(noteModel);
                    }
                    else
                    {
                        addedNote = true;
                        context.Objects.Add(noteModel);
                    }

                    context.SaveChanges();

                    if (addedNote)
                    {
                        EventNoteAdded(noteModel);
                    }
                }
            }
        }
        public ChildAttachmentsProviderConfig(NoteAttachmentModel parentAttachment)
        {
            Predicate = model =>
                        parentAttachment.ChildAttachmentDescriptors.Any(childDescriptor =>
                                                                        childDescriptor.ChildAttachmentId == model.Id
                                                                        // не нужно проверять тип, поскольку аттачи лежат в разных таблицах.
                                                                        // предикат, соответственно, применяется к одному типу аттачей внутри одного EF-контекста.
                                                                        // конкретную таблицу выбирает провайдер по полю ChildAttachmentType
                                                                        //&& childDescriptor.ChildAttachmentType == model.TypeOfAttachment
                                                                        );

            DecoratorTransform = NoteDecoratorTransform;
        }
Ejemplo n.º 3
0
 private NoteAttachmentViewModel(NoteAttachmentModel noteModel, bool isReadonly) : base(noteModel, isReadonly)
 {
 }
Ejemplo n.º 4
0
 public static NoteAttachmentViewModel CreateEditable(NoteAttachmentModel noteModel)
 {
     return(new NoteAttachmentViewModel(noteModel, false));
 }
Ejemplo n.º 5
0
 public static NoteAttachmentViewModel CreateReadonly(NoteAttachmentModel noteModel)
 {
     return(new NoteAttachmentViewModel(noteModel, true));
 }