示例#1
0
        public void InsertRows()
        {
            List <Task> tt = new List <Task>();

            for (int i = 1; i <= 1000; i++)
            {
                using (var db = new InsuranceDBContext())
                {
                    for (int j = 1; j <= 1000; j++)
                    {
                        var ip = new InsurancePolicy()
                        {
                            PolicyName = "No Age Policy X1 " + i * j,
                            BasePrice  = 10M + Convert.ToDecimal((i * j) / 100),
                        };
                        db.InsurancePolicies.Add(ip);
                    }
                    Console.WriteLine("saving group " + i);
                    db.SaveChanges();
                    Console.WriteLine("saved group " + i);
                }
            }

            //Console.WriteLine("All groups done");

            //Parallel.For(0, 1000, (i, si) =>
            //{
            //    using (var db = new InsuranceDBContext())
            //    {
            //        Parallel.For(0, 1000, (j, sj) =>
            //        {
            //            var ip = new InsurancePolicy()
            //            {
            //                PolicyName = "No Age Policy " + i*j,
            //                BasePrice = 10M + Convert.ToDecimal((i*j)/100),

            //            };
            //            db.InsurancePolicies.Add(ip);
            //        });

            //        Console.WriteLine("Saving group " + i);
            //        db.SaveChanges();
            //        Console.WriteLine("Saved group " + i);
            //        //var finished =
            //        //    db.SaveChangesAsync()
            //        //        .ContinueWith(t => Console.WriteLine("Inserted " + t.Result + " rows in group " + i));
            //        //tt.Add(finished);
            //    }
            //});

            //Task.WaitAll(tt.ToArray());
        }
示例#2
0
        private decimal CalculateBasePrice(InsurancePolicy insurancePolicy, FindPolicyRequest req)
        {
            var basePrice      = insurancePolicy.BasePrice;
            var ageOfApplicant = DateTime.Now.Year - req.DateOfBirth.Year;

            if (ageOfApplicant < 20)
            {
                basePrice += 2M;
            }
            else if (ageOfApplicant >= 20 && ageOfApplicant < 30)
            {
                basePrice += 5M;
            }
            else
            {
                basePrice += fib((ageOfApplicant)) + 10M;
            }

            return(basePrice);
        }