public static bool Rename(this DirectoryInfo self, string newName) { var target = self.Parent.GetChildDir(newName); AssertV2.IsFalse(target.IsNotNullAndExists(), "Already exists: target=" + target.FullPath()); return(self.MoveToV2(target)); }
private static bool DeleteV2(FileSystemEntry self, Func <bool> deleteAction) { if (self.IsNotNullAndExists()) { var res = deleteAction(); AssertV2.IsFalse(!res || self.Exists, "Still exists: " + self); return(res); } return(false); }
private static bool DeleteV2(FileSystemInfo self, Func <bool> deleteAction) { if (self != null && self.ExistsV2()) { var res = deleteAction(); self.Refresh(); AssertV2.IsFalse(!res || self.ExistsV2(), "Still exists: " + self.FullName); return(res); } return(false); }
private static bool DeleteV2(FileSystemInfo self, Action deleteAction) { if (self != null && self.Exists) { deleteAction(); self.Refresh(); AssertV2.IsFalse(self.Exists, "Still exists: " + self.FullName); return(true); } return(false); }
private static object MapViaJsonInto(object objectToDeepCopy, Type targetType) { AssertV2.IsFalse(objectToDeepCopy is Task, "Tried to serialize a Task, missing (await ..)?!"); if (objectToDeepCopy == null || objectToDeepCopy.GetType().IsPrimitiveOrSimple()) { return(objectToDeepCopy); } using (var stream = new MemoryStream()) { using (var writer = new StreamWriter(stream, encoding: Encoding.UTF8, bufferSize: 1024, leaveOpen: true)) { var serializer = JsonSerializer.Create(JsonNetSettings.defaultSettings); serializer.Serialize(writer, objectToDeepCopy); writer.Flush(); stream.Seek(0, SeekOrigin.Begin); using (var sr = new StreamReader(stream)) { using (var jtr = new JsonTextReader(sr)) { return(serializer.Deserialize(jtr, targetType)); } } } } }