Ejemplo n.º 1
0
        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);
                    }
                }
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
        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;
            }
        }