api-defaultvalue: fix

This commit is contained in:
SuhorukovAnton 2020-06-29 13:37:53 +03:00
parent 51be59740e
commit 6869d7c8d1
13 changed files with 284 additions and 332 deletions

View File

@ -26,7 +26,6 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Runtime.Serialization;
@ -43,8 +42,6 @@ using Newtonsoft.Json.Linq;
namespace ASC.Files.Core
{
[DataContract(Name = "editHistory", Namespace = "")]
[DebuggerDisplay("{ID} v{Version}")]
public class EditHistory
{
public EditHistory(
@ -62,15 +59,12 @@ namespace ASC.Files.Core
}
public int ID;
[DataMember(Name = "key")] public string Key;
[DataMember(Name = "version")] public int Version;
[DataMember(Name = "versionGroup")] public int VersionGroup;
public string Key;
public int Version;
public int VersionGroup;
public EditHistoryAuthor ModifiedBy;
public string ChangesString;
[DataMember(Name = "user")] public EditHistoryAuthor ModifiedBy;
[DataMember(Name = "changeshistory", EmitDefaultValue = false)] public string ChangesString;
[DataMember(Name = "changes", EmitDefaultValue = false)]
public List<EditHistoryChanges> Changes
{
get
@ -141,7 +135,6 @@ namespace ASC.Files.Core
public DateTime ModifiedOn;
[DataMember(Name = "created")]
public string ModifiedOnString
{
get { return ModifiedOn.Equals(default) ? null : ModifiedOn.ToString("g"); }
@ -154,11 +147,9 @@ namespace ASC.Files.Core
public UserManager UserManager { get; }
public DisplayUserSettingsHelper DisplayUserSettingsHelper { get; }
[DataMember(Name = "serverVersion", EmitDefaultValue = false)] public string ServerVersion;
public string ServerVersion;
}
[DataContract(Name = "user", Namespace = "")]
[DebuggerDisplay("{Id} {Name}")]
public class EditHistoryAuthor
{
public EditHistoryAuthor(
@ -200,8 +191,6 @@ namespace ASC.Files.Core
public DisplayUserSettingsHelper DisplayUserSettingsHelper { get; }
}
[DataContract(Name = "change", Namespace = "")]
[DebuggerDisplay("{Author.Name}")]
public class EditHistoryChanges
{
public EditHistoryChanges(TenantUtil tenantUtil)
@ -209,19 +198,18 @@ namespace ASC.Files.Core
TenantUtil = tenantUtil;
}
[DataMember(Name = "user")] public EditHistoryAuthor Author;
public EditHistoryAuthor Author;
private DateTime _date;
private DateTime DateTime;
[DataMember(Name = "created")]
public string Date
{
get { return _date.Equals(default) ? null : _date.ToString("g"); }
get { return DateTime.Equals(default) ? null : DateTime.ToString("g"); }
set
{
if (DateTime.TryParse(value, out _date))
if (DateTime.TryParse(value, out DateTime))
{
_date = TenantUtil.DateTimeFromUtc(_date);
DateTime = TenantUtil.DateTimeFromUtc(DateTime);
}
}
}
@ -229,29 +217,26 @@ namespace ASC.Files.Core
public TenantUtil TenantUtil { get; }
}
[DataContract(Name = "data")]
[DebuggerDisplay("{Version}")]
public class EditHistoryData
{
[DataMember(Name = "changesUrl", EmitDefaultValue = false)] public string ChangesUrl;
public string ChangesUrl;
[DataMember(Name = "key")] public string Key;
public string Key;
[DataMember(Name = "previous", EmitDefaultValue = false)] public EditHistoryUrl Previous;
public EditHistoryUrl Previous;
[DataMember(Name = "token", EmitDefaultValue = false)] public string Token;
public string Token;
[DataMember(Name = "url")] public string Url;
public string Url;
[DataMember(Name = "version")] public int Version;
public int Version;
}
[DataContract(Name = "url")]
[DebuggerDisplay("{Key} - {Url}")]
public class EditHistoryUrl
{
[DataMember(Name = "key")] public string Key;
public string Key;
[DataMember(Name = "url")] public string Url;
public string Url;
}
}

View File

@ -165,7 +165,7 @@ namespace ASC.Files.Core
}
[DataMember(EmitDefaultValue = false, Name = "locked")]
public bool Locked { get; set; }
public bool? Locked { get; set; }
[DataMember(EmitDefaultValue = false, Name = "locked_by")]
public string LockedBy { get; set; }
@ -183,7 +183,7 @@ namespace ASC.Files.Core
}
[DataMember(EmitDefaultValue = false, Name = "encrypted")]
public bool Encrypted { get; set; }
public bool? Encrypted { get; set; }
public ForcesaveType Forcesave { get; set; }

View File

@ -299,7 +299,7 @@ namespace ASC.Web.Files.Services.WCFService
parent.ParentFolderID = prevVisible.ID;
}
parent.Shareable = FileSharing.CanSetAccess(parent) || parent.FolderType == FolderType.SHARE;
parent.Shareable = (FileSharing.CanSetAccess(parent) || parent.FolderType == FolderType.SHARE) ? (bool?)true : null;
entries = entries.Where(x => x.FileEntryType == FileEntryType.Folder || !FileConverter.IsConverting((File<T>)x));
@ -1195,7 +1195,7 @@ namespace ASC.Web.Files.Services.WCFService
FileMarker.RemoveMarkAsNewForAll(folder);
}
providerDao.RemoveProviderInfo(folder.ProviderId);
providerDao.RemoveProviderInfo(folder.ProviderId == null ? 0 : (int) folder.ProviderId);
FilesMessageService.Send(folder, GetHttpHeaders(), MessageAction.ThirdPartyDeleted, folder.ID.ToString(), providerInfo.ProviderKey);
return folder.ID;
@ -1736,7 +1736,7 @@ namespace ASC.Web.Files.Services.WCFService
var changed = false;
bool? canShare = null;
if (file.Encrypted) canShare = false;
if (file.Encrypted == null ? false : (bool)file.Encrypted) canShare = false;
var recipients = new List<Guid>();
foreach (var email in mentionMessage.Emails)

View File

@ -150,7 +150,7 @@ namespace ASC.Files.Thirdparty
{
fileEntry.CreateBy = ProviderInfo.Owner;
fileEntry.ModifiedBy = ProviderInfo.Owner;
fileEntry.ProviderId = ProviderInfo.ID;
fileEntry.ProviderId = ProviderInfo.ID == 0 ? null :(int?)ProviderInfo.ID;
fileEntry.ProviderKey = ProviderInfo.ProviderKey;
fileEntry.RootFolderCreator = ProviderInfo.Owner;
fileEntry.RootFolderType = ProviderInfo.RootFolderType;

View File

@ -289,7 +289,7 @@ namespace ASC.Files.Thirdparty.SharePoint
result.CreateOn = DateTime.UtcNow;
result.ModifiedBy = Owner;
result.ModifiedOn = DateTime.UtcNow;
result.ProviderId = ID;
result.ProviderId = ID == 0 ? null : (int?)ID;
result.ProviderKey = ProviderKey;
result.RootFolderCreator = Owner;
result.RootFolderId = MakeId(RootFolder.ServerRelativeUrl);
@ -310,7 +310,7 @@ namespace ASC.Files.Thirdparty.SharePoint
result.ModifiedBy = Owner;
result.ModifiedOn = file.TimeLastModified.Kind == DateTimeKind.Utc ? TenantUtil.DateTimeFromUtc(file.TimeLastModified) : file.TimeLastModified;
result.NativeAccessor = file;
result.ProviderId = ID;
result.ProviderId = ID == 0 ? null : (int?)ID;
result.ProviderKey = ProviderKey;
result.Title = MakeTitle(file.Name);
result.RootFolderId = MakeId(SpRootFolderId);
@ -506,12 +506,12 @@ namespace ASC.Files.Thirdparty.SharePoint
result.FolderType = FolderType.DEFAULT;
result.ModifiedBy = Owner;
result.ModifiedOn = DateTime.UtcNow;
result.ProviderId = ID;
result.ProviderId = ID == 0 ? null : (int?)ID;
result.ProviderKey = ProviderKey;
result.RootFolderCreator = Owner;
result.RootFolderId = MakeId(SpRootFolderId);
result.RootFolderType = RootFolderType;
result.Shareable = false;
result.Shareable = null;
result.Title = MakeTitle(GetTitleById(errorFolder.ID));
result.TotalFiles = 0;
result.TotalSubFolders = 0;
@ -529,12 +529,12 @@ namespace ASC.Files.Thirdparty.SharePoint
result.FolderType = FolderType.DEFAULT;
result.ModifiedBy = Owner;
result.ModifiedOn = CreateOn;
result.ProviderId = ID;
result.ProviderId = ID == 0 ? null : (int?)ID;
result.ProviderKey = ProviderKey;
result.RootFolderCreator = Owner;
result.RootFolderId = MakeId(RootFolder.ServerRelativeUrl);
result.RootFolderType = RootFolderType;
result.Shareable = false;
result.Shareable = null;
result.Title = isRoot ? CustomerTitle : MakeTitle(folder.Name);
result.TotalFiles = 0;
result.TotalSubFolders = 0;

View File

@ -26,9 +26,7 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Runtime.Serialization;
using System.Security;
using ASC.Common;
@ -428,39 +426,23 @@ namespace ASC.Web.Files.Helpers
}
[DataContract]
[DebuggerDisplay("{AccountId} {BaseUri}")]
private class DocuSignAccount
{
[DataMember(Name = "account_id", EmitDefaultValue = false)]
public string AccountId { get; set; }
[DataMember(Name = "base_uri", EmitDefaultValue = false)]
public string BaseUri { get; set; }
}
[DataContract]
private class DocuSignUserInfo
{
[DataMember(Name = "accounts", EmitDefaultValue = false)]
public List<DocuSignAccount> Accounts { get; set; }
}
}
[DataContract(Name = "docusign_data", Namespace = "")]
[DebuggerDisplay("{Name}")]
public class DocuSignData
{
[DataMember(Name = "folderId")]
public string FolderId { get; set; }
[DataMember(Name = "message")]
public string Message { get; set; }
[DataMember(Name = "name", IsRequired = true, EmitDefaultValue = false)]
public string Name { get; set; }
[DataMember(Name = "users")]
public ItemList<Guid> Users { get; set; }
}

View File

@ -56,7 +56,7 @@ namespace ASC.Api.Documents
/// <summary>
/// </summary>
[DataMember(EmitDefaultValue = true, IsRequired = false)]
public int Version { get; set; }
public int? Version { get; set; }
/// <summary>
/// </summary>
@ -194,7 +194,7 @@ namespace ASC.Api.Documents
result.FileExst = FileUtility.GetFileExtension(file.Title);
result.FileType = FileUtility.GetFileTypeByExtention(result.FileExst);
result.Version = file.Version;
result.Version = file.Version == 0 ? null : (int?)file.Version;
result.VersionGroup = file.VersionGroup;
result.ContentLength = file.ContentLengthString;
result.FileStatus = file.FileStatus;

View File

@ -25,7 +25,6 @@
using System.Collections.Generic;
using System.Runtime.Serialization;
using ASC.Core.Users;
using ASC.Web.Core.Users;
@ -33,27 +32,20 @@ using ASC.Web.Files.Services.DocumentService;
namespace ASC.Web.Files.Services.WCFService
{
[DataContract(Name = "mention", Namespace = "")]
public class MentionWrapper
{
[DataMember(Name = "email", EmitDefaultValue = false)]
public string Email
{
get { return User.Email; }
set { }
}
[DataMember(Name = "id", EmitDefaultValue = false)]
public string Id
{
get { return User.ID.ToString(); }
set { }
}
[DataMember(Name = "hasAccess", EmitDefaultValue = false)]
public bool? HasAccess { get; set; }
[DataMember(Name = "name", EmitDefaultValue = false)]
public bool HasAccess { get; set; }
public string Name
{
get { return User.DisplayUserName(false, DisplayUserSettingsHelper); }
@ -72,16 +64,10 @@ namespace ASC.Web.Files.Services.WCFService
}
[DataContract(Name = "message", Namespace = "")]
public class MentionMessageWrapper
{
[DataMember(Name = "actionLink")]
public ActionLinkConfig ActionLink { get; set; }
[DataMember(Name = "emails")]
public List<string> Emails { get; set; }
[DataMember(Name = "message")]
public string Message { get; set; }
}
}

View File

@ -32,7 +32,6 @@ using System.Net;
using System.Security;
using System.Text;
using System.Threading;
using ASC.Common;
using ASC.Common.Caching;
using ASC.Common.Logging;
@ -597,12 +596,12 @@ namespace ASC.Web.Files.Utils
folder.FolderType = FolderType.DEFAULT;
folder.ModifiedBy = providerInfo.Owner;
folder.ModifiedOn = providerInfo.CreateOn;
folder.ProviderId = providerInfo.ID;
folder.ProviderId = providerInfo.ID == 0 ? null : (int?)providerInfo.ID;
folder.ProviderKey = providerInfo.ProviderKey;
folder.RootFolderCreator = providerInfo.Owner;
folder.RootFolderId = providerInfo.RootFolderId;
folder.RootFolderType = providerInfo.RootFolderType;
folder.Shareable = false;
folder.Shareable = null;
folder.Title = providerInfo.CustomerTitle;
folder.TotalFiles = 0;
folder.TotalSubFolders = 0;
@ -646,7 +645,7 @@ namespace ASC.Web.Files.Utils
var tagLocked = tagsLocked.FirstOrDefault(t => t.EntryId.Equals(file.ID));
var lockedBy = tagLocked != null ? tagLocked.Owner : Guid.Empty;
file.Locked = lockedBy != Guid.Empty;
file.Locked = (lockedBy != Guid.Empty) == false? null : (bool?)(lockedBy != Guid.Empty);
file.LockedBy = lockedBy != Guid.Empty && lockedBy != AuthContext.CurrentAccount.ID
? Global.GetUserName(lockedBy)
: null;

View File

@ -513,7 +513,7 @@ namespace ASC.Web.Files.Utils
return false;
}
if (file.Encrypted != null && (bool)file.Encrypted)
if (file.Encrypted == null ? false : (bool)file.Encrypted)
{
return false;
}

View File

@ -187,7 +187,7 @@ namespace ASC.Web.Files.Utils
&& !EntryManager.FileLockedForMe(file.ID)
&& !FileTracker.IsEditing(file.ID)
&& file.RootFolderType != FolderType.TRASH
&& !(file.Encrypted);
&& !file.Encrypted == null ? false : (bool) file.Encrypted;
}
private T GetFolderId<T>(T folderId, IList<string> relativePath)