partial void OnTaken(object sender, BusinessRulesEventArgs <SDFile> e) { var queryOr = e.ContextRequest.CustomParams.FirstOrDefault(p => p.Name == "queryOr"); if (queryOr != null && (e.Item != null || e.Items.Count > 0)) { if (e.Item == null) { e.Item = e.Items[0]; } CustomQuery customQuery = (CustomQuery)queryOr.Value; if (customQuery.SelectedFields.FirstOrDefault(p => p.Name == "FileData") != null) { bool saveInBlob = false; if (e.ContextRequest != null && e.ContextRequest.Company != null) { saveInBlob = (bool)SFSdotNet.Framework.Configuration.ModuleAppSettings.GetValue("save-files-blob", "SFSServiceDesk", "Boolean", false, false); } if (saveInBlob == true && !string.IsNullOrEmpty(e.Item.FileStorage)) { SFSdotNet.Framework.Data.StaticStorage storage = new SFSdotNet.Framework.Data.StaticStorage("SFSServiceDesk".ToLower()); storage.GuidCompany = e.ContextRequest.Company.GuidCompany; e.Item.FileData = storage.GetDataByteArray(e.Item.FileStorage); } } } }
partial void OnShowing(object sender, MyEventArgs <UIModel <SDCaseFileModel> > e) { if (this.IsItemsOrListForm(e.UIModel)) { e.UIModel.SetOrder(SDCaseFile.PropertyNames.SDFile); e.UIModel.SetHide(SDCaseFile.PropertyNames.GuidFile, true); e.UIModel.SetHide(SDCaseFile.PropertyNames.ExistFile, true); e.UIModel.SetOrder(SDCaseFile.PropertyNames.FileName, true); e.UIModel.SetHide(SDCaseFile.PropertyNames.UrlFile, true); e.UIModel.SetHide(SDCaseFile.PropertyNames.UrlThumbFile, true); e.UIModel.SetHide(SDCaseFile.PropertyNames.FileStorage, true); e.UIModel.SetHide(SDCaseFile.PropertyNames.FileThumbSizes, true); var module = SFSdotNet.Framework.Cache.Caching.SystemObjects.GetModuleByKey("SFSServiceDesk"); SFSdotNet.Framework.Data.StaticStorage storage = new SFSdotNet.Framework.Data.StaticStorage("Thumbs"); foreach (var item in e.UIModel.Items.Where(p => p.GuidFile != null)) { var staticFile = storage.GetFile(item.GuidFile, item.FileName, item.FileStorage, item.FileThumbSizes, null, 100, 100, "SDFile", "SDFiles", module, GetContextRequest()); item.UrlFile = staticFile.Url; item.UrlThumbFile = staticFile.UrlThumb; } } if (this.IsEditOrDetailsForm(e.UIModel)) { e.UIModel.ActionButtons.Reverse(); e.UIModel.SetMultipleFileUpload(SDCaseFile.PropertyNames.SDFile, true); } }
partial void OnCreating(object sender, BusinessRulesEventArgs <SDFile> e) { if (!string.IsNullOrEmpty(e.Item.FileName)) { e.Item.FileName = SFSdotNet.Framework.Utilities.Text.RemoveDiacritics(e.Item.FileName); } bool saveInBlob = false; if (e.ContextRequest != null && e.ContextRequest.Company != null) { saveInBlob = (bool)SFSdotNet.Framework.Configuration.ModuleAppSettings.GetValue("save-files-blob", "SFSServiceDesk", "Boolean", true, false); } if (saveInBlob == true) { SFSdotNet.Framework.Data.StaticStorage storage = new SFSdotNet.Framework.Data.StaticStorage("SFSServiceDesk".ToLower()); storage.GuidCompany = e.ContextRequest.Company.GuidCompany; try { string fileNameStorage = e.Item.GuidFile.ToString() + "/" + e.Item.FileName; var storageFileName = storage.UploadByteArray(e.Item.FileData, fileNameStorage); e.Item.FileStorage = storageFileName; } catch (Exception ex) { SFSdotNet.Framework.My.EventLog.Exception(ex, e.ContextRequest); } } bool saveInDB = (bool)SFSdotNet.Framework.Configuration.ModuleAppSettings.GetValue("save-files-db", "SFSServiceDesk", "Boolean", true, false); if (saveInDB == false) { e.Item.FileData = null; } }