Skip to content

Commit 15e3a27

Browse files
fredericDelaportehazzik
authored andcommitted
NH-3905 - Generate Async
1 parent 62addd9 commit 15e3a27

File tree

1,276 files changed

+134128
-364
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,276 files changed

+134128
-364
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,197 @@
1+
//------------------------------------------------------------------------------
2+
// <auto-generated>
3+
// This code was generated by AsyncGenerator.
4+
//
5+
// Changes to this file may cause incorrect behavior and will be lost if
6+
// the code is regenerated.
7+
// </auto-generated>
8+
//------------------------------------------------------------------------------
9+
10+
11+
using System;
12+
using System.Collections;
13+
using NHibernate.Cache;
14+
using NHibernate.Cache.Entry;
15+
using NHibernate.Engine;
16+
using NHibernate.Event;
17+
using NHibernate.Id;
18+
using NHibernate.Mapping;
19+
using NHibernate.Metadata;
20+
using NHibernate.Persister.Entity;
21+
using NHibernate.Tuple.Entity;
22+
using NHibernate.Type;
23+
using NHibernate.Util;
24+
25+
namespace NHibernate.DomainModel
26+
{
27+
using System.Threading.Tasks;
28+
using System.Threading;
29+
/// <content>
30+
/// Contains generated async methods
31+
/// </content>
32+
public partial class CustomPersister : IEntityPersister
33+
{
34+
35+
#region IEntityPersister Members
36+
37+
#region IOptimisticCacheSource Members
38+
39+
public Task<int[]> FindDirtyAsync(object[] currentState, object[] previousState, object entity, ISessionImplementor session, CancellationToken cancellationToken)
40+
{
41+
try
42+
{
43+
if (!EqualsHelper.Equals(currentState[0], previousState[0]))
44+
{
45+
return Task.FromResult<int[]>(new int[] { 0 });
46+
}
47+
else
48+
{
49+
return Task.FromResult<int[]>(null);
50+
}
51+
}
52+
catch (Exception ex)
53+
{
54+
return Task.FromException<int[]>(ex);
55+
}
56+
}
57+
58+
public Task<int[]> FindModifiedAsync(object[] old, object[] current, object entity, ISessionImplementor session, CancellationToken cancellationToken)
59+
{
60+
try
61+
{
62+
if (!EqualsHelper.Equals(old[0], current[0]))
63+
{
64+
return Task.FromResult<int[]>(new int[] { 0 });
65+
}
66+
else
67+
{
68+
return Task.FromResult<int[]>(null);
69+
}
70+
}
71+
catch (Exception ex)
72+
{
73+
return Task.FromException<int[]>(ex);
74+
}
75+
}
76+
77+
public Task<object[]> GetNaturalIdentifierSnapshotAsync(object id, ISessionImplementor session, CancellationToken cancellationToken)
78+
{
79+
return Task.FromResult<object[]>(null);
80+
}
81+
82+
public async Task<object> LoadAsync(object id, object optionalObject, LockMode lockMode, ISessionImplementor session, CancellationToken cancellationToken)
83+
{
84+
// fails when optional object is supplied
85+
Custom clone = null;
86+
Custom obj = (Custom)Instances[id];
87+
if (obj != null)
88+
{
89+
clone = (Custom)obj.Clone();
90+
TwoPhaseLoad.AddUninitializedEntity(session.GenerateEntityKey(id, this), clone, this, LockMode.None, false,
91+
session);
92+
TwoPhaseLoad.PostHydrate(this, id, new String[] {obj.Name}, null, clone, LockMode.None, false, session);
93+
await (TwoPhaseLoad.InitializeEntityAsync(clone, false, session, new PreLoadEvent((IEventSource) session),
94+
new PostLoadEvent((IEventSource) session), cancellationToken));
95+
}
96+
return clone;
97+
}
98+
99+
public Task LockAsync(object id, object version, object obj, LockMode lockMode, ISessionImplementor session, CancellationToken cancellationToken)
100+
{
101+
throw new NotSupportedException();
102+
}
103+
104+
public Task InsertAsync(object id, object[] fields, object obj, ISessionImplementor session, CancellationToken cancellationToken)
105+
{
106+
try
107+
{
108+
Instances[id] = ((Custom)obj).Clone();
109+
return Task.CompletedTask;
110+
}
111+
catch (Exception ex)
112+
{
113+
return Task.FromException<object>(ex);
114+
}
115+
}
116+
117+
public Task<object> InsertAsync(object[] fields, object obj, ISessionImplementor session, CancellationToken cancellationToken)
118+
{
119+
throw new NotSupportedException();
120+
}
121+
122+
public Task DeleteAsync(object id, object version, object obj, ISessionImplementor session, CancellationToken cancellationToken)
123+
{
124+
try
125+
{
126+
Instances.Remove(id);
127+
return Task.CompletedTask;
128+
}
129+
catch (Exception ex)
130+
{
131+
return Task.FromException<object>(ex);
132+
}
133+
}
134+
135+
public Task UpdateAsync(object id, object[] fields, int[] dirtyFields, bool hasDirtyCollection, object[] oldFields,
136+
object oldVersion, object obj, object rowId, ISessionImplementor session, CancellationToken cancellationToken)
137+
{
138+
try
139+
{
140+
Instances[id] = ((Custom)obj).Clone();
141+
return Task.CompletedTask;
142+
}
143+
catch (Exception ex)
144+
{
145+
return Task.FromException<object>(ex);
146+
}
147+
}
148+
149+
public Task<object[]> GetDatabaseSnapshotAsync(object id, ISessionImplementor session, CancellationToken cancellationToken)
150+
{
151+
return Task.FromResult<object[]>(null);
152+
}
153+
154+
public Task<object> GetCurrentVersionAsync(object id, ISessionImplementor session, CancellationToken cancellationToken)
155+
{
156+
try
157+
{
158+
return Task.FromResult<object>(Instances[id]);
159+
}
160+
catch (Exception ex)
161+
{
162+
return Task.FromException<object>(ex);
163+
}
164+
}
165+
166+
public Task<object> ForceVersionIncrementAsync(object id, object currentVersion, ISessionImplementor session, CancellationToken cancellationToken)
167+
{
168+
return Task.FromResult<object>(null);
169+
}
170+
171+
public Task<bool?> IsTransientAsync(object obj, ISessionImplementor session, CancellationToken cancellationToken)
172+
{
173+
try
174+
{
175+
return Task.FromResult<bool?>(((Custom) obj).Id == null);
176+
}
177+
catch (Exception ex)
178+
{
179+
return Task.FromException<bool?>(ex);
180+
}
181+
}
182+
183+
public Task ProcessInsertGeneratedPropertiesAsync(object id, object entity, object[] state, ISessionImplementor session, CancellationToken cancellationToken)
184+
{
185+
return Task.CompletedTask;
186+
}
187+
188+
public Task ProcessUpdateGeneratedPropertiesAsync(object id, object entity, object[] state, ISessionImplementor session, CancellationToken cancellationToken)
189+
{
190+
return Task.CompletedTask;
191+
}
192+
193+
#endregion
194+
195+
#endregion
196+
}
197+
}

src/NHibernate.DomainModel/CustomPersister.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ namespace NHibernate.DomainModel
1717
/// <summary>
1818
/// Summary description for CustomPersister.
1919
/// </summary>
20-
public class CustomPersister : IEntityPersister
20+
public partial class CustomPersister : IEntityPersister
2121
{
2222
private static readonly Hashtable Instances = new Hashtable();
2323
private static readonly IIdentifierGenerator Generator = new UUIDHexGenerator();

0 commit comments

Comments
 (0)