public void Entity_To_Model_IsValid()
        {
            var expectedCountry   = "UK";
            var expectedRegion    = "Europe";
            var expectedIsDefault = false;
            var expectedCity      = "Bradford";
            var expectedCost      = 100;
            var entity            = new PerDiem
            {
                Cost      = expectedCost,
                Id        = Guid.NewGuid(),
                Country   = expectedCountry,
                Region    = expectedRegion,
                IsDefault = expectedIsDefault,
                ShootCity = expectedCity
            };
            var result = _mapper.Map <PerDiem, PerDiemModel>(entity);

            result.Should().NotBeNull();
            result.Cost.Should().Be(expectedCost);
            result.Id.Should().Be(entity.Id);
            result.Country.Should().NotBeNull();
            result.Country.Should().Be(entity.Country);
            result.Region.Should().NotBeNull();
            result.Region.Should().Be(entity.Region);
            result.ShootCity.Should().NotBeNull();
            result.ShootCity.Should().Be(entity.ShootCity);
            result.IsDefault.Should().Be(entity.IsDefault);
        }
Example #2
0
        public void PopulatePerDiem()
        {
            Excel.Application xlApp       = new Excel.Application();
            Excel.Workbook    xlWorkbook  = xlApp.Workbooks.Open(@"C:\Users\David\Desktop\excels\Airport IRS Database2.xlsx");
            Excel._Worksheet  xlWorksheet = xlWorkbook.Sheets["Merge"];
            Excel.Range       xlRange     = xlWorksheet.UsedRange;

            Dictionary <string, PerDiem> perDiems = new Dictionary <string, PerDiem>();

            for (int i = 2; i < 1450; i++)
            {
                //for (int j = 1; j <= 12; j++)
                //{
                //    //new line
                //    if (j == 1)
                //        Console.Write("\r\n");

                //    //write the value to the console
                //    if (xlRange.Cells[i, j] != null && xlRange.Cells[i, j].Value2 != null)
                //    {
                //        var a = xlRange.Cells[i, j].Value2.ToString();

                //        Console.Write(a + "\t");
                //    }

                //    //add useful things here!
                //}

                if (xlWorksheet.Cells[i, "K"] == null || xlWorksheet.Cells[i, "K"].Value2 == null)
                {
                    continue;
                }


                string Country = xlWorksheet.Cells[i, "E"].Value2 != null ? xlWorksheet.Cells[i, "E"].Value2.ToString() : "US";
                string State   = xlWorksheet.Cells[i, "D"].Value2 != null ? xlWorksheet.Cells[i, "D"].Value2.ToString() : "N/A";
                string City    = xlWorksheet.Cells[i, "C"].Value2 != null ? xlWorksheet.Cells[i, "C"].Value2.ToString() : "N/A";
                string Airport = xlWorksheet.Cells[i, "G"].Value2 != null ? xlWorksheet.Cells[i, "G"].Value2.ToString() : "N/A";
                int    Rate    = 0;

                bool parsed = int.TryParse(xlWorksheet.Cells[i, "K"].Value2.ToString(), out Rate);

                if (!perDiems.ContainsKey(Airport))
                {
                    var perDiem = new PerDiem()
                    {
                        Country = Country,
                        State   = State,
                        City    = City,
                        Airport = Airport,
                        Rate    = Rate
                    };

                    perDiems.Add(Airport, perDiem);
                }
            }

            xlWorkbook  = xlApp.Workbooks.Open(@"C:\Users\David\Desktop\excels\FY2017-PerDiemRatesMasterFile2.xls");
            xlWorksheet = xlWorkbook.Sheets["FY2017"];

            for (int i = 4; i < 348; i++)
            {
                string state = xlWorksheet.Cells[i, "A"].Value2.ToString().ToLower();
                string city  = xlWorksheet.Cells[i, "B"].Value2.ToString().ToLower();
                int    rate  = 0;

                bool parsed = int.TryParse(xlWorksheet.Cells[i, "G"].Value2.ToString(), out rate);

                foreach (var kv in perDiems)
                {
                    if (kv.Value.State.ToLower() == state && kv.Value.City.ToLower() == city)
                    {
                        kv.Value.Rate = rate;
                    }
                }
            }

            using (var db = new WorktripEntities())
            {
                foreach (var kv in perDiems)
                {
                    PerDiemRate pdr = new PerDiemRate()
                    {
                        AirportCode = kv.Key,
                        Rate        = kv.Value.Rate
                    };

                    db.PerDiemRates.Add(pdr);
                }

                db.SaveChanges();
            }
        }