private Employee AddRandomEmployee() { Employee employee = new Employee() { Alias = this._random.Next().ToString(), Manager = this._random.Next().ToString(), Name = this._random.Next().ToString(), }; ExpenseService service = new ExpenseService(); service.SaveEmployee(employee); return employee; }
public int SaveEmployee(Employee employee) { using (DbDataContext db = new DbDataContext()) { Employee dbEmployee; if (employee.EmployeeId == 0) { dbEmployee = employee; db.Employees.InsertOnSubmit(dbEmployee); } else { dbEmployee = db.Employees.Single(item => item.EmployeeId == employee.EmployeeId); dbEmployee.Alias = employee.Alias; dbEmployee.Manager = employee.Manager; dbEmployee.Name = employee.Name; } db.SubmitChanges(); return dbEmployee.EmployeeId; } }
private Employee CreateNewEmployee(string alias) { string managerAlias = "manager"; if (string.Compare(alias, "rogreen", true) != 0) { managerAlias = "rogreen"; } Employee employee = new Employee() { Alias = alias, Charges = new EntitySet<Charge>(), ExpenseReports = new EntitySet<ExpenseReport>(), Manager = managerAlias, Name = "New Employee", }; employee.Charges.Add( new Charge() { AccountNumber = 723000, BilledAmount = 200M, Category = (int)CategoryType.Hotel, Description = "REF# 27438948", ExpenseDate = DateTime.Today.AddDays(-45), ExpenseType = (int)ChargeType.Business, Location = "San Francisco, CA", Merchant = "Northwind Inn", Notes = string.Empty, ReceiptRequired = true, TransactionAmount = 200M, }); employee.Charges.Add( new Charge() { AccountNumber = 723000, BilledAmount = 40, Category = (int)CategoryType.OtherTravelAndLodging, Description = "REF# 77384751", ExpenseDate = DateTime.Today.AddDays(-20), ExpenseType = (int)ChargeType.Business, Location = "Seattle, WA", Merchant = "Contoso Taxi", Notes = string.Empty, ReceiptRequired = false, TransactionAmount = 40, }); employee.Charges.Add( new Charge() { AccountNumber = 723000, BilledAmount = 67, Category = (int)CategoryType.TEMeals, Description = "REF# 33748563", ExpenseDate = DateTime.Today.AddDays(-8), ExpenseType = (int)ChargeType.Business, Location = "Seattle, WA", Merchant = "Fourth Coffee", Notes = string.Empty, ReceiptRequired = false, TransactionAmount = 12, }); employee.Charges.Add( new Charge() { AccountNumber = 723000, BilledAmount = 17, Category = (int)CategoryType.TEMeals, Description = "REF# 33748876", ExpenseDate = DateTime.Today.AddDays(-4), ExpenseType = (int)ChargeType.Business, Location = "Seattle, WA", Merchant = "Fourth Coffee", Notes = string.Empty, ReceiptRequired = false, TransactionAmount = 15, }); ExpenseReport expenseReport = new ExpenseReport() { Amount = 640M, Approver = managerAlias, CostCenter = 50992, DateSubmitted = DateTime.Today.AddDays(-7), Notes = (managerAlias == "rogreen") ? "Kim Akers" : "Visit to Blue Yonder Airlines", OwedToCreditCard = 450M, OwedToEmployee = 0M, Purpose = "Visit to Blue Yonder Airlines", Status = (int)ExpenseReportStatus.Pending, }; employee.ExpenseReports.Add(expenseReport); expenseReport = new ExpenseReport() { Amount = 450M, Approver = managerAlias, CostCenter = 50992, DateSubmitted = DateTime.Today.AddDays(-7), Notes = (managerAlias == "rogreen") ? "Kim Akers" : "Visit to Tailspin Toys", OwedToCreditCard = 450M, OwedToEmployee = 0M, Purpose = "Visit to Tailspin Toys", Status = (int)ExpenseReportStatus.Pending, }; employee.ExpenseReports.Add(expenseReport); expenseReport.Charges.Add( new Charge() { AccountNumber = 723000, BilledAmount = 350M, Category = (int)CategoryType.AirFare, Description = "Airfare to San Francisco", Employee = employee, ExpenseDate = DateTime.Today.AddDays(-60), ExpenseType = (int)ChargeType.Business, Location = "Chicago, IL", Merchant = "Blue Yonder Airlines", Notes = string.Empty, ReceiptRequired = true, TransactionAmount = 350M, }); expenseReport.Charges.Add( new Charge() { AccountNumber = 723000, BilledAmount = 50, Category = (int)CategoryType.OtherTravelAndLodging, Description = "Cab from airport", Employee = employee, ExpenseDate = DateTime.Today.AddDays(-45), ExpenseType = (int)ChargeType.Business, Location = "San Francisco, CA", Merchant = "Contoso Taxi", Notes = string.Empty, ReceiptRequired = false, TransactionAmount = 50, }); expenseReport.Charges.Add( new Charge() { AccountNumber = 723000, BilledAmount = 50, Category = (int)CategoryType.OtherTravelAndLodging, Description = "Cab to airport", Employee = employee, ExpenseDate = DateTime.Today.AddDays(-45), ExpenseType = (int)ChargeType.Business, Location = "San Francisco, CA", Merchant = "Contoso Taxi", Notes = string.Empty, ReceiptRequired = false, TransactionAmount = 50, }); // Add a year of every other month customer visits int x = -75; for (int i = 1; i <= 6; i++) { expenseReport = new ExpenseReport() { Amount = 850M, Approver = managerAlias, CostCenter = 50992, DateSubmitted = DateTime.Today.AddDays(x - 5), DateResolved = DateTime.Today.AddDays(x), Notes = "Visit to Tailspin Toys", OwedToCreditCard = 850M, OwedToEmployee = 0M, Purpose = "Customer visit", Status = (int)ExpenseReportStatus.Approved, }; employee.ExpenseReports.Add(expenseReport); expenseReport.Charges.Add( new Charge() { AccountNumber = 723000, BilledAmount = 350M, Category = (int)CategoryType.AirFare, Description = "Airfare to Chicago", Employee = employee, ExpenseDate = DateTime.Today.AddDays(x - 15), ExpenseType = (int)ChargeType.Business, Location = "Chicago, IL", Merchant = "Blue Yonder Airlines", Notes = string.Empty, ReceiptRequired = true, TransactionAmount = 350M, }); expenseReport.Charges.Add( new Charge() { AccountNumber = 723000, BilledAmount = 50M, Category = (int)CategoryType.OtherTravelAndLodging, Description = "Cab from airport", Employee = employee, ExpenseDate = DateTime.Today.AddDays(x - 5), ExpenseType = (int)ChargeType.Business, Location = "Chicago, IL", Merchant = "Contoso Taxi", Notes = string.Empty, ReceiptRequired = false, TransactionAmount = 50M, }); expenseReport.Charges.Add( new Charge() { AccountNumber = 723000, BilledAmount = 50M, Category = (int)CategoryType.OtherTravelAndLodging, Description = "Cab to airport", Employee = employee, ExpenseDate = DateTime.Today.AddDays(x - 3), ExpenseType = (int)ChargeType.Business, Location = "Chicago, IL", Merchant = "Contoso Taxi", Notes = string.Empty, ReceiptRequired = false, TransactionAmount = 50M, }); expenseReport.Charges.Add( new Charge() { AccountNumber = 723000, BilledAmount = 400M, Category = (int)CategoryType.Hotel, Description = "2 nights hotel", Employee = employee, ExpenseDate = DateTime.Today.AddDays(x - 3), ExpenseType = (int)ChargeType.Business, Location = "Chicago, IL", Merchant = "Northwind Inn", Notes = string.Empty, ReceiptRequired = true, TransactionAmount = 400M, }); x -= 60; } // Add 18 months of cell phone charges x = -30; for (int i = 1; i <= 18; i++) { expenseReport = new ExpenseReport() { Amount = 850M, Approver = managerAlias, CostCenter = 50992, DateSubmitted = DateTime.Today.AddDays(x - 5), DateResolved = DateTime.Today.AddDays(x), Notes = "", OwedToCreditCard = 0, OwedToEmployee = 50M, Purpose = "Last month's cell phone", Status = (int)ExpenseReportStatus.Approved, }; employee.ExpenseReports.Add(expenseReport); expenseReport.Charges.Add( new Charge() { AccountNumber = 742000, BilledAmount = 50M, Category = (int)CategoryType.OtherTravelAndLodging, Description = "Cell phone bill", Employee = employee, ExpenseDate = DateTime.Today.AddDays(x - 10), ExpenseType = (int)ChargeType.Personal, Location = "Seattle, WA", Merchant = "The Phone Company", Notes = string.Empty, ReceiptRequired = true, TransactionAmount = 50M, }); x -= 30; } using (DbDataContext db = new DbDataContext()) { db.Employees.InsertOnSubmit(employee); db.SubmitChanges(); } this.GetEmployee("kimakers"); return employee; }
partial void DeleteEmployee(Employee instance);
partial void UpdateEmployee(Employee instance);
partial void InsertEmployee(Employee instance);
public void Create_Employee() { string alias = "rogreen"; Employee employee = new Employee() { Alias = alias, Manager = "notrogreen", Name = "Robert Green", }; ExpenseService service = new ExpenseService(); int employeeId = service.SaveEmployee(employee); Assert.AreNotEqual(0, employeeId); Assert.AreEqual(employeeId, employee.EmployeeId); Employee dbData = service.GetEmployee(alias); Assert.AreEqual(alias, dbData.Alias); alias = "rogreen2"; employee.Alias = alias; service.SaveEmployee(employee); dbData = service.GetEmployee(alias); Assert.AreEqual(alias, dbData.Alias); }