Пример #1
0
        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();
        }
Пример #3
0
	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();
        }
Пример #5
0
 public AmbientShadowRenderer([NotNull] Kn5 kn5, [CanBeNull] DataWrapper carData) : base(kn5, carData)
 {
     Iterations = 2000;
 }
Пример #6
0
 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
     });
 }
Пример #7
0
 /// <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));
 }
Пример #8
0
        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("&nbsp;");
                sb.AppendLine(extraString);
            }

            return(sb.ToString());
        }
Пример #9
0
 public BakedShadowsRenderer([NotNull] IKn5 kn5, [CanBeNull] DataWrapper carData) : base(kn5, carData)
 {
     ResolutionMultiplier = 2d;
 }
Пример #10
0
 public CarData([NotNull] string carDirectory)
 {
     _data        = DataWrapper.FromCarDirectory(carDirectory);
     CarDirectory = carDirectory;
 }
Пример #11
0
        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));
        }
Пример #12
0
        public void Encode_DataWrapperNull_ArgumentNullException()
        {
            DataWrapper dw = null;

            FrameParser.Encode(dw);
        }
Пример #13
0
 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
     });
 }
Пример #14
0
 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();
     //            }
 }
Пример #15
0
 public static string Wrapper2HTML(DataWrapper dw, string alttdclass, int maxchars)
 {
     return(WrapperFactory.Wrapper2HTML(dw, null, null, null, null, alttdclass, "1", "0", maxchars));
 }
Пример #16
0
 public static string Wrapper2HTML(DataWrapper dw, int maxchars)
 {
     return(WrapperFactory.Wrapper2HTML(dw, null, null, null, null, null, "1", "1", maxchars));
 }
Пример #17
0
 public CarData([NotNull] DataWrapper data)
 {
     _data = data;
 }
Пример #18
0
        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));
        }
Пример #20
0
        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
            });
        }
Пример #21
0
        public void Decode_NoValueNameSeparator_WrongFormatException()
        {
            string frame = "BLUE200";

            DataWrapper actual = FrameParser.Decode(frame);
        }
Пример #22
0
 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
     });
 }
Пример #23
0
        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();
                }
            }
        }
Пример #24
0
 public CarData([NotNull] DataWrapper data)
 {
     _data        = data;
     CarDirectory = data.ParentDirectory;
 }
Пример #25
0
 static object GetProperty(string name, System.Type itemType, object itemData, DataWrapper auxData)
 {
     auxData.Data = itemData;
     return itemData;
 }
Пример #26
0
 protected ShadowsRendererBase([NotNull] Kn5 kn5, [CanBeNull] DataWrapper carData)
 {
     Kn5     = kn5;
     Scene   = new RenderableList();
     CarData = carData == null ? null : new CarData(carData);
 }
Пример #27
0
        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();
 }
Пример #29
0
 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);
 }
Пример #30
0
 protected override void Fix(CarObject car, DataWrapper data)
 {
     SetPitParams(data);
 }
Пример #31
0
 public CarSetupEntry([Localizable(false), NotNull] string key, [CanBeNull] AcLocaleProvider localeProvider, [NotNull] DataWrapper data)
     : this(key, data.GetIniFile("setup.ini")[key], localeProvider, data)
 {
 }
Пример #32
0
 public AmbientShadowRenderer([NotNull] string mainKn5Filename, [CanBeNull] string carLocation)
     : this(Kn5.FromFile(mainKn5Filename), DataWrapper.FromCarDirectory(carLocation ?? Path.GetDirectoryName(mainKn5Filename) ?? ""))
 {
 }
Пример #33
0
        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;
        }
Пример #34
0
        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);
        }
Пример #36
0
 public static Lut LoadCarTorque(string carDir)
 {
     return(LoadCarTorque(DataWrapper.FromDirectory(carDir)));
 }
Пример #37
0
 protected abstract ContentRepairSuggestion GetObsoletableAspect([NotNull] CarObject car, [NotNull] DataWrapper data);
Пример #38
0
 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);
 }
Пример #39
0
        /// <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;
        }
Пример #40
0
        /// <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;
        }
Пример #41
0
 protected abstract void Fix([NotNull] CarObject car, [NotNull] DataWrapper data);
Пример #42
-1
        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
        }