public bool DiscardEmailAttachment(EmailAttachment @emailAttachment) { bool retval; retval = Ambient.ExecuteAmbientUnitOfWorkAware(Repository.UowcFactory.Instance, (uowc, e) => this.DiscardEmailAttachment(uowc, e), @emailAttachment); return retval; }
partial void OnPreInsertEmailAttachment(IUnitOfWorkContext unitOfWorkContext, EmailAttachment emailAttachment) { if ((object)unitOfWorkContext == null) throw new ArgumentNullException("unitOfWorkContext"); if ((object)emailAttachment == null) throw new ArgumentNullException("emailAttachment"); //emailAttachment.Mark(); }
public bool DiscardEmailAttachment(IUnitOfWorkContext unitOfWorkContext, EmailAttachment @emailAttachment) { TextMetal.HostImpl.AspNetSample.Objects.Model.L2S.EmailAttachment query; if ((object)unitOfWorkContext == null) throw new ArgumentNullException("unitOfWorkContext"); if ((object)@emailAttachment == null) throw new ArgumentNullException("emailAttachment"); if (@emailAttachment.IsNew) return true; using (ContextWrapper<TextMetal.HostImpl.AspNetSample.Objects.Model.L2S.TxtMtlPrimaryDataContext> ctx = unitOfWorkContext.GetContext<TextMetal.HostImpl.AspNetSample.Objects.Model.L2S.TxtMtlPrimaryDataContext>()) { this.OnPreDeleteEmailAttachment(unitOfWorkContext, @emailAttachment); query = [email protected](lo => lo.@EmailAttachmentId == @emailAttachment.@EmailAttachmentId); if((object)query == null) throw new InvalidOperationException("TODO (enhancement): add meaningful message"); [email protected](query); try { ctx.Context.SubmitChanges(ConflictMode.FailOnFirstConflict); } catch (ChangeConflictException ccex) { this.OnDiscardConflictEmailAttachment(unitOfWorkContext, @emailAttachment); return false; } this.OnPostDeleteEmailAttachment(unitOfWorkContext, @emailAttachment); @emailAttachment.IsNew = false; return true; } }
partial void OnSelectEmailAttachment(IUnitOfWorkContext unitOfWorkContext, EmailAttachment @emailAttachment);
partial void OnSaveConflictEmailAttachment(IUnitOfWorkContext unitOfWorkContext, EmailAttachment @emailAttachment);
partial void OnPreUpdateEmailAttachment(IUnitOfWorkContext unitOfWorkContext, EmailAttachment @emailAttachment);
partial void OnPreInsertEmailAttachment(IUnitOfWorkContext unitOfWorkContext, EmailAttachment @emailAttachment);
partial void OnPostDeleteEmailAttachment(IUnitOfWorkContext unitOfWorkContext, EmailAttachment @emailAttachment);
public bool SaveEmailAttachment(IUnitOfWorkContext unitOfWorkContext, EmailAttachment @emailAttachment) { TextMetal.HostImpl.AspNetSample.Objects.Model.L2S.EmailAttachment query; bool wasNew; if ((object)unitOfWorkContext == null) throw new ArgumentNullException("unitOfWorkContext"); if ((object)@emailAttachment == null) throw new ArgumentNullException("emailAttachment"); using (ContextWrapper<TextMetal.HostImpl.AspNetSample.Objects.Model.L2S.TxtMtlPrimaryDataContext> ctx = unitOfWorkContext.GetContext<TextMetal.HostImpl.AspNetSample.Objects.Model.L2S.TxtMtlPrimaryDataContext>()) { wasNew = @emailAttachment.IsNew; if (wasNew) { this.OnPreInsertEmailAttachment(unitOfWorkContext, @emailAttachment); query = new TextMetal.HostImpl.AspNetSample.Objects.Model.L2S.EmailAttachment(); ctx.Context.EmailAttachments.InsertOnSubmit(query); } else { this.OnPreUpdateEmailAttachment(unitOfWorkContext, @emailAttachment); query = ctx.Context.EmailAttachments.SingleOrDefault(lo => lo.@EmailAttachmentId == @emailAttachment.@EmailAttachmentId); if((object)query == null) throw new InvalidOperationException("TODO (enhancement): add meaningful message"); } // map caller POCO changes to L2S object query.@EmailAttachmentId = @emailAttachment.@EmailAttachmentId; query.@EmailMessageId = @emailAttachment.@EmailMessageId; query.@MimeType = @emailAttachment.@MimeType; if ((object)@emailAttachment.@AttachmentBits != null) // prevent implicit conversion of null -> exception query.@AttachmentBits = @emailAttachment.@AttachmentBits; query.@CreationTimestamp = @emailAttachment.@CreationTimestamp; query.@ModificationTimestamp = @emailAttachment.@ModificationTimestamp; query.@LogicalDelete = @emailAttachment.@LogicalDelete; try { ctx.Context.SubmitChanges(ConflictMode.FailOnFirstConflict); } catch (ChangeConflictException ccex) { this.OnSaveConflictEmailAttachment(unitOfWorkContext, @emailAttachment); return false; } // map server changes back to POCO from L2S object @emailAttachment.@EmailAttachmentId = query.@EmailAttachmentId; @emailAttachment.@EmailMessageId = query.@EmailMessageId; @emailAttachment.@MimeType = query.@MimeType; @emailAttachment.@AttachmentBits = (object)query.@AttachmentBits != null ? [email protected]() : null; @emailAttachment.@CreationTimestamp = query.@CreationTimestamp; @emailAttachment.@ModificationTimestamp = query.@ModificationTimestamp; @emailAttachment.@LogicalDelete = query.@LogicalDelete; if (wasNew) { this.OnPostInsertEmailAttachment(unitOfWorkContext, @emailAttachment); } else { this.OnPostUpdateEmailAttachment(unitOfWorkContext, @emailAttachment); } return true; } }
public EmailAttachment LoadEmailAttachment(IUnitOfWorkContext unitOfWorkContext, Int32 @emailAttachmentId) { EmailAttachment @emailAttachment; TextMetal.HostImpl.AspNetSample.Objects.Model.L2S.EmailAttachment query; if ((object)unitOfWorkContext == null) throw new ArgumentNullException("unitOfWorkContext"); using (ContextWrapper<TextMetal.HostImpl.AspNetSample.Objects.Model.L2S.TxtMtlPrimaryDataContext> ctx = unitOfWorkContext.GetContext<TextMetal.HostImpl.AspNetSample.Objects.Model.L2S.TxtMtlPrimaryDataContext>()) { query = ctx.Context.EmailAttachments.SingleOrDefault(lo => lo.@EmailAttachmentId == @emailAttachmentId); if ((object)query == null) return null; // does not exist @emailAttachment = new EmailAttachment() { // map result to POCO from L2S object @EmailAttachmentId = query.@EmailAttachmentId, @EmailMessageId = query.@EmailMessageId, @MimeType = query.@MimeType, @AttachmentBits = (object)query.AttachmentBits != null ? [email protected]() : null, @CreationTimestamp = query.@CreationTimestamp, @ModificationTimestamp = query.@ModificationTimestamp, @LogicalDelete = query.@LogicalDelete }; this.OnSelectEmailAttachment(unitOfWorkContext, @emailAttachment); return @emailAttachment; } }