public OrderModel() { #region Create DataWrappers OrderId = new DataWrapper<Int32>(this, orderIdChangeArgs); CustomerId = new DataWrapper<Int32>(this, customerIdChangeArgs); ProductId = new DataWrapper<Int32>(this, productIdChangeArgs); Quantity = new DataWrapper<Int32>(this, quantityChangeArgs); DeliveryDate = new DataWrapper<DateTime>(this, deliveryDateChangeArgs); //fetch list of all DataWrappers, so they can be used again later without the //need for reflection cachedListOfDataWrappers = DataWrapperHelper.GetWrapperProperties<OrderModel>(this); #endregion #region Create Validation Rules quantity.AddRule(quantityRule); #endregion //I could not be bothered to write a full DateTime picker in //WPF, so for the purpose of this demo, DeliveryDate is //fixed to DateTime.Now DeliveryDate.DataValue = DateTime.Now; }
private void SetupDataWrappers() { Name = new DataWrapper<string>(this, NamePropertyChangeArgs) { DataValue = name }; Name.AddRule(DataWrapperRules.NotNullOrEmtpyRule(Required)); Description = new DataWrapper<string>(this, DescriptionPropertyChangeArgs) { DataValue = string.Empty }; IsActive = new DataWrapper<bool>(this, new PropertyChangedEventArgs("IsActive")); IsRequired = new DataWrapper<bool>(this, new PropertyChangedEventArgs("IsRequired")); SelectedFieldType = new DataWrapper<FieldType>(this, new PropertyChangedEventArgs("SelectedFieldType")); SelectedFieldType.PropertyChanged += (sender, args) => ResetMinAndMax(); Mask = new DataWrapper<string>(this, new PropertyChangedEventArgs("Mask")); Min = new DataWrapper<int?>(this, new PropertyChangedEventArgs("Min")); Max = new DataWrapper<int?>(this, new PropertyChangedEventArgs("Max")); Min.AddRule(DataWrapperRules.MinMax(Min, Max, InvalidRange)); Max.AddRule(DataWrapperRules.MinMax(Min, Max, InvalidRange)); Max.PropertyChanged += UpdateMinMaxState; Min.PropertyChanged += UpdateMinMaxState; FixedValue = new DataWrapper<string>(this, new PropertyChangedEventArgs("FixedValue")); ValidChars = new DataWrapper<string>(this, new PropertyChangedEventArgs("ValidChars")); SelectedAngle = new DataWrapper<int>(this, new PropertyChangedEventArgs("SelectedAngle")) { DataValue = 0 }; SubscribeToChangesInAllDataWrappers(); }
public static void Main(string[] args) { IData data = new DataWrapper(); data.Print(); int min, max; //このメソッドはウェービングの対象にならない data.CheckAudio("testbstr", out min, out max); Console.WriteLine("min={0}, max={1}", min, max); Console.WriteLine(data.Test("checkdata", 500)); }
private void SetupDataWrappers() { Name = new DataWrapper<string>(this, new PropertyChangedEventArgs("Name")) { DataValue = name }; Name.AddRule(DataWrapperRules.NotNullOrEmtpyRule(Required)); Description = new DataWrapper<string>(this, new PropertyChangedEventArgs("Description")) { DataValue = string.Empty }; ImagePath = new DataWrapper<string>(this, new PropertyChangedEventArgs("ImagePath")); ImagePath.AddRule(DataWrapperRules.NotNullOrEmtpyRule(Required)); BoxCount = new DataWrapper<int?>(this, new PropertyChangedEventArgs("BoxCount")) { DataValue = 1 }; BoxCount.AddRule(DataWrapperRules.NumberBetween(1, 100, InvalidBoxCount)); SelectedCustomer = new DataWrapper<CustomerViewModel>(this, new PropertyChangedEventArgs("SelectedCustomer")); SelectedCustomer.AddRule(DataWrapperRules.CannotBeNull<CustomerViewModel>(CannotBeNull)); SubscribeToChangesInAllDataWrappers(); }
public AmbientShadowRenderer([NotNull] Kn5 kn5, [CanBeNull] DataWrapper carData) : base(kn5, carData) { Iterations = 2000; }
protected override ContentRepairSuggestion GetObsoletableAspect(CarObject car, DataWrapper data) { if (data.GetIniFile(@"car.ini").ContainsKey(@"PIT_STOP")) { return(null); } return(new ContentObsoleteSuggestion("Pit stop parameters missing", "You might want to add them.", (p, c) => FixAsync(car, p, c)) { AffectsData = true }); }
/// <summary> /// Sets pit stop parameters to common values. /// </summary> /// <param name="data">Data to update.</param> public static void SetPitParams(DataWrapper data) { SetPitParams(data, TimeSpan.FromSeconds(10d), TimeSpan.FromSeconds(0.6), TimeSpan.FromSeconds(20d), TimeSpan.FromSeconds(2d), TimeSpan.FromSeconds(30d)); }
public string RenderRoomForEdit(long id, int radius) { var room = DataWrapper.GetOne <IRoomData>(id); var sb = new StringBuilder(); if (room == null || radius < 0) { return("Invalid inputs."); } var pathways = DataWrapper.GetAll <IPathwayData>().Where(path => path.FromLocationID.Equals(room.ID.ToString())); var nw = pathways.FirstOrDefault(path => MessagingUtility.TranslateDegreesToDirection(path.DegreesFromNorth) == MovementDirectionType.NorthWest); var n = pathways.FirstOrDefault(path => MessagingUtility.TranslateDegreesToDirection(path.DegreesFromNorth) == MovementDirectionType.North); var ne = pathways.FirstOrDefault(path => MessagingUtility.TranslateDegreesToDirection(path.DegreesFromNorth) == MovementDirectionType.NorthEast); var northString = String.Empty; if (nw != null && !string.IsNullOrWhiteSpace(nw.ToLocationID) && nw.ToLocationType.Equals("Room")) { var location = DataWrapper.GetOne <IRoomData>(long.Parse(nw.ToLocationID)); northString += String.Format("<a href='/GameAdmin/EditPathway/{0}' target='_blank' class='editPathway' title='{1}' data-id='{0}'>#</a>", nw.ID, location.Name); } else { northString += String.Format("<a href='/GameAdmin/AddPathway/{0}' class='addPathway' target='_blank' data-direction='315'>+</a>", id); } if (n != null && !string.IsNullOrWhiteSpace(n.ToLocationID) && n.ToLocationType.Equals("Room")) { var location = DataWrapper.GetOne <IRoomData>(long.Parse(n.ToLocationID)); northString += String.Format(" <a href='/GameAdmin/EditPathway/{0}' target='_blank' class='editPathway' title='{1}' data-id='{0}'>#</a>", n.ID, location.Name); } else { northString += String.Format(" <a href='/GameAdmin/AddPathway/{0}' class='addPathway' target='_blank' data-direction='0'>+</a>", id); } if (ne != null && !string.IsNullOrWhiteSpace(ne.ToLocationID) && ne.ToLocationType.Equals("Room")) { var location = DataWrapper.GetOne <IRoomData>(long.Parse(ne.ToLocationID)); northString += String.Format(" <a href='/GameAdmin/EditPathway/{0}' target='_blank' class='editPathway' title='{1}' data-id='{0}'>#</a>", ne.ID, location.Name); } else { northString += String.Format(" <a href='/GameAdmin/AddPathway/{0}' class='addPathway' target='_blank' data-direction='45'>+</a>", id); } sb.AppendLine(northString); sb.AppendLine("\\ | /"); var w = pathways.FirstOrDefault(path => MessagingUtility.TranslateDegreesToDirection(path.DegreesFromNorth) == MovementDirectionType.West); var e = pathways.FirstOrDefault(path => MessagingUtility.TranslateDegreesToDirection(path.DegreesFromNorth) == MovementDirectionType.East); var middleString = String.Empty; if (w != null && !string.IsNullOrWhiteSpace(w.ToLocationID) && w.ToLocationType.Equals("Room")) { var location = DataWrapper.GetOne <IRoomData>(long.Parse(w.ToLocationID)); middleString += String.Format("<a href='/GameAdmin/EditPathway/{0}' target='_blank' class='editPathway' title='{1}' data-id='{0}'>#</a>", w.ID, location.Name); } else { middleString += String.Format("<a href='/GameAdmin/AddPathway/{0}' class='addPathway' target='_blank' data-direction='270'>+</a>", id); } middleString += "--*--"; if (e != null && !string.IsNullOrWhiteSpace(e.ToLocationID) && e.ToLocationType.Equals("Room")) { var location = DataWrapper.GetOne <IRoomData>(long.Parse(e.ToLocationID)); middleString += String.Format("<a href='/GameAdmin/EditPathway/{0}' target='_blank' class='editPathway' title='{1}' data-id='{0}'>#</a>", e.ID, location.Name); } else { middleString += String.Format("<a href='/GameAdmin/AddPathway/{0}' class='addPathway' target='_blank' data-direction='90'>+</a>", id); } sb.AppendLine(middleString); sb.AppendLine("/ | \\"); var sw = pathways.FirstOrDefault(path => MessagingUtility.TranslateDegreesToDirection(path.DegreesFromNorth) == MovementDirectionType.SouthWest); var s = pathways.FirstOrDefault(path => MessagingUtility.TranslateDegreesToDirection(path.DegreesFromNorth) == MovementDirectionType.South); var se = pathways.FirstOrDefault(path => MessagingUtility.TranslateDegreesToDirection(path.DegreesFromNorth) == MovementDirectionType.SouthEast); var southString = String.Empty; if (sw != null && !string.IsNullOrWhiteSpace(sw.ToLocationID) && sw.ToLocationType.Equals("Room")) { var location = DataWrapper.GetOne <IRoomData>(long.Parse(sw.ToLocationID)); southString += String.Format("<a href='/GameAdmin/EditPathway/{0}' target='_blank' class='editPathway' title='{1}' data-id='{0}'>#</a>", sw.ID, location.Name); } else { southString += String.Format("<a href='/GameAdmin/AddPathway/{0}' class='addPathway' target='_blank' data-direction='225'>+</a>", id); } if (s != null && !string.IsNullOrWhiteSpace(s.ToLocationID) && s.ToLocationType.Equals("Room")) { var location = DataWrapper.GetOne <IRoomData>(long.Parse(s.ToLocationID)); southString += String.Format(" <a href='/GameAdmin/EditPathway/{0}' target='_blank' class='editPathway' title='{1}' data-id='{0}'>#</a>", s.ID, location.Name); } else { southString += String.Format(" <a href='/GameAdmin/AddPathway/{0}' class='addPathway' target='_blank' data-direction='180'>+</a>", id); } if (se != null && !string.IsNullOrWhiteSpace(se.ToLocationID) && se.ToLocationType.Equals("Room")) { var location = DataWrapper.GetOne <IRoomData>(long.Parse(se.ToLocationID)); southString += String.Format(" <a href='/GameAdmin/EditPathway/{0}' target='_blank' class='editPathway' title='{1}' data-id='{0}'>#</a>", se.ID, location.Name); } else { southString += String.Format(" <a href='/GameAdmin/AddPathway/{0}' class='addPathway' target='_blank' data-direction='135'>+</a>", id); } sb.AppendLine(southString); var extraString = String.Empty; foreach (var path in pathways.Where(path => MessagingUtility.TranslateDegreesToDirection(path.DegreesFromNorth) == MovementDirectionType.None && !string.IsNullOrWhiteSpace(path.ToLocationID) && path.ToLocationType.Equals("Room"))) { var location = DataWrapper.GetOne <IRoomData>(long.Parse(path.ToLocationID)); if (location != null) { extraString += String.Format(" <a href='/GameAdmin/EditPathway/{0}' target='_blank' class='editPathway' title='{1}' data-id='{0}'>#</a>", path.ID, location.Name); } } //One last for adding non-directional ones extraString += String.Format(" <a href='/GameAdmin/AddPathway/{0}' class='addPathway' target='_blank' data-direction='-1'>+</a>", id); if (extraString.Length > 0) { sb.AppendLine(" "); sb.AppendLine(extraString); } return(sb.ToString()); }
public BakedShadowsRenderer([NotNull] IKn5 kn5, [CanBeNull] DataWrapper carData) : base(kn5, carData) { ResolutionMultiplier = 2d; }
public CarData([NotNull] string carDirectory) { _data = DataWrapper.FromCarDirectory(carDirectory); CarDirectory = carDirectory; }
protected override ContentRepairSuggestion GetObsoletableAspect(CarObject car, DataWrapper data) { // doesn’t work with KERS if (!data.GetIniFile("ers.ini").IsEmptyOrDamaged() || !data.GetIniFile("ctrl_ers_0.ini").IsEmptyOrDamaged()) { return(null); } if ((car.SpecsBhp?.IndexOf("*", StringComparison.Ordinal) ?? 0) != -1 || (car.SpecsBhp?.IndexOf("whp", StringComparison.OrdinalIgnoreCase) ?? 0) != -1 || (car.SpecsTorque?.IndexOf("*", StringComparison.Ordinal) ?? 0) != -1 || !FlexibleParser.TryParseDouble(car.SpecsTorque, out var maxUiTorque)) { return(null); } Lut torque; try { torque = TorquePhysicUtils.LoadCarTorque(data); } catch (Exception e) { Logging.Warning(e); return(null); } var loss = 1d - torque.MaxY / maxUiTorque; if (loss > 0.01) { return(null); } var actual = loss.Abs() < 0.002 ? "same" : loss > 0 ? $"{loss * 100:F1}% smaller" : $"{-loss * 100:F1}% bigger"; return(new CommonErrorSuggestion("Suspiciously low transmission power loss", $"Usually, in UI torque & power are taken from crankshaft, but data should contain torque at wheels, which is about 10–20% smaller. " + $"Here, although, it’s {actual}. It might be a mistake.\n\nIf you want to specify power at the wheels in UI, add “*”.", (p, c) => FixAsync(car, p, c)) { AffectsData = false, ShowProgressDialog = false, FixCaption = "Fix UI" }.AlternateFix("Add “*”", (progress, token) => { if (FlexibleParser.TryParseDouble(car.SpecsBhp, out var uiBhp)) { car.SpecsBhp = SelectedAcObjectViewModel.SpecsFormat(AppStrings.CarSpecs_PowerAtWheels_FormatTooltip, uiBhp.ToString(@"F0", CultureInfo.InvariantCulture)); } if (FlexibleParser.TryParseDouble(car.SpecsTorque, out var uiTorque)) { car.SpecsTorque = SelectedAcObjectViewModel.SpecsFormat(AppStrings.CarSpecs_Torque_FormatTooltip, uiTorque.ToString(@"F0", CultureInfo.InvariantCulture)) + "*"; } return Task.FromResult(true); }, false)); }
public void Encode_DataWrapperNull_ArgumentNullException() { DataWrapper dw = null; FrameParser.Encode(dw); }
protected override ContentRepairSuggestion GetObsoletableAspect(CarObject car, DataWrapper data) { if (data.GetIniFile(@"aero.ini").ContainsKey(@"DATA") != true) { return(null); } return(new ContentObsoleteSuggestion("Obsolete section DATA in aero.ini", "How old is this mod? ಠ_ಠ", (p, c) => FixAsync(car, p, c)) { AffectsData = true }); }
private static void PrintUnmappedProperties(DataWrapper wrapper) { // var u = wrapper.GetUnmappedProperties(); // // if (u.Any()) // { // Console.WriteLine($"UNMAPPED PROPERTIES IN {wrapper.GetType()}"); // // foreach (var p in u) // Console.WriteLine($">>> {p} ({wrapper[p].GetType()})"); // // Console.WriteLine(); // } }
public static string Wrapper2HTML(DataWrapper dw, string alttdclass, int maxchars) { return(WrapperFactory.Wrapper2HTML(dw, null, null, null, null, alttdclass, "1", "0", maxchars)); }
public static string Wrapper2HTML(DataWrapper dw, int maxchars) { return(WrapperFactory.Wrapper2HTML(dw, null, null, null, null, null, "1", "1", maxchars)); }
public CarData([NotNull] DataWrapper data) { _data = data; }
protected override ContentRepairSuggestion GetObsoletableAspect(CarObject car, DataWrapper data) { if ((car.SpecsWeight?.IndexOf("*", StringComparison.Ordinal) ?? 0) != -1) { return(null); } var uiWeight = car.GetWidthValue() ?? 0d; if (uiWeight <= 1d) { return(null); } var withDriver = data.GetIniFile(@"car.ini")["BASIC"].GetFloat("TOTALMASS", -1f); if (withDriver <= 0f) { return(null); } var weight = withDriver - CommonAcConsts.DriverWeight; var driverWeight = withDriver - uiWeight; if (driverWeight > CommonAcConsts.DriverWeight - OptionAllowedPadding) { return(null); } var valueStr = Math.Abs(driverWeight) < 0.1 ? "nothing" : driverWeight < 1 ? $"{driverWeight} kg" : $"only {driverWeight} kg"; return(new CommonErrorSuggestion("Invalid weight", $"In car.ini, TOTALMASS should include driver weight (+{CommonAcConsts.DriverWeight} kg) as well, " + $"but according to these TOTALMASS and mass in UI file, driver weights {valueStr}. Could be a mistake.\n\nIf you want to specify weight with driver in UI, add “*”.", (p, c) => FixAsync(car, p, c)) { AffectsData = true, FixCaption = "Fix data" }.AlternateFix("Fix UI", (progress, token) => { car.SpecsWeight = SelectedAcObjectViewModel.SpecsFormat(AppStrings.CarSpecs_Weight_FormatTooltip, weight.ToString(@"F0", CultureInfo.InvariantCulture)); return Task.FromResult(true); }, false).AlternateFix("Add “*”", (progress, token) => { car.SpecsWeight = SelectedAcObjectViewModel.SpecsFormat(AppStrings.CarSpecs_Weight_FormatTooltip, withDriver.ToString(@"F0", CultureInfo.InvariantCulture)) + "*"; return Task.FromResult(true); }, false)); }
public async Task <DataWrapper <List <PairingCodeResponse> > > Tokens([FromBody] TokenRequest request) { if (request == null) { throw new BitpayHttpException(400, "The request body is missing"); } PairingCodeEntity pairingEntity = null; if (string.IsNullOrEmpty(request.PairingCode)) { if (string.IsNullOrEmpty(request.Id) || !NBitpayClient.Extensions.BitIdExtensions.ValidateSIN(request.Id)) { throw new BitpayHttpException(400, "'id' property is required"); } var pairingCode = await _TokenRepository.CreatePairingCodeAsync(); await _TokenRepository.PairWithSINAsync(pairingCode, request.Id); pairingEntity = await _TokenRepository.UpdatePairingCode(new PairingCodeEntity() { Id = pairingCode, Label = request.Label }); } else { var sin = this.User.GetSIN() ?? request.Id; if (string.IsNullOrEmpty(sin) || !NBitpayClient.Extensions.BitIdExtensions.ValidateSIN(sin)) { throw new BitpayHttpException(400, "'id' property is required, alternatively, use BitId"); } pairingEntity = await _TokenRepository.GetPairingAsync(request.PairingCode); if (pairingEntity == null) { throw new BitpayHttpException(404, "The specified pairingCode is not found"); } pairingEntity.SIN = sin; if (string.IsNullOrEmpty(pairingEntity.Label) && !string.IsNullOrEmpty(request.Label)) { pairingEntity.Label = request.Label; await _TokenRepository.UpdatePairingCode(pairingEntity); } var result = await _TokenRepository.PairWithSINAsync(request.PairingCode, sin); if (result != PairingResult.Complete && result != PairingResult.Partial) { throw new BitpayHttpException(400, $"Error while pairing ({result})"); } } var pairingCodes = new List <PairingCodeResponse> { new PairingCodeResponse() { Policies = new Newtonsoft.Json.Linq.JArray(), PairingCode = pairingEntity.Id, PairingExpiration = pairingEntity.Expiration, DateCreated = pairingEntity.CreatedTime, Facade = "merchant", Token = pairingEntity.TokenValue, Label = pairingEntity.Label } }; return(DataWrapper.Create(pairingCodes)); }
protected override ContentRepairSuggestion GetObsoletableAspect(CarObject car, DataWrapper data) { var dashCam = data.GetIniFile(@"dash_cam.ini"); if (!dashCam.IsEmptyOrDamaged()) { return(null); } return(new ContentObsoleteSuggestion("Dash camera is not set", "By default, its position is below the car, which is quite unusable.", (p, c) => FixAsync(car, p, c)) { AffectsData = true }); }
public void Decode_NoValueNameSeparator_WrongFormatException() { string frame = "BLUE200"; DataWrapper actual = FrameParser.Decode(frame); }
protected override ContentRepairSuggestion GetObsoletableAspect(CarObject car, DataWrapper data) { if (!CheckIfObsolete(data)) { return(null); } return(new ContentObsoleteSuggestion("Lights might be too dim", "When Kunos changed HDR parameters, values in [mono]lights.ini[/mono] were increased in several times.", (p, c) => FixAsync(car, p, c)) { AffectsData = true }); }
public void StoreS2P(string filename, int portCount) { double[] numArray = null; int pointCount = 0; float[] numArray2 = SweepStore(ref pointCount, portCount); gPNA.WriteString("FORM REAL,64", true); gPNA.WriteString("CALC:MEAS:X?", true); numArray = (double[])gPNA.ReadIEEEBlock(IEEEBinaryType.BinaryType_R8, false, true); gPNA.WriteString("FORM ASCii,0", true); using (StreamWriter writer = File.CreateText(filename)) { writer.WriteLine("!" + IDNinfo); writer.WriteLine("!" + DateTime.Now.ToString("F")); writer.Write("!S" + portCount.ToString() + "P File: Measurements: <"); for (int i = 1; i <= portCount; i++) { writer.Write(ToSParameter(1, i)); if (i != portCount) { writer.Write(","); } } writer.WriteLine(">,"); for (int j = 2; j <= portCount; j++) { writer.Write("!<"); for (int m = 1; m <= portCount; m++) { writer.Write(ToSParameter(j, m)); if (m != portCount) { writer.Write(","); } } writer.Write(">"); if (j != portCount) { writer.WriteLine(","); } else { writer.WriteLine(":"); } } writer.WriteLine("# Hz S RI R 50"); DataWrapper wrapper = new DataWrapper { allData = numArray2, pointCount = pointCount, portCount = portCount }; for (int k = 0; k < numArray.Length; k++) { writer.Write(numArray[k].ToString("G17") + " "); for (int n = 1; n <= portCount; n++) { for (int num8 = 1; num8 <= portCount; num8++) { writer.Write(wrapper.Real(n, num8, k)); writer.Write(" "); writer.Write(wrapper.Imag(n, num8, k)); writer.Write(" "); if (((num8 % 4) == 0) && (num8 != portCount)) { writer.WriteLine(); } } if (n != portCount) { writer.WriteLine(); } } writer.WriteLine(); } } }
public CarData([NotNull] DataWrapper data) { _data = data; CarDirectory = data.ParentDirectory; }
static object GetProperty(string name, System.Type itemType, object itemData, DataWrapper auxData) { auxData.Data = itemData; return itemData; }
protected ShadowsRendererBase([NotNull] Kn5 kn5, [CanBeNull] DataWrapper carData) { Kn5 = kn5; Scene = new RenderableList(); CarData = carData == null ? null : new CarData(carData); }
static object CompareInternal(string name, System.Type itemType, object itemData, CompareInfo auxData) { if (!auxData.AreEqual) { return itemData; //No reason to proceed } var data = new DataWrapper(); auxData.Model.RunOnChild<DataWrapper>(name, GetProperty, data); //Get named element from the second model auxData.AreEqual = CompareInternal(name, itemData, data.Data, out auxData.Path); return itemData; }
public AmbientShadowKn5ObjectRenderer(Kn5 kn5, string carLocation = null) { _kn5 = kn5; _carData = new CarData(DataWrapper.FromDirectory(carLocation ?? Path.GetDirectoryName(kn5.OriginalFilename) ?? "")); _scene = new RenderableList(); }
public void Handle_Swiped(object sender, SwipedEventArgs e) { CoverWrapper.TranslateTo(0, (CoverWrapper.Y - CoverWrapper.HeightRequest), length: 300, easing: Easing.CubicInOut); DataWrapper.TranslateTo(0, 0, length: 300, easing: Easing.CubicInOut); }
protected override void Fix(CarObject car, DataWrapper data) { SetPitParams(data); }
public CarSetupEntry([Localizable(false), NotNull] string key, [CanBeNull] AcLocaleProvider localeProvider, [NotNull] DataWrapper data) : this(key, data.GetIniFile("setup.ini")[key], localeProvider, data) { }
public AmbientShadowRenderer([NotNull] string mainKn5Filename, [CanBeNull] string carLocation) : this(Kn5.FromFile(mainKn5Filename), DataWrapper.FromCarDirectory(carLocation ?? Path.GetDirectoryName(mainKn5Filename) ?? "")) { }
public CarSetupEntry([NotNull] string key, IniFileSection section, [CanBeNull] AcLocaleProvider localeProvider, [NotNull] DataWrapper data) { Key = key; DisplayName = localeProvider?.GetString("SETUP", section.GetNonEmpty("NAME")) ?? CarSetupObject.FixEntryName(section.GetNonEmpty("NAME"), false) ?? key; HelpInformation = localeProvider?.GetString(AcLocaleProvider.CategoryTag, section.GetNonEmpty("HELP")) ?? section.GetNonEmpty("HELP"); var ratios = section.GetNonEmpty("RATIOS"); if (ratios != null) { Values = data.GetRtoFile(ratios).Values; Minimum = 0; Maximum = Values.Count - 1; Step = 1; StepsMode = CarSetupStepsMode.Steps; TabKey = "GEARS"; } else { Minimum = section.GetDouble("MIN", 0); Maximum = section.GetDouble("MAX", Minimum + 100); Step = FixedStep(key) ?? section.GetDouble("STEP", 1d); StepsMode = section.GetIntEnum("SHOW_CLICKS", CarSetupStepsMode.ActualValue); UnitsPostfix = StepsMode == CarSetupStepsMode.ActualValue ? GetUnitsPostfix(key) : null; TabKey = section.GetNonEmpty("TAB"); } var defaultValue = GetDefaultValue(key, data); DefaultValue = defaultValue ?? (Minimum + Maximum) / 2f; HasDefaultValue = defaultValue.HasValue; var range = Maximum - Minimum; VisualStep = range / Step < 10 ? Step : range / 10; }
public async Task <IActionResult> PayButtonHandle([FromForm] PayButtonViewModel model, CancellationToken cancellationToken) { var store = await _StoreRepository.FindStore(model.StoreId); if (store == null) { ModelState.AddModelError("Store", "Invalid store"); } else { var storeBlob = store.GetStoreBlob(); if (!storeBlob.AnyoneCanInvoice) { ModelState.AddModelError("Store", "Store has not enabled Pay Button"); } } if (model == null || model.Price <= 0) { ModelState.AddModelError("Price", "Price must be greater than 0"); } if (!ModelState.IsValid) { return(View()); } DataWrapper <InvoiceResponse> invoice = null; try { invoice = await _InvoiceController.CreateInvoiceCore(new CreateInvoiceRequest() { Price = model.Price, Currency = model.Currency, ItemDesc = model.CheckoutDesc, OrderId = model.OrderId, NotificationEmail = model.NotifyEmail, NotificationURL = model.ServerIpn, RedirectURL = model.BrowserRedirect, FullNotifications = true }, store, HttpContext.Request.GetAbsoluteRoot(), cancellationToken : cancellationToken); } catch (BitpayHttpException e) { ModelState.AddModelError("Store", e.Message); return(View()); } if (model.JsonResponse) { return(Json(new { InvoiceId = invoice.Data.Id, InvoiceUrl = invoice.Data.Url })); } if (string.IsNullOrEmpty(model.CheckoutQueryString)) { return(Redirect(invoice.Data.Url)); } var additionalParamValues = HttpUtility.ParseQueryString(model.CheckoutQueryString); var uriBuilder = new UriBuilder(invoice.Data.Url); var paramValues = HttpUtility.ParseQueryString(uriBuilder.Query); paramValues.Add(additionalParamValues); uriBuilder.Query = paramValues.ToString(); return(Redirect(uriBuilder.Uri.AbsoluteUri)); }
public LoginViewViewModel(IViewAwareStatus viewAwareStatus, IAuthenticateService authenticateService, IMessageBoxService messageBoxService, IBusinessUnitService businessUnitService, IViewInjectionService viewInjectionService) { //base.IsCloseable = true; //Initialise Services this.viewAwareStatus = viewAwareStatus; this.authenticateService = authenticateService; this.messageBoxService = messageBoxService; this.businessUnitService = businessUnitService; this.viewInjectionService = viewInjectionService; //this.regionManager = regionManager; //Initialise Properties UserName = new DataWrapper<string>(this, userNameArgs); Password = new DataWrapper<string>(this, passwordArgs); SelectedBusinessUnit = new DataWrapper<Int32>(this, businessUnitsArgs); this.viewAwareStatus.ViewLoaded += new Action(viewAwareStatus_ViewLoaded); cachedListOfDataWrappers = DataWrapperHelper.GetWrapperProperties<LoginViewViewModel>(this); //Register Mediator Mediator.Instance.Register(this); //Initialise Rules userName.AddRule(UserNameCannnotBeEmptyRule); password.AddRule(PasswordCannotBeEmptyRule); selectedBusinessUnit.AddRule(SelectedBusinessUnitCannotBeEmpty); //Initialise Commands LoginCommand = new SimpleCommand<object, object>(CanExecuteLoginCommand, ExecuteLoginCommand); CancelLoginCommand = new SimpleCommand<object, object>(ExecuteCancelLoginCommand); }
public static Lut LoadCarTorque(string carDir) { return(LoadCarTorque(DataWrapper.FromDirectory(carDir))); }
protected abstract ContentRepairSuggestion GetObsoletableAspect([NotNull] CarObject car, [NotNull] DataWrapper data);
public void WrapperRefValueToNull() { ITargetDataWrapper target = _app.Pin<ITargetDataWrapper, Target>(); DataWrapper dataOut; DataWrapper dataRef = new DataWrapper(_app.Type<Data>()()); DataWrapper data = target.Get(out dataOut, ref dataRef); Assert.IsNull(data); Assert.IsNull(dataOut); Assert.IsNull(dataRef); }
/// <summary> /// Fromat field value. /// </summary> /// <param name="value">Export value.</param> /// <returns>Formated field value string.</returns> private string _FormatFieldValue(DataWrapper value) { string result = (null == value.Value) ? string.Empty : value.Value.ToString(); if (!string.IsNullOrEmpty(result)) { if ((OleDbType.WChar == value.Type) || (OleDbType.LongVarWChar == value.Type)) result = string.Format(STRING_FORMAT, result); else if (OleDbType.Date == value.Type) { DateTime? date = (DateTime?)value.Value; Debug.Assert(date.HasValue); result = date.Value.ToShortDateString(); } } else { switch (value.Type) { case OleDbType.SmallInt: case OleDbType.Integer: { int val = -1; result = val.ToString(); break; } case OleDbType.Double: case OleDbType.Single: { double val = 0; result = val.ToString(); break; } case OleDbType.Date: case OleDbType.Guid: result = string.Empty; break; case OleDbType.WChar: case OleDbType.LongVarWChar: result = string.Format(STRING_FORMAT, string.Empty); break; default: Debug.Assert(false); // NOTE: not supported break; } } return result; }
/// <summary> /// Formats field value. /// </summary> /// <param name="value">Value to write.</param> /// <returns>Formated value.</returns> private object _FormatFieldValue(DataWrapper value) { object val = DBNull.Value; if (null != value.Value) val = value.Value; else { // value empty - do special routine switch (value.Type) { case OleDbType.SmallInt: case OleDbType.Integer: val = -1; break; case OleDbType.Double: case OleDbType.Single: val = 0.0; break; // default: NOTE: do nothing - DBNull.Value } } return val; }
protected abstract void Fix([NotNull] CarObject car, [NotNull] DataWrapper data);
public CustomerModel() { #region Create DataWrappers CustomerId = new DataWrapper<Int32>(this, customerIdChangeArgs); FirstName = new DataWrapper<String>(this, firstNameChangeArgs); LastName = new DataWrapper<String>(this, lastNameChangeArgs); Email = new DataWrapper<String>(this, emailChangeArgs); HomePhoneNumber = new DataWrapper<String>(this, homePhoneNumberChangeArgs); MobilePhoneNumber = new DataWrapper<String>(this, mobilePhoneNumberChangeArgs); Address1 = new DataWrapper<String>(this, address1ChangeArgs); Address2 = new DataWrapper<String>(this, address2ChangeArgs); Address3 = new DataWrapper<String>(this, address3ChangeArgs); //fetch list of all DataWrappers, so they can be used again later without the //need for reflection cachedListOfDataWrappers = DataWrapperHelper.GetWrapperProperties<CustomerModel>(this); #endregion #region Create Validation Rules firstName.AddRule(firstNameRule); lastName.AddRule(lastNameRule); email.AddRule(emailRule); homePhoneNumber.AddRule(homePhoneNumberRule); address1.AddRule(address1Rule); address2.AddRule(address2Rule); address3.AddRule(address3Rule); #endregion }