예제 #1
0
        private WalletRecord BuildWalletRecord(WalletRecordType type, long userId, decimal money, string remark)
        {
            WalletRecord walletRecord = new WalletRecord(type, userId, money, remark);

            walletRecord.SerialNumber = NumberProvider.BuildNumber();
            return(walletRecord);
        }
예제 #2
0
        static void Main(string[] args)
        {
            Console.BackgroundColor = ConsoleColor.DarkRed;
            Console.WriteLine("Welcome to the calculating app");
            Console.BackgroundColor = ConsoleColor.Black;

            NumberProvider numberProvider = new NumberProvider();

            Tuple <int, int> numbers = numberProvider.GetNumbers();

            Console.WriteLine("Thanks. These will be fun to do maths on.");

            Console.WriteLine("Initializing calculator...");

            CalculationTypeProvider calculationTypeProvider = new CalculationTypeProvider();

            CalculationType calculationType = calculationTypeProvider.GetCalculationType();

            ICalculator calculator = CalculatorFactory.Get(calculationType);

            if (calculator != null)
            {
                Console.Beep();

                decimal result = calculator.Calculate(numbers.Item1, numbers.Item2);

                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine($"Yay... The result is {result}. Bye bye.");
                Console.ReadKey();
            }
        }
예제 #3
0
        // GET: Home
        public ActionResult Index()
        {
            PlotInitials initData = GetInitialData();

            ViewBag.Tmin      = initData.Tmin;
            ViewBag.Tmax      = initData.Tmax;
            ViewBag.mu        = initData.mu;
            ViewBag.gamma_min = Convert.ToDecimal(initData.gamma_min).ToString(NumberProvider.GetFormatter());
            ViewBag.gamma_max = Convert.ToDecimal(initData.gamma_max).ToString(NumberProvider.GetFormatter());

            return(View());
        }
예제 #4
0
        public virtual TBoughtContext ProcessData(TBoughtContext boughtContext)
        {
            SalePriceProvider.Caculate(boughtContext);
            PreProcessOrderData(boughtContext);

            boughtContext.Order.Number = NumberProvider.BuildNumber();
            boughtContext.Order.Title  = BuildTitle(boughtContext);

            boughtContext.Order.Money    = boughtContext.Money;
            boughtContext.Order.PayMoney = boughtContext.Money;

            return(boughtContext);
        }
예제 #5
0
        private static async Task RoomsFactory(int ARoomsNumber, DatabaseContext ADatabaseContext)
        {
            var LRooms = new List <Rooms>();

            for (var LIndex = 0; LIndex < ARoomsNumber; LIndex++)
            {
                LRooms.Add(new Rooms
                {
                    Id         = new Guid(),
                    RoomNumber = LIndex,
                    Bedrooms   = NumberProvider.GetRandomInteger(1, 3)
                });
            }

            ADatabaseContext.Rooms.AddRange(LRooms);
            await ADatabaseContext.SaveChangesAsync();
        }
예제 #6
0
        private void simulate(SingletonType singletonType)
        {
            for (int i = 0; i < 10; i++)
            {
                Task.Run(() =>
                {
                    for (int j = 0; j < 30; j++)
                    {
                        // var amt = this.getRandomAmt(); //預購數
                        var amt = 2; //預購數

                        NumberProvider counter = null;

                        switch (singletonType)
                        {
                        case SingletonType.NonThreadSafe:
                            counter = NonThreadSafeSingleton.Instance;
                            break;

                        case SingletonType.DoubleCheck:
                            counter = DoubleCheckSingleton.Instance;
                            break;

                        case SingletonType.Eager:
                            counter = EagerSingleton.Instance;
                            break;

                        case SingletonType.Lazy:
                            counter = LazySingleton.Instance;
                            break;
                        }

                        string preorderNumbers = string.Empty; //預購序號集合
                        for (int x = 0; x < amt; x++)
                        {
                            var number       = counter.GetNumber();
                            preorderNumbers += $"*{number}* ";
                        }

                        Trace.WriteLine($"({Thread.CurrentThread.ManagedThreadId}){this.getRandomName()}預購{amt}組: {preorderNumbers}");
                    }
                });
            }
        }
예제 #7
0
 public B(NumberProvider numberProvider)
 {
     _numberProvider = numberProvider;
 }
 public Multiplier(NumberProvider privider) => _provider = privider;