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()); }
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); }