public RestoreTests() { fileCompressor = new Mock <IFileCompressor>(); storage = new Mock <IStorage>(); fileCompressor.SetupGet(x => x.DefaultExtension).Returns(".zip"); restorer = new Restorer(storage.Object, fileCompressor.Object); }
public object ResolveOperand(Restorer restorer) { var len = restorer.Reader.ReadInt32(); var bytes = restorer.Reader.ReadBytes(len); return(Encoding.UTF8.GetString(bytes)); }
public DataSetMuseum getRestorer() { DataSetMuseum result = new DataSetMuseum(); Connection connection = new Connection(); connection.Open(); try { Transaction transaction = connection.BeginTransaction(); try { restorer = new Restorer(); restorer.Read(result, connection, transaction); transaction.Commit(); } catch (Exception ex) { ShowError(ex.ToString()); transaction.Rollback(); result = null; } } finally { connection.Close(); } return(result); }
public bool setRestorer(DataSetMuseum dataSet) { bool result = false; Connection connection = new Connection(); connection.Open(); try { Transaction transaction = connection.BeginTransaction(); try { restorer = new Restorer(); restorer.Save(dataSet, connection, transaction); transaction.Commit(); result = true; } catch (Exception ex) { ShowError(ex.ToString()); transaction.Rollback(); result = false; } } finally { connection.Close(); } return(result); }
public object ResolveOperand(Restorer restorer) { var index = restorer.Reader.ReadInt16(); var method = restorer.CurrentMethod.Method; return(method.Parameters[index]); }
public static void Main(string[] args) { #region Observer Pattern Book b = new Book("The lord of the rings"); var l = new Librarian(); var g = new Grocer(); var r = new Restorer(); b.addObserver(l); b.addObserver(g); b.addObserver(r); b.Notify(); Console.WriteLine("---------------------------------------------------------"); #endregion #region Factory Method Pattern MyApplication app = new MyApplication(); var doc = app.createDocument(); doc.Open(); Console.WriteLine("---------------------------------------------------------"); #endregion #region Bridge Pattern AbstractPicture img = new JPG(new OSXImp()); img.Caller(); img = new BMP(new WinImp()); img.Caller(); img = new GIF(new LinuxImp()); img.Caller(); Console.WriteLine("---------------------------------------------------------"); #endregion #region Abstract Factory Pattern // THIS IS THE CLIENT CLASS CONTENT MENTIONED ON PATTERN PRINCIPLES. IFactory factory = new PMFactory(); IScrollbar scrollbar = factory.BuildScrollbar(); IWindow window = factory.BuildWindow(); scrollbar.Draw(); window.Draw(); Console.WriteLine("\n"); factory = new MOTIFFactory(); scrollbar = factory.BuildScrollbar(); window = factory.BuildWindow(); scrollbar.Draw(); window.Draw(); Console.WriteLine("---------------------------------------------------------"); #endregion #region Adapter Pattern var oldcar = new OldCar("Chevrolet", "Impala", new DateTime(1967, 1, 1)); var adapter = new OldNewAdapter(oldcar); Console.WriteLine(adapter.getBrand()); Console.WriteLine(adapter.getYears()); Console.WriteLine("---------------------------------------------------------"); #endregion }
public override void Execute(Devirtualizer devirtualizer) { var restorer = new Restorer(devirtualizer); Logger.Blank(); foreach (var method in devirtualizer.Methods) { restorer.RestoreMethod(method); } }
private static void MoveHero() { IComponent hero = null; while (hero is null) { hero = GetComponent(); } var stayState = new SingleState(new StayCommand()); var runState = new SingleState(new RunCommand()); var jumpState = new ComplexState(new JumpCommand(), stayState); var attackState = new ComplexState(new AttackCommand(), stayState); var heroContext = new Context(stayState, hero.Title); var stateRestorer = new Restorer(heroContext); Console.WriteLine("Game start!"); do { switch (Console.ReadKey().Key) { case ConsoleKey.UpArrow: heroContext.Update(jumpState); stateRestorer.BackUp(); break; case ConsoleKey.LeftArrow: heroContext.Update(runState); stateRestorer.BackUp(); break; case ConsoleKey.RightArrow: heroContext.Update(runState); stateRestorer.BackUp(); break; case ConsoleKey.DownArrow: heroContext.Update(attackState); stateRestorer.BackUp(); break; case ConsoleKey.Escape: return; default: stateRestorer.Undo(); break; } heroContext.Request(); } while (true); }
public object ResolveOperand(Restorer restorer) { var index = restorer.Reader.ReadInt32(); var method = restorer.CurrentMethod; if (method.Locals.ContainsKey(index)) { return(method.Locals[index]); } var local = new Local(restorer.Module.ImportAsTypeSig(typeof(object))); method.Locals.Add(index, local); return(local); }
public void GivenACorruptDb_ShouldStopRestoring() { var progressBarProvider = Substitute.For <IProgressBarProvider>(); var sqlUtil = Substitute.For <ISqlServerUtil>(); var opt = new ISqlServerUtil.DbRestorOptions(); sqlUtil.When(x => x.Restore(opt, progressBarProvider, null)) .Do(x => throw new InvalidDataException("")); var restorer = new Restorer(sqlUtil); Assert.Throws <InvalidDataException>(() => restorer.Restore(opt, progressBarProvider, null)); progressBarProvider.DidNotReceive().Received(Arg.Any <int>()); }
private void Restore(string projectName, string workDirectoryFullPath) { logger.Debug("Restore start"); if (config.ArchivesDirectory == null) { throw new ProjArchiveException("The ArchivesDirectoryFullPath was not specified."); } Restorer restorer = new Restorer(storage, fileCompressor) { ArchivesDirectoryFullPath = config.ArchivesDirectory, WorkDirectoryFullPath = workDirectoryFullPath, ProjectName = projectName }; restorer.Restore(); logger.Debug("Restore end"); }
/// <summary> /// Restores non-consumable / subscription purchases. /// </summary> public static void RestorePurchases(IAP.OnRestoredHandler callback) { onRestoreComplete = callback; if (!IsInitialized) { DoOnRestoreComplete(false, new IAPFail(IAPFail.Reason.NotInitialized)); return; } if (!IAP.IsRestoreSupported) { DoOnRestoreComplete(false, new IAPFail(IAPFail.Reason.PlatformNotSupported)); return; } ProductRestorer = new Restorer(() => { IAP.LogMessage("IAPManager.OnTimerFinished - Restore completed."); DoOnRestoreComplete(true, null); }); ProductRestorer.Start(); }
public async Task RestoreRecursiveTest() { var folder = Path.Combine(Path.GetTempPath(), nameof(RestorerTests)); if (Directory.Exists(folder)) { Directory.Delete(folder, true); } await Restorer.RestoreRecursiveAsync(folder, "H.Pipes", ".NETStandard", new Version(2, 1), ignoredNames : new [] { "NETStandard.Library" }); Console.WriteLine("New files:"); foreach (var path in Directory.EnumerateFiles(folder, "*.*", SearchOption.AllDirectories)) { Console.WriteLine($" - {path.Replace(folder, string.Empty)}"); } }
public object ResolveOperand(Restorer restorer) { restorer.Reader.ReadBoolean(); restorer.Reader.ReadInt16(); return(restorer.ResolveField(restorer.Reader.ReadInt32())); }
public object ResolveOperand(Restorer restorer) => null;
public object ResolveOperand(Restorer restorer) { restorer.AddTarget(restorer.Reader.ReadInt32()); return(OpCodes.Nop.ToInstruction()); }
/// <summary> /// кнопка восстановить ряд /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonRepairRange_Click(object sender, EventArgs e) { Cursor = Cursors.WaitCursor; InterpolateMethods method = (InterpolateMethods)(new EnumTypeConverter <InterpolateMethods>().ConvertFrom(comboBoxInterpolateMethod.SelectedItem)); StandartIntervals interval = (StandartIntervals)(new EnumTypeConverter <StandartIntervals>().ConvertFrom(comboBoxRepairInterval.SelectedItem)); Action <int, string> action = new Action <int, string>((percent, text) => { try { if (this.InvokeRequired) { _ = Invoke(new Action(() => { progressBarStatus.Value = percent; })); } else { progressBarStatus.Value = percent; } } catch (Exception) { } }); Action <RawRange, RawRange, double> actionAfter = new Action <RawRange, RawRange, double>((resultRange, baseRange, r) => { _ = this.Invoke(new Action(() => { string additionalText = ""; if (method == InterpolateMethods.NearestMeteostation) //для восстановления ряда выводим доп. информацию { //Информация о коэфф корреляции и базовом ряде if (double.IsNaN(r)) { additionalText += "Восстановление проводилось на основе ряда наблюдений, заданного пользователем\r\n"; } else { additionalText += $"Восстановление проводилось на основе ряда наблюдений {(baseRange.Meteostation != null ? $" на МС {baseRange.Meteostation.Name} " : "")}с коэффициентом корреляции {r:0.00} \r\n"; } //предупреждение, что не все данные восстановлены RangeInterval baseInterval = baseRange.Quality.Intervals.OrderByDescending((i) => i.LengthMinutes).First(); //выбираем самый длинный интервал наблюдений в базовом ряде if (baseInterval.LengthMinutes > (int)interval) //если максимальный интервал базового ряда больше, чем требуемый интервал восстановления { additionalText += $"\r\nВнимание!! Интервал наблюдений ряда, на основе которого производилось восстановление ({baseInterval.Interval.Description()}), больше, чем требуемый интервал. Поэтому не удалось восстановить все значения ряда до {interval.Description()}\r\n"; } } resultRange.Name = "Восстановленный ряд до интервала" + interval.Description(); _ = MessageBox.Show(this, $"Ряд восстановлен до интервала {interval.Description()}\r\n{additionalText}", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); if (resultRange == null) { DialogResult = DialogResult.Cancel; } else { DialogResult = DialogResult.OK; Result = resultRange; } Cursor = Cursors.Arrow; Result = resultRange; Close(); })); }); try { //если выбрана ступенчатый метод или линейная интерполяция и в ряде есть пропуски больше, чем 1 интервал, то надо уточнить у пользователя if ((method == InterpolateMethods.Linear || method == InterpolateMethods.Stepwise) && rangeQuality.MaxEmptySpace.TotalMinutes > ((int)interval)) { if (MessageBox.Show(this, "Ряд содержит пропуски данных больше, чем один выбранный интервал наблюдений.\r\nВ таком случае не рекомендуется использовать линейную интерполяцию и ступенчатое восстановление.\r\nВы уверены, что хотите продолжить восстановление?", "Восстановление ряда", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } } RawRange baseRange = null; if (method == InterpolateMethods.NearestMeteostation) { if (radioButtonSelPoint.Checked) { if (range.Position.IsEmpty) { FormSelectMapPointDialog fsp = new FormSelectMapPointDialog("Выберите координаты ряда " + range.Name, PointLatLng.Empty, Vars.Options.CacheFolder, Resources.rp5_marker, Vars.Options.MapProvider); if (fsp.ShowDialog(this) == DialogResult.OK) { range.Position = fsp.Result; } else { Cursor = Cursors.Arrow; return; } } } else { baseRange = Program.winMain.mainHelper.OpenFile(this); if (baseRange == null) { Cursor = Cursors.Arrow; return; } } } _ = new Restorer().ProcessRange(range, new RestorerParameters() { Interval = interval, Method = method, Coordinates = range.Position, BaseRange = baseRange, ReplaceExistMeasurements = checkBoxReplaceExist.Checked }, action, actionAfter); } catch (WebException exc) { Cursor = Cursors.Arrow; _ = MessageBox.Show(this, exc.Message, "Восстановление ряда", MessageBoxButtons.OK, MessageBoxIcon.Warning); DialogResult = DialogResult.Cancel; } catch (WindEnergyException wex) { Cursor = Cursors.Arrow; _ = MessageBox.Show(this, wex.Message, "Восстановление ряда", MessageBoxButtons.OK, MessageBoxIcon.Warning); DialogResult = DialogResult.Cancel; } catch (ApplicationException exc) { Cursor = Cursors.Arrow; _ = MessageBox.Show(this, exc.Message + "\r\nПопробуйте уменьшить длину ряда", "Восстановление ряда", MessageBoxButtons.OK, MessageBoxIcon.Warning); DialogResult = DialogResult.Cancel; } }
public object ResolveOperand(Restorer restorer) { restorer.Reader.ReadInt16(); return(restorer.ResolveMethod(restorer.Reader.ReadInt32())); }
//Process incoming input snapshots public override void ConsumeInput(int connectionId, InputSnapshot input, bool firstExec) { //objsOwned will either be empty (we return) or contain our plane List <GameObject> objsOwned = Ownerships.GetOwnedObjs(connectionId); if (objsOwned.Count == 0) { return; } else if (objsOwned.Count > 1) { //in case I messed up the MUGA code Debug.LogError(new System.InvalidProgramException("How do we own more planes?")); } //get the rigidbody and change its velocity Rigidbody myPlane = objsOwned[0].GetComponent <Rigidbody>(); myPlane.velocity = new Vector3(input.GetAxis("Horizontal") * speed, 0, input.GetAxis("Vertical") * speed); //we want to apply rotation only if the velocity is signifigant if (myPlane.velocity.sqrMagnitude > 1) { myPlane.transform.forward = myPlane.velocity.normalized; } //for firing rockets and guns, we want to execute the creation code only on the server if (connectionId == -1) { return; } PlaneInputPrediction inputPrediction = myPlane.GetComponent <PlaneInputPrediction>(); /* * it is safe to use Time.time here because this information wil only be used on the server * If you want to use time that will be sync'd between client and server, use * Utils.Timestamp in the MUGA package which will fetch the OS time */ if (input.GetButton("Fire1") && Time.time > inputPrediction.lastRocketFire + rocketFireRate) { //get rocket spawn position and spawn it Vector3 rocketLocation = inputPrediction.rocketSpawnPos.position; GameObject newRocket = Instantiate(rocketPrefab, rocketLocation, Quaternion.identity); newRocket.transform.forward = myPlane.transform.forward; newRocket.GetComponent <Rigidbody>().velocity = myPlane.transform.forward * rocketSpeed; //Notify clients of the rocket NetworkServer.Spawn(newRocket); //Reset the fire rate limiter inputPrediction.lastRocketFire = Time.time; } if (input.GetButton("Fire2") && Time.time > inputPrediction.lastLaserFire + laserFireRate) { //get rocket spawn position and spawn it Vector3 rocketLocation = inputPrediction.rocketSpawnPos.position; //get an instance of "Restorer" to represent the past state using (Restorer rest = LCPhysics.GetRestorer(input.timeSent)) { RaycastHit hit; if (Physics.Raycast(rocketLocation, myPlane.transform.forward, out hit)) { if (hit.collider.tag == "Player") { GameObject enemy = Ownerships.GetOwnedObjs(int.Parse(hit.collider.name))[0]; enemy.GetComponent <PlaneHP>().hp -= 4; } Debug.Log("LC hit " + hit.collider.tag); } } //Reset the fire rate limiter inputPrediction.lastLaserFire = Time.time; } }
public object ResolveOperand(Restorer restorer) => restorer.Reader.ReadInt32();