Exemplo n.º 1
0
        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();
            }
        }
Exemplo n.º 2
0
        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();
            }
        }
Exemplo n.º 3
0
        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();
        }
Exemplo n.º 4
0
        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();
            }
        }
Exemplo n.º 5
0
        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();
            }
        }
Exemplo n.º 6
0
        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();
            }
        }
Exemplo n.º 7
0
        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();
            }
        }
Exemplo n.º 8
0
        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();
            }
        }
Exemplo n.º 10
0
        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();
            }
        }
Exemplo n.º 11
0
 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);
 }
Exemplo n.º 12
0
        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();
            }
        }
Exemplo n.º 13
0
        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();
            }
        }
Exemplo n.º 14
0
        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();
            }
        }
Exemplo n.º 15
0
        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();
            }
        }
Exemplo n.º 16
0
        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();
            }
        }
Exemplo n.º 17
0
        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();
            }
        }
Exemplo n.º 18
0
        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();
        }
Exemplo n.º 19
0
        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();
            }
        }
Exemplo n.º 20
0
        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();
        }
Exemplo n.º 21
0
        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();
            }
        }
Exemplo n.º 22
0
        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);
            }
        }
Exemplo n.º 23
0
        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();
        }
Exemplo n.º 24
0
        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();
            }
        }
Exemplo n.º 25
0
        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();
            }
        }
Exemplo n.º 26
0
        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();
            }
        }
Exemplo n.º 27
0
        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();
        }
Exemplo n.º 28
0
        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();
            }
        }
Exemplo n.º 29
0
        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();
            }
        }
Exemplo n.º 30
0
 public Repository(HOSContext ctx) => _context = ctx;