public void Test_CompanyFilter() { var connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); try { var options = new DbContextOptionsBuilder <HOSContext>() .UseSqlite(connection) .Options; using (var context = new HOSContext(options)) { context.Database.EnsureCreated(); } using (var context = new HOSContext(options)) { HOSTestData.LoadCompanyTable(context); } using (var context = new HOSContext(options)) { IRepository repository = new Repository(context); var companies = repository.Filter <Company>(c => c.CompanyName.Contains("Swift")); Assert.NotNull(companies); Assert.Equal(2, companies.ToList().Count()); } } finally { connection.Close(); } }
public void Test_CompanyMgr_GetAll() { var connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); try { var options = new DbContextOptionsBuilder <HOSContext>() .UseSqlite(connection) .Options; using (var context = new HOSContext(options)) { context.Database.EnsureCreated(); } using (var context = new HOSContext(options)) { HOSTestData.LoadCompanyTable(context); } using (var context = new HOSContext(options)) { ICompanyManager companyMgr = new CompanyManager(new Repository(context)); var companies = companyMgr.GetAll().ToList(); Assert.NotNull(companies); Assert.Equal(7, companies.Count()); } } finally { connection.Close(); } }
public static void LoadCompanyTable(HOSContext ctx) { var data = new List <Company> { new Company { ID = 1, CompanyCode = "ADMIN001", CompanyName = "Btechnical Consulting", DOT_Number = "000000", MC_Number = "MC-000000", CreatedBy = "admin", CreatedOn = DateTime.Now, UpdatedBy = "admin", UpdatedOn = DateTime.Now }, new Company { ID = 2, CompanyCode = "FCT001", CompanyName = "First Choice Transport", DOT_Number = "123456", MC_Number = "MC-123456", CreatedBy = "admin", CreatedOn = DateTime.Now, UpdatedBy = "admin", UpdatedOn = DateTime.Now }, new Company { ID = 3, CompanyCode = "SWIFT001", CompanyName = "Swift Transportation", DOT_Number = "937712", MC_Number = "MC-987665", CreatedBy = "admin", CreatedOn = DateTime.Now, UpdatedBy = "admin", UpdatedOn = DateTime.Now }, new Company { ID = 4, CompanyCode = "SWIFT004", CompanyName = "Swift Trans LLC", DOT_Number = "712025", MC_Number = "MC-987665", CreatedBy = "admin", CreatedOn = DateTime.Now, UpdatedBy = "admin", UpdatedOn = DateTime.Now }, new Company { ID = 5, CompanyCode = "GWTM001", CompanyName = "GreatWIDe Truckload Management", DOT_Number = "430147", MC_Number = "MC-014987", CreatedBy = "admin", CreatedOn = DateTime.Now, UpdatedBy = "admin", UpdatedOn = DateTime.Now }, new Company { ID = 6, CompanyCode = "CARD001", CompanyName = "Cardinal Logistics", DOT_Number = "703028", MC_Number = "MC-654321", CreatedBy = "admin", CreatedOn = DateTime.Now, UpdatedBy = "admin", UpdatedOn = DateTime.Now }, new Company { ID = 7, CompanyCode = "GWLS001", CompanyName = "Greatwide Logistics Services", DOT_Number = "380085", MC_Number = "MC-665871", CreatedBy = "admin", CreatedOn = DateTime.Now, UpdatedBy = "admin", UpdatedOn = DateTime.Now } }; ctx.Companies.AddRange(data); ctx.SaveChanges(); }
public void Test_StateProvinceCodeMgr_StateCodeSelectUSACodes() { var connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); try { var options = new DbContextOptionsBuilder <HOSContext>() .UseSqlite(connection) .Options; using (var context = new HOSContext(options)) { context.Database.EnsureCreated(); } using (var context = new HOSContext(options)) { HOSTestData.LoadStateProvinceCodeTable(context); } using (var context = new HOSContext(options)) { IStateProvinceCodeManager stateCodeMgr = new StateProvinceCodeManager(new Repository(context)); var usaCodes = stateCodeMgr.GetStateProvinceCodes(code => code.CountryCode == "USA").ToList(); Assert.NotNull(usaCodes); // Puerto Rico and Wash D.C. Assert.Equal(52, usaCodes.Count()); } } finally { connection.Close(); } }
public void Test_CompanyAddressesAll() { var connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); try { var options = new DbContextOptionsBuilder <HOSContext>() .UseSqlite(connection) .Options; using (var context = new HOSContext(options)) { context.Database.EnsureCreated(); } using (var context = new HOSContext(options)) { HOSTestData.LoadCompanyTable(context); HOSTestData.LoadStateProvinceCodeTable(context); HOSTestData.LoadCompanyAddresses(context); } using (var context = new HOSContext(options)) { IRepository repository = new Repository(context); var addresses = repository.All <Address>(); Assert.NotNull(addresses); Assert.Equal(6, addresses.Count()); } } finally { connection.Close(); } }
public void Test_DailyLogMgr_CreateDailyLog() { var connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); try { var options = new DbContextOptionsBuilder <HOSContext>() .UseSqlite(connection) .Options; using (var context = new HOSContext(options)) { context.Database.EnsureCreated(); } using (var context = new HOSContext(options)) { HOSTestData.LoadStateProvinceCodeTable(context); HOSTestData.LoadDutyStatusTable(context); HOSTestData.LoadDutyStatusActivityTable(context); HOSTestData.LoadCompanyTable(context); HOSTestData.LoadAppUserTable(context); HOSTestData.LoadDailyLogTable(context); HOSTestData.LoadDailyLogDetailTable(context); } using (var context = new HOSContext(options)) { IDailyLogManager logMgr = new DailyLogManager(new Repository(context)); var dailyLogModel = new DailyLogModel { LogID = 4, LogDate = new DateTime(2016, 9, 10), BeginningMileage = 963000, TruckNumber = "3082", TrailerNumber = "9225", IsSigned = false, Notes = "Dropped trailer 9225 at Whirlpool and picked up loaded trailer 9159", DriverID = 4, CreatedBy = "sysadmin", CreatedOn = new DateTime(2016, 9, 10, 8, 0, 0), UpdatedBy = "sysadmin", UpdatedOn = new DateTime(2016, 9, 10, 8, 0, 0), }; logMgr.Create(dailyLogModel); logMgr.SaveChanges(); var test = logMgr.GetDailyLog(log => log.LogID == dailyLogModel.LogID); Assert.NotNull(test); Assert.Equal(new DateTime(2016, 9, 10), test.LogDate.Date); } } finally { connection.Close(); } }
public void Test_DailyLogUpdate() { var connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); try { var options = new DbContextOptionsBuilder <HOSContext>() .UseSqlite(connection) .Options; using (var context = new HOSContext(options)) { context.Database.EnsureCreated(); } using (var context = new HOSContext(options)) { HOSTestData.LoadCompanyTable(context); HOSTestData.LoadAppUserTable(context); } using (var context = new HOSContext(options)) { IRepository repository = new Repository(context); var dailyLog = new DailyLog { LogID = 1, LogDate = new DateTime(2016, 9, 7), BeginningMileage = 899201, EndingMileage = 899423, TruckNumber = "3082", TrailerNumber = "9225", IsSigned = true, Notes = "Dropped trailer 9225 at Whirlpool and picked up loaded trailer 9159", DriverID = 4 }; repository.Create <DailyLog>(dailyLog); repository.Save(); var test = repository.Find <DailyLog>(log => log.LogID == dailyLog.LogID); Assert.NotNull(test); Assert.Equal(new DateTime(2016, 9, 7), dailyLog.LogDate); test.LogDate = new DateTime(2016, 9, 9); repository.Update <DailyLog>(test); repository.Save(); test = repository.Find <DailyLog>(log => log.LogID == dailyLog.LogID); Assert.Equal(new DateTime(2016, 9, 9), test.LogDate); } } finally { connection.Close(); } }
public void Test_CompanyUpdate() { var connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); try { var options = new DbContextOptionsBuilder <HOSContext>() .UseSqlite(connection) .Options; using (var context = new HOSContext(options)) { context.Database.EnsureCreated(); } using (var context = new HOSContext(options)) { IRepository repository = new Repository(context); var company = new Company() { ID = 1, CompanyCode = "FCT001", CompanyName = "First Choice Transport", DOT_Number = "951560", MC_Number = "MC-407377", CreatedBy = "admin", CreatedOn = DateTime.Now, UpdatedBy = "admin", UpdatedOn = DateTime.Now }; repository.Create <Company>(company); repository.Save(); var test = repository.Find <Company>(c => c.ID == company.ID); Assert.Equal(company.ID, test.ID); var currentDateTime = DateTime.Now; company.CompanyCode = "FCT002"; company.CompanyName = "First Choice Transportation, Inc"; company.UpdatedOn = currentDateTime; repository.Update <Company>(company); repository.Save(); test = repository.Find <Company>(c => c.ID == company.ID); Assert.Equal("FCT002", test.CompanyCode); Assert.Equal("First Choice Transportation, Inc", test.CompanyName); Assert.Equal(currentDateTime, test.UpdatedOn); } } finally { connection.Close(); } }
public void Test_CompanyAddressMgr_Create() { var connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); try { var options = new DbContextOptionsBuilder <HOSContext>() .UseSqlite(connection) .EnableSensitiveDataLogging() .Options; using (var context = new HOSContext(options)) { context.Database.EnsureCreated(); } using (var context = new HOSContext(options)) { HOSTestData.LoadCompanyTable(context); HOSTestData.LoadStateProvinceCodeTable(context); } using (var context = new HOSContext(options)) { ICompanyAddressManager addressMgr = new CompanyAddressManager(new Repository(context)); var companyAddress = new CompanyAddress { AddressLine1 = "5333 Davidson Highway", AddressLine2 = "", City = "Concord", StateProvinceId = 28, Zipcode = "28027", CountryCode = "USA", IsHQ = true, CreatedBy = "admin", CreatedOn = DateTime.Now, UpdatedBy = "admin", UpdatedOn = DateTime.Now, CompanyId = 6 }; addressMgr.Create(companyAddress); addressMgr.SaveChanges(); var test = addressMgr.GetCompanyAddress(a => a.CompanyId == 6 && a.AddressLine1 == "5333 Davidson Highway"); Assert.Equal(companyAddress.CreatedOn, test.CreatedOn); } } finally { connection.Close(); } }
public void Test_CompanyAddressUpdate() { var connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); try { var options = new DbContextOptionsBuilder <HOSContext>() .UseSqlite(connection) .Options; using (var context = new HOSContext(options)) { context.Database.EnsureCreated(); } using (var context = new HOSContext(options)) { HOSTestData.LoadCompanyTable(context); HOSTestData.LoadStateProvinceCodeTable(context); HOSTestData.LoadCompanyAddresses(context); } using (var context = new HOSContext(options)) { IRepository repository = new Repository(context); var company = repository.Find <Company>(c => c.CompanyCode == "FCT001"); Assert.NotNull(company); var address = repository.Find <Address>(a => a.CompanyId == company.ID && a.AddressLine1 == "1346 Markum Ranch Rd"); Assert.NotNull(address); address.AddressLine1 = "1346 Markum Ranch Road"; address.AddressLine2 = "Bldg One"; address.UpdatedBy = "sysadmin"; address.UpdatedOn = DateTime.Now; repository.Update <Address>(address); repository.Save(); var test = repository.Find <Address>(a => a.ID == address.ID); Assert.NotNull(test); Assert.Equal(address.AddressLine1, test.AddressLine1); Assert.Equal(address.AddressLine2, test.AddressLine2); Assert.Equal(address.UpdatedOn, test.UpdatedOn); } } finally { connection.Close(); } }
public static void ClearData(HOSContext context) { ExecuteDeleteSql(context, "DailyLogDetails"); ExecuteDeleteSql(context, "DailyLogs"); ExecuteDeleteSql(context, "Addresses"); ExecuteDeleteSql(context, "Companies"); ExecuteDeleteSql(context, "DutyStatuses"); ExecuteDeleteSql(context, "DutyStatusActivities"); ExecuteDeleteSql(context, "StateProvinceCodes"); ExecuteDeleteSql(context, "AspNetRoles"); ExecuteDeleteSql(context, "AspNetUsers"); ResetIdentity(context); }
public void Test_CompanyAddressCreate() { var connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); try { var options = new DbContextOptionsBuilder <HOSContext>() .UseSqlite(connection) .Options; using (var context = new HOSContext(options)) { context.Database.EnsureCreated(); } using (var context = new HOSContext(options)) { HOSTestData.LoadCompanyTable(context); HOSTestData.LoadStateProvinceCodeTable(context); } using (var context = new HOSContext(options)) { IRepository repository = new Repository(context); var company = repository.Find <Company>(c => c.CompanyCode == "FCT001"); Assert.NotNull(company); company.Addresses.Add( new Address() { AddressLine1 = "1346 Markum Ranch Rd", AddressLine2 = "Ste 100", City = "Fort Worth", StateProvinceId = 45, Zipcode = "76126", IsHQ = true, CompanyId = company.ID, CreatedBy = "sysadmin" } ); repository.Save(); Assert.Equal(1, company.Addresses.Count); } } finally { connection.Close(); } }
public void Test_CompanyMgr_CompanyUpdate() { var connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); try { var options = new DbContextOptionsBuilder <HOSContext>() .UseSqlite(connection) .Options; using (var context = new HOSContext(options)) { context.Database.EnsureCreated(); } using (var context = new HOSContext(options)) { ICompanyManager companyMgr = new CompanyManager(new Repository(context)); var company = new Company() { CompanyCode = "FCT001", CompanyName = "First Choice Transport", DOT_Number = "951560", MC_Number = "MC-407377", CreatedBy = "admin", CreatedOn = DateTime.Now, UpdatedBy = "admin", UpdatedOn = DateTime.Now }; companyMgr.Create(company); companyMgr.SaveChanges(); var test = companyMgr.GetCompany(c => c.CompanyCode == "FCT001"); Assert.NotNull(test); Assert.Equal(company.CompanyCode, test.CompanyCode); company.CompanyName = "First Choice Transport, Inc"; company.UpdatedOn = DateTime.Now; companyMgr.Update(company); companyMgr.SaveChanges(); test = companyMgr.GetCompany(c => c.CompanyCode == "FCT001"); Assert.Equal("First Choice Transport, Inc", test.CompanyName); } } finally { connection.Close(); } }
public void Test_DailyLogMgr_UpdateDailyLog() { var connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); try { var options = new DbContextOptionsBuilder <HOSContext>() .UseSqlite(connection) .EnableSensitiveDataLogging() .Options; using (var context = new HOSContext(options)) { context.Database.EnsureCreated(); } using (var context = new HOSContext(options)) { HOSTestData.LoadStateProvinceCodeTable(context); HOSTestData.LoadDutyStatusTable(context); HOSTestData.LoadDutyStatusActivityTable(context); HOSTestData.LoadCompanyTable(context); HOSTestData.LoadAppUserTable(context); HOSTestData.LoadDailyLogTable(context); HOSTestData.LoadDailyLogDetailTable(context); } using (var context = new HOSContext(options)) { IDailyLogManager logMgr = new DailyLogManager(new Repository(context)); var dailyLogModel = logMgr.GetDailyLog(log => log.LogID == 1); var currentTimestamp = DateTime.Now; dailyLogModel.UpdatedOn = currentTimestamp; logMgr.Update(dailyLogModel); logMgr.SaveChanges(); dailyLogModel = logMgr.GetDailyLog(log => log.LogID == 1); Assert.Equal(currentTimestamp, dailyLogModel.UpdatedOn); } } finally { connection.Close(); } }
public void Test_CompanyAddressMgr_Update() { var connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); try { var options = new DbContextOptionsBuilder <HOSContext>() .UseSqlite(connection) .EnableSensitiveDataLogging() .Options; using (var context = new HOSContext(options)) { context.Database.EnsureCreated(); } using (var context = new HOSContext(options)) { HOSTestData.LoadCompanyTable(context); HOSTestData.LoadStateProvinceCodeTable(context); HOSTestData.LoadCompanyAddresses(context); } using (var context = new HOSContext(options)) { // context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking; ICompanyAddressManager companyAddressMgr = new CompanyAddressManager(new Repository(context)); var companyAddress = companyAddressMgr.GetCompanyAddress(5, 4); Assert.NotNull(companyAddress); DateTime currentTimeStamp = DateTime.Now; companyAddress.UpdatedOn = currentTimeStamp; companyAddressMgr.Update(companyAddress); companyAddressMgr.SaveChanges(); companyAddress = companyAddressMgr.GetCompanyAddress(a => a.CompanyId == 5 && a.ID == 4); Assert.NotNull(companyAddress); Assert.Equal(currentTimeStamp, companyAddress.UpdatedOn); } } finally { connection.Close(); } }
public void Test_StateProvinceCodeMgr_StateCodeInsert() { var connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); try { var options = new DbContextOptionsBuilder <HOSContext>() .UseSqlite(connection) .Options; using (var context = new HOSContext(options)) { context.Database.EnsureCreated(); } using (var context = new HOSContext(options)) { IStateProvinceCodeManager stateCodeMgr = new StateProvinceCodeManager(new Repository(context)); var stateCode = new StateProvinceCode { ID = 1, StateCode = "AK", StateName = "Alaska", CountryCode = "USA", CreatedBy = "admin", CreatedOn = DateTime.Now, UpdatedBy = "admin", UpdatedOn = DateTime.Now }; stateCodeMgr.Create(stateCode); stateCodeMgr.SaveChanges(); var result = stateCodeMgr.GetStateProvinceCode(state => state.StateCode == "AK"); Assert.NotNull(result); Assert.Equal(stateCode.StateCode, result.StateCode); } } finally { connection.Close(); } }
public void Test_DailyLogMgr_SelectAllDetailsForOneDay() { var connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); try { var options = new DbContextOptionsBuilder <HOSContext>() .UseSqlite(connection) .EnableSensitiveDataLogging() .Options; using (var context = new HOSContext(options)) { context.Database.EnsureCreated(); } using (var context = new HOSContext(options)) { HOSTestData.LoadStateProvinceCodeTable(context); HOSTestData.LoadDutyStatusTable(context); HOSTestData.LoadDutyStatusActivityTable(context); HOSTestData.LoadCompanyTable(context); HOSTestData.LoadAppUserTable(context); HOSTestData.LoadDailyLogTable(context); HOSTestData.LoadDailyLogDetailTable(context); } using (var context = new HOSContext(options)) { IDailyLogManager logMgr = new DailyLogManager(new Repository(context)); var dailyLogModel = logMgr.GetDailyLog(log => log.LogDate == new DateTime(2016, 9, 7)); Assert.NotNull(dailyLogModel); var dailyLogDetailModel = logMgr.GetDailyLogDetails(details => details.LogID == dailyLogModel.LogID); Assert.NotNull(dailyLogDetailModel); Assert.Equal(8, dailyLogDetailModel.ToList().Count()); } } finally { connection.Close(); } }
public static void LoadDutyStatusActivityTable(HOSContext ctx) { var data = new List <DutyStatusActivity> { new DutyStatusActivity { DutyStatusActivityID = 1, Activity = "Pre-Trip", Description = "Pre-trip inspection", CreatedBy = "admin", CreatedOn = DateTime.Now, UpdatedBy = "admin", UpdatedOn = DateTime.Now }, new DutyStatusActivity { DutyStatusActivityID = 2, Activity = "Post-Trip", Description = "Post-trip inspection", CreatedBy = "admin", CreatedOn = DateTime.Now, UpdatedBy = "admin", UpdatedOn = DateTime.Now }, new DutyStatusActivity { DutyStatusActivityID = 3, Activity = "Loading", Description = "Arrive shipper/loading", CreatedBy = "admin", CreatedOn = DateTime.Now, UpdatedBy = "admin", UpdatedOn = DateTime.Now }, new DutyStatusActivity { DutyStatusActivityID = 4, Activity = "Unloading", Description = "Arrive receiver/unloading", CreatedBy = "admin", CreatedOn = DateTime.Now, UpdatedBy = "admin", UpdatedOn = DateTime.Now }, new DutyStatusActivity { DutyStatusActivityID = 5, Activity = "D.O.T.", Description = "D.O.T. inspection", CreatedBy = "admin", CreatedOn = DateTime.Now, UpdatedBy = "admin", UpdatedOn = DateTime.Now }, new DutyStatusActivity { DutyStatusActivityID = 6, Activity = "Maint.", Description = "Vehicle maintenance", CreatedBy = "admin", CreatedOn = DateTime.Now, UpdatedBy = "admin", UpdatedOn = DateTime.Now }, new DutyStatusActivity { DutyStatusActivityID = 7, Activity = "Fueling", Description = "Vehicle fueling", CreatedBy = "admin", CreatedOn = DateTime.Now, UpdatedBy = "admin", UpdatedOn = DateTime.Now }, new DutyStatusActivity { DutyStatusActivityID = 8, Activity = "Misc", Description = "Unspecified on duty activity", CreatedBy = "admin", CreatedOn = DateTime.Now, UpdatedBy = "admin", UpdatedOn = DateTime.Now }, new DutyStatusActivity { DutyStatusActivityID = 9, Activity = "Off Duty", Description = "Off Duty", CreatedBy = "admin", CreatedOn = DateTime.Now, UpdatedBy = "admin", UpdatedOn = DateTime.Now }, new DutyStatusActivity { DutyStatusActivityID = 10, Activity = "Sleeper", Description = "Sleeper berth", CreatedBy = "admin", CreatedOn = DateTime.Now, UpdatedBy = "admin", UpdatedOn = DateTime.Now }, new DutyStatusActivity { DutyStatusActivityID = 11, Activity = "Driving", Description = "Driving", CreatedBy = "admin", CreatedOn = DateTime.Now, UpdatedBy = "admin", UpdatedOn = DateTime.Now } }; ctx.DutyStatusActivities.AddRange(data); ctx.SaveChanges(); }
public void Test_DailyLogMgr_SelectDailyLog() { var connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); try { var options = new DbContextOptionsBuilder <HOSContext>() .UseSqlite(connection) .EnableSensitiveDataLogging() .Options; using (var context = new HOSContext(options)) { context.Database.EnsureCreated(); } using (var context = new HOSContext(options)) { HOSTestData.LoadStateProvinceCodeTable(context); HOSTestData.LoadDutyStatusTable(context); HOSTestData.LoadDutyStatusActivityTable(context); HOSTestData.LoadCompanyTable(context); HOSTestData.LoadAppUserTable(context); HOSTestData.LoadDailyLogTable(context); HOSTestData.LoadDailyLogDetailTable(context); } using (var context = new HOSContext(options)) { IDailyLogManager logMgr = new DailyLogManager(new Repository(context)); var allLogs = logMgr.GetAll().ToList(); var allLogsForDrv = logMgr.GetDailyLogs(log => log.DriverID == 4); Assert.Equal(3, allLogs.Count()); Assert.Equal(3, allLogsForDrv.Count()); } } finally { connection.Close(); } }
public static void LoadDailyLogTable(HOSContext ctx) { var data = new List <DailyLog> { new DailyLog { LogID = 1, LogDate = new DateTime(2016, 9, 7), BeginningMileage = 899201, EndingMileage = 899423, TruckNumber = "3082", TrailerNumber = "9225", IsSigned = true, Notes = "Dropped trailer 9225 at Whirlpool and picked up loaded trailer 9159", DriverID = 4 }, new DailyLog { LogID = 2, LogDate = new DateTime(2016, 9, 8), BeginningMileage = 899423, EndingMileage = 900065, TruckNumber = "3082", TrailerNumber = "9159", IsSigned = true, DriverID = 4 }, new DailyLog { LogID = 3, LogDate = new DateTime(2016, 9, 9), BeginningMileage = 900065, TruckNumber = "3082", TrailerNumber = "9159", IsSigned = false, DriverID = 4 } }; ctx.DailyLogs.AddRange(data); ctx.SaveChanges(); }
public void Test_CompanyAddressMgr_Delete() { var connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); try { var options = new DbContextOptionsBuilder <HOSContext>() .UseSqlite(connection) .EnableSensitiveDataLogging() .Options; using (var context = new HOSContext(options)) { context.Database.EnsureCreated(); } using (var context = new HOSContext(options)) { HOSTestData.LoadCompanyTable(context); HOSTestData.LoadStateProvinceCodeTable(context); HOSTestData.LoadCompanyAddresses(context); } using (var context = new HOSContext(options)) { ICompanyAddressManager addressMgr = new CompanyAddressManager(new Repository(context)); var address = addressMgr.GetCompanyAddress(a => a.CompanyId == 5 && a.AddressLine1 == "2150 Cabot Boulevard West"); Assert.NotNull(address); addressMgr.Delete(address); addressMgr.SaveChanges(); address = addressMgr.GetCompanyAddress(a => a.CompanyId == 5 && a.AddressLine1 == "2150 Cabot Boulevard West"); Assert.Null(address); } } finally { connection.Close(); } }
public static void ResetIdentity(HOSContext context) { var tables = new[] { "Addresses", "Companies", "DailyLogs", "DailyLogDetails", "DutyStatuses", "DutyStatusActivities", "AspNetRoles", "StateProvinceCodes", "AspNetUsers" }; foreach (var table in tables) { var sql = $"DBCC CHECKIDENT (\"{table}\", RESEED, -1);"; context.Database.ExecuteSqlCommand(sql); } }
public static void LoadDutyStatusTable(HOSContext ctx) { var data = new List <DutyStatus> { new DutyStatus { DutyStatusID = 1, ShortName = "Off Duty", LongName = "Off Duty", CreatedBy = "admin", CreatedOn = DateTime.Now, UpdatedBy = "admin", UpdatedOn = DateTime.Now }, new DutyStatus { DutyStatusID = 2, ShortName = "Sleeper Berth", LongName = "Sleeper Berth", CreatedBy = "admin", CreatedOn = DateTime.Now, UpdatedBy = "admin", UpdatedOn = DateTime.Now }, new DutyStatus { DutyStatusID = 3, ShortName = "Driving", LongName = "On Duty Driving", CreatedBy = "admin", CreatedOn = DateTime.Now, UpdatedBy = "admin", UpdatedOn = DateTime.Now }, new DutyStatus { DutyStatusID = 4, ShortName = "On Duty", LongName = "On Duty Not Driving", CreatedBy = "admin", CreatedOn = DateTime.Now, UpdatedBy = "admin", UpdatedOn = DateTime.Now } }; ctx.DutyStatuses.AddRange(data); ctx.SaveChanges(); }
public void Test_DailyLogDetailAllForUser() { var connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); try { var options = new DbContextOptionsBuilder <HOSContext>() .UseSqlite(connection) .Options; using (var context = new HOSContext(options)) { context.Database.EnsureCreated(); } using (var context = new HOSContext(options)) { HOSTestData.LoadDutyStatusActivityTable(context); HOSTestData.LoadDutyStatusTable(context); HOSTestData.LoadStateProvinceCodeTable(context); HOSTestData.LoadCompanyTable(context); HOSTestData.LoadAppUserTable(context); HOSTestData.LoadDailyLogTable(context); } using (var context = new HOSContext(options)) { IRepository repository = new Repository(context); var user = repository.Find <AppUser>(u => u.UserName == "leadfoot"); Assert.NotNull(user); var dailyLogs = repository.Filter <DailyLog>(dl => dl.DriverID == user.Id); Assert.Equal(3, dailyLogs.ToList().Count()); } } finally { connection.Close(); } }
public void Test_StateProvinceCodeMgr_StateCodeUpdate() { var connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); try { var options = new DbContextOptionsBuilder <HOSContext>() .UseSqlite(connection) .Options; using (var context = new HOSContext(options)) { context.Database.EnsureCreated(); } using (var context = new HOSContext(options)) { HOSTestData.LoadStateProvinceCodeTable(context); } using (var context = new HOSContext(options)) { IStateProvinceCodeManager stateCodeMgr = new StateProvinceCodeManager(new Repository(context)); var stateCode = stateCodeMgr.GetStateProvinceCode(state => state.StateCode == "AK"); var currentTimestamp = DateTime.Now; stateCode.UpdatedBy = "admin"; stateCode.UpdatedOn = currentTimestamp; stateCodeMgr.Update(stateCode); stateCodeMgr.SaveChanges(); var test = stateCodeMgr.GetStateProvinceCode(state => state.StateCode == "AK"); Assert.NotNull(test); Assert.Equal(currentTimestamp, test.UpdatedOn); } } finally { connection.Close(); } }
public void Test_DailyLogFilter() { var connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); try { var options = new DbContextOptionsBuilder <HOSContext>() .UseSqlite(connection) .Options; using (var context = new HOSContext(options)) { context.Database.EnsureCreated(); } using (var context = new HOSContext(options)) { HOSTestData.LoadCompanyTable(context); HOSTestData.LoadAppUserTable(context); HOSTestData.LoadDailyLogTable(context); } using (var context = new HOSContext(options)) { IRepository repository = new Repository(context); var lowDate = new DateTime(2016, 9, 1); var highDate = new DateTime(2016, 9, 30); var dailyLogs = repository.Filter <DailyLog>(log => log.LogDate > lowDate && log.LogDate < highDate); Assert.NotNull(dailyLogs); Assert.Equal(3, dailyLogs.ToList().Count()); } } finally { connection.Close(); } }
public static void LoadAppRoleTable(HOSContext ctx) { var data = new List <AppRole> { new AppRole { Id = 1, ConcurrencyStamp = "08e72399-bb2f-49f5-bbe3-693de3d5c617", Name = "Admin", NormalizedName = "ADMIN" }, new AppRole { Id = 2, ConcurrencyStamp = "1298a579-c85a-4723-bcc4-f0d6b2b64123", Name = "Driver", NormalizedName = "DRIVER" }, new AppRole { Id = 3, ConcurrencyStamp = "46797f8c-5830-4fb2-8fc5-81b20b630fb4", Name = "Compliance", NormalizedName = "COMPLIANCE" }, new AppRole { Id = 4, ConcurrencyStamp = "3fa3d51e-4d5c-461e-99c3-3ca5f2e6b38b", Name = "Accounting", NormalizedName = "ACCOUNTING" }, new AppRole { Id = 5, ConcurrencyStamp = "4044c66b-081f-4db0-9daf-f8cf6910a438", Name = "Users", NormalizedName = "USERS" } }; ctx.Roles.AddRange(data); ctx.SaveChanges(); }
public void Test_CompanyContains() { var connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); try { var options = new DbContextOptionsBuilder <HOSContext>() .UseSqlite(connection) .Options; using (var context = new HOSContext(options)) { context.Database.EnsureCreated(); } using (var context = new HOSContext(options)) { HOSTestData.LoadCompanyTable(context); } using (var context = new HOSContext(options)) { IRepository repository = new Repository(context); var result = repository.Contains <Company>(c => c.CompanyCode == "ADMIN001"); Assert.True(result); result = repository.Contains <Company>(c => c.CompanyCode == "123456"); Assert.False(result); } } finally { connection.Close(); } }
public void Test_CompanyAddressMgr_SelectAll() { var connection = new SqliteConnection("DataSource=:memory:"); connection.Open(); try { var options = new DbContextOptionsBuilder <HOSContext>() .UseSqlite(connection) .EnableSensitiveDataLogging() .Options; using (var context = new HOSContext(options)) { context.Database.EnsureCreated(); } using (var context = new HOSContext(options)) { HOSTestData.LoadCompanyTable(context); HOSTestData.LoadStateProvinceCodeTable(context); HOSTestData.LoadCompanyAddresses(context); } using (var context = new HOSContext(options)) { ICompanyAddressManager addressMgr = new CompanyAddressManager(new Repository(context)); var addresses = addressMgr.GetCompanyAddresses(2).ToList(); Assert.NotNull(addresses); Assert.Equal(2, addresses.Count()); } } finally { connection.Close(); } }
public Repository(HOSContext ctx) => _context = ctx;