|
|
@@ -121,8 +121,8 @@ namespace InABox.API
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- var userID = request.UserID ?? request.Credentials.UserID;
|
|
|
- var password = request.Password ?? request.Credentials.Password;
|
|
|
+ var userID = request.UserID;
|
|
|
+ var password = request.Password;
|
|
|
if (userID == null || password == null)
|
|
|
return response.Status(StatusCode.Error);
|
|
|
user = CredentialsCache.ValidateUser(userID, password);
|
|
|
@@ -391,38 +391,31 @@ namespace InABox.API
|
|
|
|
|
|
store.Save(es, request.AuditNote);
|
|
|
|
|
|
- if (request.ReturnOnlyChanged)
|
|
|
- {
|
|
|
- for (int i = 0; i < es.Length; ++i)
|
|
|
- {
|
|
|
- var result = new Dictionary<string, object>();
|
|
|
+ for (int i = 0; i < es.Length; ++i)
|
|
|
+ {
|
|
|
+ var result = new Dictionary<string, object>();
|
|
|
|
|
|
- var e = es[i];
|
|
|
+ var e = es[i];
|
|
|
|
|
|
- var currentChanges = BaseObjectExtensions.GetOriginaValues(e);
|
|
|
+ var currentChanges = BaseObjectExtensions.GetOriginaValues(e);
|
|
|
|
|
|
- var preSaveChanges = originals[e];
|
|
|
+ var preSaveChanges = originals[e];
|
|
|
|
|
|
- foreach (var (key, value) in currentChanges)
|
|
|
+ foreach (var (key, value) in currentChanges)
|
|
|
+ {
|
|
|
+ if (preSaveChanges.TryGetValue(key, out var oldValue))
|
|
|
{
|
|
|
- if (preSaveChanges.TryGetValue(key, out var oldValue))
|
|
|
- {
|
|
|
- if (!Equals(value, oldValue))
|
|
|
- {
|
|
|
- result[key] = CoreUtils.GetPropertyValue(e, key);
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
+ if (!Equals(value, oldValue))
|
|
|
{
|
|
|
result[key] = CoreUtils.GetPropertyValue(e, key);
|
|
|
}
|
|
|
}
|
|
|
- response.ChangedValues.Add(result);
|
|
|
+ else
|
|
|
+ {
|
|
|
+ result[key] = CoreUtils.GetPropertyValue(e, key);
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- response.Items = es;
|
|
|
+ response.ChangedValues.Add(result);
|
|
|
}
|
|
|
|
|
|
response.Status = StatusCode.OK;
|