/// <summary> /// "overwrite" is stronger than "append" /// </summary> /// <param name="path"></param> /// <param name="content"></param> /// <param name="overwrite"></param> /// <param name="append">used only if overwrite is set to false</param> /// <returns></returns> public static FileMessage TextFile(String path, String content, Boolean overwrite, Boolean append) { Impersonate oImpersonate = new Impersonate(); Boolean wasImpersonated = Impersonate.isImpersonated(); try { if (!wasImpersonated && oImpersonate.ImpersonateValidUser() == FileMessage.ImpersonationFailed) { return(FileMessage.ImpersonationFailed); } else { if (overwrite || !Exists.File(path)) { try { System.IO.File.WriteAllText(path, content); return(FileMessage.FileCreated); } catch { return(FileMessage.Catch); } } else if (append) { try { System.IO.File.AppendAllText(path, content); return(FileMessage.FileCreated); } catch { return(FileMessage.Catch); } } return(FileMessage.FileExist); } } catch { if (!wasImpersonated) { oImpersonate.UndoImpersonation(); } return(FileMessage.Catch); } finally { if (!wasImpersonated) { oImpersonate.UndoImpersonation(); } } }
public static String TextFile(String filename) { Impersonate oImpersonate = new Impersonate(); Boolean wasImpersonated = Impersonate.isImpersonated(); try { if (!wasImpersonated) { oImpersonate.ImpersonateValidUser(); } if (Exists.File(filename)) { return(System.IO.File.ReadAllText(filename)); } else { return(String.Empty); } } catch { if (!wasImpersonated) { oImpersonate.UndoImpersonation(); } return(String.Empty); } finally { if (!wasImpersonated) { oImpersonate.UndoImpersonation(); } } }