// file force saving process public static int processForceSave(Dictionary <string, object> fileData, string fileName, string userAddress) { if (fileData["url"].Equals(null)) { throw new Exception("DownloadUrl is null"); } var downloadUri = (string)fileData["url"]; string curExt = Path.GetExtension(fileName).ToLower(); // get current file extension var downloadExt = fileData.ContainsKey("filetype") ? "." + (string)fileData["filetype"] : Path.GetExtension(downloadUri).ToLower(); // TODO: Delete in version 7.0 or higher. Support for versions below 7.0 Boolean newFileName = false; // convert downloaded file to the file with the current extension if these extensions aren't equal if (!curExt.Equals(downloadExt)) { try { // convert file and give url to a new file string newFileUri; var result = ServiceConverter.GetConvertedUri(downloadUri, downloadExt, curExt, ServiceConverter.GenerateRevisionId(downloadUri), false, out newFileUri); if (string.IsNullOrEmpty(newFileUri)) { newFileName = true; } else { downloadUri = newFileUri; } } catch (Exception) { newFileName = true; } } DocManagerHelper.VerifySSL(); string forcesavePath = ""; Boolean isSubmitForm = fileData["forcesavetype"].ToString().Equals("3"); // SubmitForm if (isSubmitForm) // if the form is submitted { if (newFileName) { fileName = DocManagerHelper.GetCorrectName(Path.GetFileNameWithoutExtension(fileName) + "-form" + downloadExt, userAddress); // get the correct file name if it already exists } else { fileName = DocManagerHelper.GetCorrectName(Path.GetFileNameWithoutExtension(fileName) + "-form" + curExt, userAddress); } forcesavePath = DocManagerHelper.StoragePath(fileName, userAddress); } else { if (newFileName) { fileName = DocManagerHelper.GetCorrectName(Path.GetFileNameWithoutExtension(fileName) + downloadExt, userAddress); } forcesavePath = DocManagerHelper.ForcesavePath(fileName, userAddress, false); if (forcesavePath.Equals("")) // create forcesave path if it doesn't exist { forcesavePath = DocManagerHelper.ForcesavePath(fileName, userAddress, true); } } DownloadToFile(downloadUri, forcesavePath); if (isSubmitForm) { var jss = new JavaScriptSerializer(); var actions = jss.Deserialize <List <object> >(jss.Serialize(fileData["actions"])); var action = jss.Deserialize <Dictionary <string, object> >(jss.Serialize(actions[0])); var user = action["userid"].ToString(); // get the user id DocManagerHelper.CreateMeta(fileName, user, "Filling Form", userAddress); // create meta data for the forcesaved file } return(0); }
public static int processForceSave(Dictionary <string, object> fileData, string fileName, string userAddress) { var downloadUri = (string)fileData["url"]; string curExt = Path.GetExtension(fileName); string downloadExt = Path.GetExtension(downloadUri); var newFileName = fileName; if (!curExt.Equals(downloadExt)) { try { string newFileUri; var result = ServiceConverter.GetConvertedUri(downloadUri, downloadExt, curExt, ServiceConverter.GenerateRevisionId(downloadUri), false, out newFileUri); if (string.IsNullOrEmpty(newFileUri)) { newFileName = DocManagerHelper.GetCorrectName(Path.GetFileNameWithoutExtension(fileName) + downloadExt, userAddress); } else { downloadUri = newFileUri; } } catch (Exception) { newFileName = DocManagerHelper.GetCorrectName(Path.GetFileNameWithoutExtension(fileName) + downloadExt, userAddress); } } string forcesavePath = ""; Boolean isSubmitForm = fileData["forcesavetype"].ToString().Equals("3"); if (isSubmitForm) { if (newFileName.Equals(fileName)) { newFileName = DocManagerHelper.GetCorrectName(fileName, userAddress); } forcesavePath = DocManagerHelper.StoragePath(newFileName, userAddress); } else { forcesavePath = DocManagerHelper.ForcesavePath(newFileName, userAddress, false); if (forcesavePath.Equals("")) { forcesavePath = DocManagerHelper.ForcesavePath(newFileName, userAddress, true); } } DownloadToFile(downloadUri, forcesavePath); if (isSubmitForm) { var jss = new JavaScriptSerializer(); var actions = jss.Deserialize <List <object> >(jss.Serialize(fileData["actions"])); var action = jss.Deserialize <Dictionary <string, object> >(jss.Serialize(actions[0])); var user = action["userid"].ToString(); DocManagerHelper.CreateMeta(newFileName, user, "Filling Form", userAddress); } return(0); }