/// <summary> /// Fixed: /// </summary> public static string DeleteSiteImage(SiteModel siteModel) { siteModel.SiteSettings = SiteSettingsUtilities.Get(siteModel, siteModel.SiteId); var invalid = BinaryValidators.OnDeletingSiteImage(siteModel.SiteSettings); switch (invalid) { case Error.Types.None: break; default: return(invalid.MessageJson()); } var error = new BinaryModel(siteModel.SiteId).DeleteSiteImage(); if (error.Has()) { return(error.MessageJson()); } else { return(new ResponseCollection() .Html( "#SiteImageIconContainer", new HtmlBuilder().SiteImageIcon( ss: siteModel.SiteSettings, siteId: siteModel.SiteId)) .Html( "#SiteImageSettingsEditor", new HtmlBuilder().SiteImageSettingsEditor( ss: siteModel.SiteSettings)) .Message(Messages.FileDeleteCompleted()) .ToJson()); } }
/// <summary> /// Fixed: /// </summary> public static bool ExistsTenantImage( Context context, SiteSettings ss, long referenceId, Libraries.Images.ImageData.SizeTypes sizeType) { var invalid = BinaryValidators.OnGetting( context: context, ss: ss); switch (invalid.Type) { case Error.Types.None: break; default: return(false); } switch (Parameters.BinaryStorage.Provider) { case "Local": return(new Libraries.Images.ImageData( referenceId, Libraries.Images.ImageData.Types.TenantImage) .Exists(sizeType)); default: return(Rds.ExecuteScalar_int( context: context, statements: Rds.SelectBinaries( column: Rds.BinariesColumn().BinariesCount(), where : Rds.BinariesWhere() .ReferenceId(referenceId) .BinaryType("TenantImage"))) == 1); } }
/// <summary> /// Fixed: /// </summary> public static string DeleteTenantImage(Context context, TenantModel tenantModel) { var ss = SiteSettingsUtilities.TenantsSiteSettings(context); var invalid = BinaryValidators.OnDeletingTenantImage( context: context, ss: ss); switch (invalid) { case Error.Types.None: break; default: return(invalid.MessageJson(context: context)); } var error = new BinaryModel(tenantModel.TenantId) .DeleteTenantImage(context: context); if (error.Has()) { return(error.MessageJson(context: context)); } else { return(new ResponseCollection() .ReplaceAll( "#Logo", new HtmlBuilder().HeaderLogo( context: context)) .ReplaceAll( "#TenantImageSettingsEditor", new HtmlBuilder().TenantImageSettingsEditor( context: context, tenantModel: tenantModel)) .Message(Messages.FileDeleteCompleted(context: context)) .ToJson()); } }
/// <summary> /// Fixed: /// </summary> public static (byte[] bytes, string contentType) TenantImageLogo(Context context, TenantModel tenantModel) { var ss = SiteSettingsUtilities.TenantsSiteSettings(context); var invalid = BinaryValidators.OnGetting( context: context, ss: ss); switch (invalid.Type) { case Error.Types.None: break; default: return(null, null); } var binaryModel = new BinaryModel( context: context, referenceId: tenantModel.TenantId, binaryType: "TenantImage"); return( binaryModel.TenantImage( context: context, sizeType: Libraries.Images.ImageData.SizeTypes.Logo, column: Rds.BinariesColumn().Bin()), binaryModel.ContentType.IsNullOrEmpty() ? "image/bmp" : binaryModel.ContentType); }
/// <summary> /// Fixed: /// </summary> public static (byte[] bytes, string contentType) SiteImageIcon(Context context, SiteModel siteModel) { siteModel.SiteSettings = SiteSettingsUtilities.Get( context: context, siteModel: siteModel, referenceId: siteModel.SiteId); var invalid = BinaryValidators.OnGetting( context: context, ss: siteModel.SiteSettings); switch (invalid.Type) { case Error.Types.None: break; default: return(null, null); } var binaryModel = new BinaryModel( context: context, referenceId: siteModel.SiteId, binaryType: "SiteImage"); return( binaryModel.SiteImage( context: context, sizeType: Libraries.Images.ImageData.SizeTypes.Icon, column: Rds.BinariesColumn().Icon()), binaryModel.ContentType.IsNullOrEmpty() ? "image/bmp" : binaryModel.ContentType); }
/// <summary> /// Fixed: /// </summary> public static string DeleteImage(Context context, string guid) { var binaryModel = new BinaryModel() .Get( context: context, where : Rds.BinariesWhere() .TenantId(context.TenantId) .Guid(guid)); var ss = new ItemModel( context: context, referenceId: binaryModel.ReferenceId) .GetSite( context: context, initSiteSettings: true) .SiteSettings; var invalid = BinaryValidators.OnDeletingImage( context: context, ss: ss, binaryModel: binaryModel); switch (invalid) { case Error.Types.None: break; default: return(invalid.MessageJson(context: context)); } binaryModel.Delete(context: context); return(new ResponseCollection() .Message(Messages.DeletedImage(context: context)) .Remove($"#ImageLib .item[data-id=\"{guid}\"]") .ToJson()); }
/// <summary> /// Fixed: /// </summary> public static string UploadImage(IContext context, long id) { var controlId = context.Forms.ControlId(); var ss = new ItemModel( context: context, referenceId: id).GetSite( context: context, initSiteSettings: true) .SiteSettings; var invalid = BinaryValidators.OnUploadingImage(context: context); switch (invalid) { case Error.Types.OverTenantStorageSize: return(Messages.ResponseOverTenantStorageSize( context: context, data: context.ContractSettings.StorageSize.ToString()).ToJson()); case Error.Types.None: break; default: return(invalid.MessageJson(context: context)); } var file = context.PostedFiles.FirstOrDefault(); var bin = file.Byte(); if (Parameters.BinaryStorage.IsLocal()) { bin.Write(System.IO.Path.Combine( Directories.BinaryStorage(), "Images", file.Guid)); } else { Rds.ExecuteNonQuery( context: context, statements: Rds.InsertBinaries( param: Rds.BinariesParam() .TenantId(context.TenantId) .ReferenceId(id) .Guid(file.Guid) .BinaryType("Images") .Title(file.FileName) .Bin(bin) .FileName(file.FileName) .Extension(file.Extension) .Size(file.Size) .ContentType(file.ContentType))); } var hb = new HtmlBuilder(); return(new ResponseCollection() .InsertText( "#" + context.Forms.ControlId(), "![image]({0})".Params(Locations.ShowFile( context: context, guid: file.Guid))) .ToJson()); }
/// <summary> /// Fixed: /// </summary> public static string UploadImage( Context context, System.Web.HttpPostedFileBase[] files, long id) { var controlId = Forms.ControlId(); var ss = new ItemModel( context: context, referenceId: id).GetSite( context: context, initSiteSettings: true) .SiteSettings; var invalid = BinaryValidators.OnUploadingImage( context: context, files: files); switch (invalid) { case Error.Types.OverTenantStorageSize: return(Messages.ResponseOverTenantStorageSize( Contract.TenantStorageSize(context: context).ToString()).ToJson()); case Error.Types.None: break; default: return(invalid.MessageJson()); } var guid = Strings.NewGuid(); var file = files[0]; var size = file.ContentLength; var bin = file.Byte(); Rds.ExecuteNonQuery( context: context, statements: Rds.InsertBinaries( param: Rds.BinariesParam() .TenantId(context.TenantId) .ReferenceId(id) .Guid(guid) .BinaryType("Images") .Title(file.FileName) .Bin(bin, _using: !Parameters.BinaryStorage.IsLocal()) .FileName(file.FileName) .Extension(file.Extension()) .Size(size) .ContentType(file.ContentType))); if (Parameters.BinaryStorage.IsLocal()) { bin.Write(System.IO.Path.Combine(Directories.BinaryStorage(), "Images", guid)); } var hb = new HtmlBuilder(); return(new ResponseCollection() .InsertText("#" + Forms.ControlId(), $"![image]({Locations.ShowFile(guid)})") .ToJson()); }
/// <summary> /// Fixed: /// </summary> public static string MultiUpload(System.Web.HttpPostedFileBase[] files, long id) { var controlId = Forms.ControlId(); var ss = new ItemModel(id).GetSite(initSiteSettings: true).SiteSettings; var column = ss.GetColumn(Forms.Data("ColumnName")); var attachments = Forms.Data("AttachmentsData").Deserialize <Attachments>(); var invalid = BinaryValidators.OnUploading(column, attachments, files); switch (invalid) { case Error.Types.OverLimitQuantity: return(Messages.ResponseOverLimitQuantity( column.LimitQuantity.ToString()).ToJson()); case Error.Types.OverLimitSize: return(Messages.ResponseOverLimitSize( column.LimitSize.ToString()).ToJson()); case Error.Types.OverTotalLimitSize: return(Messages.ResponseOverTotalLimitSize( column.TotalLimitSize.ToString()).ToJson()); case Error.Types.OverTenantStorageSize: return(Messages.ResponseOverTenantStorageSize( Contract.TenantStorageSize().ToString()).ToJson()); case Error.Types.None: break; default: return(invalid.MessageJson()); } files.ForEach(file => attachments.Add(new Attachment() { Guid = file.WriteToTemp(), Name = file.FileName.Split('\\').Last(), Size = file.ContentLength, Extention = file.Extension(), ContentType = file.ContentType, Added = true, Deleted = false })); var hb = new HtmlBuilder(); return(new ResponseCollection() .ReplaceAll($"#{controlId}Field", new HtmlBuilder() .Field( ss: ss, column: column, value: attachments.ToJson(), columnPermissionType: column.ColumnPermissionType())) .SetData("#" + controlId) .ToJson()); }
private static ErrorData OnAttaching( Context context, SiteSettings ss, IssueModel issueModel) { foreach (var column in ss.Columns.Where(o => o.TypeCs == "Attachments")) { if (issueModel.Attachments_Updated( columnName: column.Name, context: context, column: column)) { var invalid = BinaryValidators.OnUploading( context: context, ss: ss, attachmentsHash: issueModel.AttachmentsHash); switch (invalid) { case Error.Types.OverLimitQuantity: return(new ErrorData( type: Error.Types.OverLimitQuantity, data: column.LimitQuantity.ToInt().ToString())); case Error.Types.OverLimitSize: return(new ErrorData( type: Error.Types.OverLimitSize, data: column.LimitSize.ToInt().ToString())); case Error.Types.OverTotalLimitSize: return(new ErrorData( type: Error.Types.OverTotalLimitSize, data: column.TotalLimitSize.ToInt().ToString())); case Error.Types.OverLocalFolderLimitSize: return(new ErrorData( type: Error.Types.OverLocalFolderLimitSize, data: column.LocalFolderLimitSize.ToInt().ToString())); case Error.Types.OverLocalFolderTotalLimitSize: return(new ErrorData( type: Error.Types.OverLocalFolderTotalLimitSize, data: column.LocalFolderTotalLimitSize.ToInt().ToString())); case Error.Types.OverTenantStorageSize: return(new ErrorData( type: Error.Types.OverTenantStorageSize, data: context.ContractSettings.StorageSize.ToInt().ToString())); } } } return(new ErrorData(type: Error.Types.None)); }
/// <summary> /// Fixed: /// </summary> public static byte[] SiteImageIcon(SiteModel siteModel) { siteModel.SiteSettings = SiteSettingsUtilities.Get(siteModel, siteModel.SiteId); var invalid = BinaryValidators.OnGetting(siteModel.SiteSettings); switch (invalid) { case Error.Types.None: break; default: return(null); } return(new BinaryModel(siteModel.SiteId).SiteImage( Libraries.Images.ImageData.SizeTypes.Icon, Rds.BinariesColumn().Icon())); }
/// <summary> /// Fixed: /// </summary> public static string SiteImagePrefix( SiteSettings ss, long referenceId, Libraries.Images.ImageData.SizeTypes sizeType) { var invalid = BinaryValidators.OnGetting(ss); switch (invalid) { case Error.Types.None: break; default: return(string.Empty); } return(new BinaryModel(referenceId).SiteImagePrefix(sizeType)); }
/// <summary> /// Fixed: /// </summary> public static string UpdateSiteImage(Context context, SiteModel siteModel) { siteModel.SiteSettings = SiteSettingsUtilities.Get( context: context, siteModel: siteModel, referenceId: siteModel.SiteId); var bin = context.PostedFiles.FirstOrDefault()?.Byte(); var invalid = BinaryValidators.OnUploadingSiteImage( context: context, ss: siteModel.SiteSettings, bin: bin); switch (invalid) { case Error.Types.None: break; default: return(invalid.MessageJson(context: context)); } var error = new BinaryModel(siteModel.SiteId).UpdateSiteImage( context: context, ss: siteModel.SiteSettings, bin: bin); if (error.Has()) { return(error.MessageJson(context: context)); } else { return(new ResponseCollection() .Html( "#TenantImageLogoContainer", new HtmlBuilder().SiteImageIcon( context: context, ss: siteModel.SiteSettings, siteId: siteModel.TenantId)) .Html( "#TenantImageSettingsEditor", new HtmlBuilder().SiteImageSettingsEditor( context: context, ss: siteModel.SiteSettings)) .Message(Messages.FileUpdateCompleted(context: context)) .ToJson()); } }
/// <summary> /// Fixed: /// </summary> public static byte[] TenantImageLogo(Context context, TenantModel tenantModel) { var ss = SiteSettingsUtilities.TenantsSiteSettings(context); var invalid = BinaryValidators.OnGetting( context: context, ss: ss); switch (invalid.Type) { case Error.Types.None: break; default: return(null); } return(new BinaryModel(tenantModel.TenantId).TenantImage( context: context, sizeType: Libraries.Images.ImageData.SizeTypes.Logo, column: Rds.BinariesColumn().Bin())); }
/// <summary> /// Fixed: /// </summary> public static string UpdateSiteImage(Context context, SiteModel siteModel) { siteModel.SiteSettings = SiteSettingsUtilities.Get( context: context, siteModel: siteModel, referenceId: siteModel.SiteId); var file = Forms.File(Libraries.Images.ImageData.Types.SiteImage.ToString()); var invalid = BinaryValidators.OnUploadingSiteImage( context: context, ss: siteModel.SiteSettings, file: file); switch (invalid) { case Error.Types.None: break; default: return(invalid.MessageJson()); } var error = new BinaryModel(siteModel.SiteId).UpdateSiteImage( context: context, file: file); if (error.Has()) { return(error.MessageJson()); } else { return(new ResponseCollection() .Html( "#SiteImageIconContainer", new HtmlBuilder().SiteImageIcon( context: context, ss: siteModel.SiteSettings, siteId: siteModel.SiteId)) .Html( "#SiteImageSettingsEditor", new HtmlBuilder().SiteImageSettingsEditor( context: context, ss: siteModel.SiteSettings)) .Message(Messages.FileUpdateCompleted()) .ToJson()); } }
/// <summary> /// Fixed: /// </summary> public static string TenantImagePrefix( Context context, SiteSettings ss, long referenceId, Libraries.Images.ImageData.SizeTypes sizeType) { var invalid = BinaryValidators.OnGetting( context: context, ss: ss); switch (invalid.Type) { case Error.Types.None: break; default: return(string.Empty); } return(new BinaryModel(referenceId).TenantImagePrefix( context: context, sizeType: sizeType)); }
/// <summary> /// Fixed: /// </summary> public static byte[] SiteImageIcon(Context context, SiteModel siteModel) { siteModel.SiteSettings = SiteSettingsUtilities.Get( context: context, siteModel: siteModel, referenceId: siteModel.SiteId); var invalid = BinaryValidators.OnGetting( context: context, ss: siteModel.SiteSettings); switch (invalid.Type) { case Error.Types.None: break; default: return(null); } return(new BinaryModel(siteModel.SiteId).SiteImage( context: context, sizeType: Libraries.Images.ImageData.SizeTypes.Icon, column: Rds.BinariesColumn().Icon())); }
/// <summary> /// Fixed: /// </summary> public static string UploadImage(System.Web.HttpPostedFileBase[] files, long id) { var controlId = Forms.ControlId(); var ss = new ItemModel(id).GetSite(initSiteSettings: true).SiteSettings; var invalid = BinaryValidators.OnUploadingImage(files); switch (invalid) { case Error.Types.OverTenantStorageSize: return(Messages.ResponseOverTenantStorageSize( Contract.TenantStorageSize().ToString()).ToJson()); case Error.Types.None: break; default: return(invalid.MessageJson()); } var guid = Strings.NewGuid(); var file = files[0]; Rds.ExecuteNonQuery(statements: Rds.InsertBinaries( param: Rds.BinariesParam() .TenantId(Sessions.TenantId()) .ReferenceId(id) .Guid(guid) .BinaryType("Image") .Title(file.FileName) .Bin(file.Byte()) .FileName(file.FileName) .Extension(file.Extension()) .Size(file.ContentLength) .ContentType(file.ContentType))); var hb = new HtmlBuilder(); return(new ResponseCollection() .InsertText("#" + Forms.ControlId(), $"![image]({Locations.ShowFile(guid)})") .ToJson()); }
/// <summary> /// Fixed: /// </summary> public static string UpdateSiteImage(SiteModel siteModel) { siteModel.SiteSettings = SiteSettingsUtilities.Get(siteModel, siteModel.SiteId); var invalid = BinaryValidators.OnUpdating(siteModel.SiteSettings); switch (invalid) { case Error.Types.None: break; default: return(invalid.MessageJson()); } var error = new BinaryModel(siteModel.SiteId).UpdateSiteImage( Forms.File(Libraries.Images.ImageData.Types.SiteImage.ToString())); if (error.Has()) { return(error.MessageJson()); } else { return(Messages.ResponseFileUpdateCompleted().ToJson()); } }
/// <summary> /// Fixed: /// </summary> public static string MultiUpload(IContext context, long id) { var controlId = context.Forms.ControlId(); var ss = new ItemModel( context: context, referenceId: id).GetSite( context: context, initSiteSettings: true) .SiteSettings; var column = ss.GetColumn( context: context, columnName: context.Forms.Data("ColumnName")); var attachments = context.Forms.Data("AttachmentsData").Deserialize <Attachments>(); var invalid = BinaryValidators.OnUploading( context: context, column: column, attachments: attachments); switch (invalid) { case Error.Types.OverLimitQuantity: return(Messages.ResponseOverLimitQuantity( context: context, data: column.LimitQuantity.ToString()).ToJson()); case Error.Types.OverLimitSize: return(Messages.ResponseOverLimitSize( context: context, data: column.LimitSize.ToString()).ToJson()); case Error.Types.OverTotalLimitSize: return(Messages.ResponseOverTotalLimitSize( context: context, data: column.TotalLimitSize.ToString()).ToJson()); case Error.Types.OverTenantStorageSize: return(Messages.ResponseOverTenantStorageSize( context: context, data: context.ContractSettings.StorageSize.ToString()).ToJson()); case Error.Types.None: break; default: return(invalid.MessageJson(context: context)); } context.PostedFiles.ForEach(file => attachments.Add(new Attachment() { Guid = file.Guid, Name = file.FileName.Split(System.IO.Path.DirectorySeparatorChar).Last(), Size = file.Size, Extention = file.Extension, ContentType = file.ContentType, Added = true, Deleted = false })); var hb = new HtmlBuilder(); return(new ResponseCollection() .ReplaceAll($"#{controlId}Field", new HtmlBuilder() .Field( context: context, ss: ss, column: column, value: attachments.ToJson(), columnPermissionType: column .ColumnPermissionType(context: context))) .SetData("#" + controlId) .ToJson()); }
/// <summary> /// Fixed: /// </summary> public static string MultiUpload(Context context, long id) { var controlId = context.Forms.ControlId(); var ss = new ItemModel( context: context, referenceId: id).GetSite( context: context, initSiteSettings: true) .SiteSettings; var column = ss.GetColumn( context: context, columnName: context.Forms.Data("ColumnName")); var attachments = context.Forms.Data("AttachmentsData").Deserialize <Attachments>(); var invalid = BinaryValidators.OnUploading( context: context, column: column, attachments: attachments); switch (invalid) { case Error.Types.OverLimitQuantity: return(Messages.ResponseOverLimitQuantity( context: context, data: column.LimitQuantity.ToString()).ToJson()); case Error.Types.OverLimitSize: return(Messages.ResponseOverLimitSize( context: context, data: column.LimitSize.ToString()).ToJson()); case Error.Types.OverTotalLimitSize: return(Messages.ResponseOverTotalLimitSize( context: context, data: column.TotalLimitSize.ToString()).ToJson()); case Error.Types.OverTenantStorageSize: return(Messages.ResponseOverTenantStorageSize( context: context, data: context.ContractSettings.StorageSize.ToString()).ToJson()); case Error.Types.None: break; default: return(invalid.MessageJson(context: context)); } context.PostedFiles.ForEach(file => attachments.Add(new Attachment() { Guid = file.Guid, Name = file.FileName.Split('\\').Last(), Size = file.Size, Extention = file.Extension, ContentType = file.ContentType, Added = true, Deleted = false })); var hb = new HtmlBuilder(); var fieldId = controlId + "Field"; return(new ResponseCollection() .ReplaceAll("#" + fieldId, new HtmlBuilder() .FieldAttachments( context: context, fieldId: fieldId, controlId: controlId, columnName: column.ColumnName, fieldCss: column.FieldCss, fieldDescription: column.Description, controlCss: column.ControlCss, labelText: column.LabelText, value: attachments.ToJson(), placeholder: column.LabelText, readOnly: column.ColumnPermissionType(context: context) != Permissions.ColumnPermissionTypes.Update)) .SetData("#" + controlId) .ToJson()); }
/// <summary> /// Fixed: /// </summary> public static string UploadImage(Context context, long id) { var invalid = BinaryValidators.OnUploadingImage(context: context); switch (invalid) { case Error.Types.OverTenantStorageSize: return(Messages.ResponseOverTenantStorageSize( context: context, data: context.ContractSettings.StorageSize.ToString()).ToJson()); case Error.Types.None: break; default: return(invalid.MessageJson(context: context)); } var file = context.PostedFiles.FirstOrDefault(); var bin = file.Byte(); var columnName = context.Forms.Data("ControlId"); if (columnName.Contains("_")) { columnName = columnName.Substring(columnName.IndexOf("_") + 1); } if (columnName.StartsWith("Comment")) { columnName = "Comments"; } var ss = new ItemModel( context: context, referenceId: id) .GetSite( context: context, initSiteSettings: true) .SiteSettings; var thumbnailLimitSize = ss.GetColumn( context: context, columnName: columnName)?.ThumbnailLimitSize ?? Parameters.BinaryStorage.ThumbnailLimitSize; var imageData = new Libraries.Images.ImageData( bin, ss.ReferenceId, Libraries.Images.ImageData.Types.SiteImage); if (Parameters.BinaryStorage.ImageLimitSize?.ToInt() > 0) { bin = imageData.ReSizeBytes(Parameters.BinaryStorage.ImageLimitSize); } var thumbnail = thumbnailLimitSize > 0 ? imageData.ReSizeBytes(thumbnailLimitSize) : null; if (Parameters.BinaryStorage.IsLocal()) { bin.Write(System.IO.Path.Combine( Directories.BinaryStorage(), "Images", file.Guid)); if (thumbnailLimitSize > 0) { thumbnail.Write(System.IO.Path.Combine( Directories.BinaryStorage(), "Images", file.Guid + "_thumbnail")); } } Repository.ExecuteNonQuery( context: context, statements: Rds.InsertBinaries( param: Rds.BinariesParam() .TenantId(context.TenantId) .ReferenceId(id) .Guid(file.Guid) .BinaryType("Images") .Title(file.FileName) .Bin(bin, _using: !Parameters.BinaryStorage.IsLocal()) .Thumbnail(thumbnail, _using: thumbnail != null) .FileName(file.FileName) .Extension(file.Extension) .Size(file.Size) .ContentType(file.ContentType))); return(new ResponseCollection() .InsertText( "#" + context.Forms.ControlId(), "![image]({0})".Params(Locations.ShowFile( context: context, guid: file.Guid))) .ToJson()); }
/// <summary> /// Fixed: /// </summary> public static string UploadFile( Context context, long id, System.Net.Http.Headers.ContentRangeHeaderValue contentRange) { var itemModel = new ItemModel(context, id); var ss = itemModel.GetSite(context, initSiteSettings: true).SiteSettings; var column = ss.GetColumn(context, TrimIdSuffix(context.Forms.Get("ColumnName"))); var attachments = context.Forms.Get("AttachmentsData").Deserialize <Attachments>(); var fileHash = context.Forms.Get("FileHash"); contentRange = contentRange ?? context?.PostedFiles?.FirstOrDefault()?.ContentRange; { var invalid = HasPermission(context, ss, itemModel); switch (invalid.Type) { case Error.Types.None: break; default: return(invalid.MessageJson(context)); } } { var invalid = BinaryValidators.OnUploading(context, column, attachments, context.PostedFiles, new[] { contentRange }); switch (invalid) { case Error.Types.OverLimitQuantity: return(Messages.ResponseOverLimitQuantity( context: context, data: column.LimitQuantity.ToString()).ToJson()); case Error.Types.OverLimitSize: return(Messages.ResponseOverLimitSize( context: context, data: column.LimitSize.ToString()).ToJson()); case Error.Types.OverTotalLimitSize: return(Messages.ResponseOverTotalLimitSize( context: context, data: column.TotalLimitSize.ToString()).ToJson()); case Error.Types.OverLocalFolderLimitSize: return(Messages.ResponseOverLimitSize( context: context, data: column.LocalFolderLimitSize.ToString()).ToJson()); case Error.Types.OverLocalFolderTotalLimitSize: return(Messages.ResponseOverTotalLimitSize( context: context, data: column.LocalFolderTotalLimitSize.ToString()).ToJson()); case Error.Types.OverTenantStorageSize: return(Messages.ResponseOverTenantStorageSize( context: context, data: context.ContractSettings.StorageSize.ToString()).ToJson()); case Error.Types.None: break; default: return(invalid.MessageJson(context)); } } var controlId = context.Forms.Get("ControlId"); var fileUuid = context.Forms.Get("uuid")?.Split(','); var fileUuids = context.Forms.Get("Uuids")?.Split(','); var fileNames = context.Forms.Get("fileNames")?.Deserialize <string[]>(); var fileSizes = context.Forms.Get("fileSizes")?.Deserialize <string[]>(); var fileTypes = context.Forms.Get("fileTypes")?.Deserialize <string[]>(); var resultFileNames = new List <KeyValuePair <PostedFile, System.IO.FileInfo> >(); for (int filesIndex = 0; filesIndex < context.PostedFiles.Count; ++filesIndex) { var file = context.PostedFiles[filesIndex]; var saveFile = GetTempFileInfo(fileUuid[filesIndex], file.FileName); Save(file, saveFile); resultFileNames.Add( new KeyValuePair <PostedFile, System.IO.FileInfo>( file, saveFile)); } { var invalid = ValidateFileHash(resultFileNames[0].Value, contentRange, fileHash); if (invalid != Error.Types.None) { return(invalid.MessageJson(context)); } } return(CreateResult(resultFileNames, CreateResponseJson( context, fileUuids, fileNames, fileSizes, fileTypes, ss, column, controlId, attachments, contentRange))); }