protected virtual PublicHolidays GetPublicHolidaysFromReader(IDataReader reader) { EntityConverter <PublicHolidays> PublicHolidaysEntity = new EntityConverter <PublicHolidays>(); PublicHolidays publicHolidays = PublicHolidaysEntity.Convert(reader); return(publicHolidays); }
public async Task <ActionResult <PublicHolidays> > PostPublicHolidays(PublicHolidays publicHolidays) { _context.PublicHolidays.Add(publicHolidays); await _context.SaveChangesAsync(); return(CreatedAtAction("GetPublicHolidays", new { id = publicHolidays.ID }, publicHolidays)); }
public IActionResult Update(PublicHolidays publicHolidays) { PublicHolidaysRepository.HolidaysRepository.Update(publicHolidays); publicHolidays = new PublicHolidays(); return(View("Index", publicHolidays)); }
public PublicHolidays GetPublicHolidaysByID(long ID) { //Constructer da tanımladığımız api linkinden apinin controllerına erişiyoruz api/publicholidays/id ile PublicHolidays publicHolidays = new PublicHolidays(); var responseTask = client.GetAsync("api/publicholidays/" + ID); // yapılan işlem asycrn olduğu için cevabı beklemeliyiz bu yüzden var responseTask ataması yaptıktan sonra wait kullanılmalı responseTask.Wait(); var result = responseTask.Result; //gelen yapıdan sonucu çekiyoruz if (result.IsSuccessStatusCode) { //sonuçtan gelen veriyi çekiyoruz var readTask = result.Content.ReadAsAsync <PublicHolidays>(); readTask.Wait(); //geri dönecek olan listeyi yüklüyoruz publicHolidays = readTask.Result; return(publicHolidays); } else { //işlem başarılı olmadığında if(result.IsSuccessStatusCode) boş bir liste döndürüyoruz ki crash olmasın hata dönsün sadece publicHolidays = null; return(publicHolidays); } }
public async Task <IActionResult> PutPublicHolidays(long id, PublicHolidays publicHolidays) { if (id != publicHolidays.ID) { return(BadRequest()); } _context.Entry(publicHolidays).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!PublicHolidaysExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
/** * Calculate the toll for a single pass * * @param vehicle - the vehicle * @param date - date and time of the pass * @return - the fee to be paid. */ public int GetSingleTollFee(IVehicle vehicle, DateTime date) { if (PublicHolidays.IsTollFreeDate(date) || vehicle.GetExemptionStatus() == true) { return(0); } TimeSpan tollTime = date.TimeOfDay; if ((tollTime >= new TimeSpan(6, 0, 0) && tollTime <= new TimeSpan(6, 29, 0)) || (tollTime >= new TimeSpan(8, 30, 0) && tollTime <= new TimeSpan(14, 59, 0)) || (tollTime >= new TimeSpan(18, 0, 0) && tollTime <= new TimeSpan(18, 29, 0))) { return(8); } if ((tollTime >= new TimeSpan(6, 30, 0) && tollTime <= new TimeSpan(6, 59, 0)) || (tollTime >= new TimeSpan(8, 0, 0) && tollTime <= new TimeSpan(8, 29, 0)) || (tollTime >= new TimeSpan(15, 0, 0) && tollTime <= new TimeSpan(15, 29, 0)) || (tollTime >= new TimeSpan(17, 0, 0) && tollTime <= new TimeSpan(17, 59, 0))) { return(13); } if ((tollTime >= new TimeSpan(7, 0, 0) && tollTime <= new TimeSpan(7, 59, 0)) || (tollTime >= new TimeSpan(15, 30, 0) && tollTime <= new TimeSpan(16, 59, 0))) { return(18); } return(0); }
public void IsPublicHoliday_Test() { foreach ((var date, var name) in TestDataSource) { var expected = (name != ""); PublicHolidays.IsPublicHoliday(date).Is(expected, $"{date:yyyy/MM/dd}"); } }
public void IsCitizensHoliday_Test() { foreach ((var date, var name) in TestDataSource) { var expected = (name == nameof(PublicHoliday.Citizens)); PublicHolidays.IsCitizensHoliday(date).Is(expected, $"{date:yyyy/MM/dd}"); } }
public IActionResult Edit(long ID) { PublicHolidays publicHolidays = new PublicHolidays(); publicHolidays = PublicHolidaysRepository.HolidaysRepository.GetPublicHolidaysByID(ID); return(View("Index", publicHolidays)); }
public async Task TestGet() { var holidays = await PublicHolidays.Get(); Assert.True(holidays.Length >= 20); var day = holidays.FirstOrDefault(x => x.Date == new DateTime(DateTime.Now.Year, 1, 1)); Assert.NotNull(day); Assert.Equal("元日", day.Name); }
public IActionResult Delete(long ID, PublicHolidays?publicHolidays) { if (publicHolidays == null) { publicHolidays = new PublicHolidays(); } PublicHolidaysRepository.HolidaysRepository.Delete(ID); return(View("Index", publicHolidays)); }
public IActionResult Index(PublicHolidays?publicHolidays) { //input valuelerine atama yapabilmeniz için indexte boş bir obje yollanmalı if (publicHolidays == null) { publicHolidays = new PublicHolidays(); } //Mock(sahte) veri kullanımı buradaki publicholidays i satır satır elle doldursaydınız ve bunu yollasaydınız index teki valueleri atanmış yerler dolu gelirdi.Repo veya API olmadığında buradan başlamak isterseniz bu şekilde sahte veri ile çalışabilirsiniz. return(View(publicHolidays)); }
public async Task <ActionResult <PublicHolidays> > GetPublicHolidays(long id) { PublicHolidays publicHolidays = await _context.PublicHolidays.FindAsync(id); if (publicHolidays == null) { return(NotFound()); } return(publicHolidays); }
public void GetPublicHoliday_Test() { foreach ((var date, var name) in TestDataSource) { if (Enum.TryParse <PublicHoliday>(name, out var expected) == false) { expected = PublicHoliday.None; } PublicHolidays.GetPublicHoliday(date).Is(expected, $"{date:yyyy/MM/dd}"); } }
public void IsNationalHoliday_Test() { foreach ((var date, var name) in TestDataSource) { var expected = Enum.TryParse <PublicHoliday>(name, out var output) && output != PublicHoliday.Transfer && output != PublicHoliday.Citizens ; PublicHolidays.IsNationalHoliday(date).Is(expected, $"{date:yyyy/MM/dd}"); } }
public void Update(PublicHolidays publicHolidays) { //burada pu işlemi ile yönlendirme yapıyoruz. var PutTask = client.PutAsJsonAsync <PublicHolidays>("api/publicholidays/" + publicHolidays.ID, publicHolidays); PutTask.Wait(); var result = PutTask.Result; if (!result.IsSuccessStatusCode) { throw new Exception(result.ReasonPhrase); } }
public void Add(PublicHolidays publicHolidays) { //Burada gelen objeyi post metodu ile apiye yönlendiriyoruz. var PostTask = client.PostAsJsonAsync <PublicHolidays>("api/publicholidays", publicHolidays); PostTask.Wait(); var result = PostTask.Result; if (!result.IsSuccessStatusCode) { throw new Exception(result.ReasonPhrase); } }
public IActionResult AddPublicHoliday(PublicHolidays publicHolidays) { //Ekleme işlemi yaparken formdan gelen veri obje şeklinde burada dikkat bazı gerekli özellikleri eklemediğinizde mesela offdays yok // burada mock veri / sahte veri demek aşağıdagördüğünüz gibi alınabiliyor. publicHolidays.ModifiedDate = DateTime.Now; publicHolidays.CreatedDate = DateTime.Now; publicHolidays.IsActive = true; if (publicHolidays != null) { PublicHolidaysRepository.HolidaysRepository.Add(publicHolidays); } else { publicHolidays = new PublicHolidays(); } return(View("Index", publicHolidays)); }
public void ThenTheResponseShouldGiveMeNationalHolidayResults(Table table) { var output = Publicholiday.GetContentList <PublicHolidays>(_response); PublicHolidays holidays = table.CreateInstance <PublicHolidays>(); foreach (var result in output) { switch (result.LocalName) { case "Nieuwjaarsdag" when result.Name.Equals("New Year's Day"): Assert.That(result.Name.Equals(holidays.Name)); Assert.That(result.LocalName.Equals(holidays.LocalName)); Assert.That(result.CountryCode.Equals(holidays.CountryCode)); Assert.That(result.Type.Equals(holidays.Type)); Assert.That(result.Date.Equals(holidays.Date)); Assert.That(result.LaunchYear.Equals(holidays.LaunchYear)); break; } } }
static void Main(string[] args) { Console.WriteLine("Starting tests for TollFreeCalculator."); var totalTests = 0; var successfulTests = 0; Dictionary <string, DateTime> times = new Dictionary <string, DateTime> { { "06:40", new DateTime(2020, 4, 29, 6, 40, 52) }, { "06:55", new DateTime(2020, 4, 29, 6, 55, 52) }, { "07:10", new DateTime(2020, 4, 29, 7, 10, 52) }, { "07:41", new DateTime(2020, 4, 29, 7, 41, 52) }, { "09:10", new DateTime(2020, 4, 29, 9, 10, 52) }, { "08:22", new DateTime(2020, 4, 29, 8, 22, 52) }, { "10:18", new DateTime(2020, 4, 29, 10, 18, 52) }, { "10:30", new DateTime(2020, 4, 29, 10, 30, 52) }, { "16:59", new DateTime(2020, 4, 29, 16, 59, 00) }, { "17:59", new DateTime(2020, 4, 29, 17, 59, 00) }, { "18:10", new DateTime(2020, 4, 29, 18, 10, 52) }, { "19:22", new DateTime(2020, 4, 29, 19, 22, 00) } }; Dictionary <string, DateTime> dates = new Dictionary <string, DateTime> { { "03-01", new DateTime(2020, 3, 1, 17, 59, 00) }, { "03-02", new DateTime(2020, 3, 2, 17, 59, 00) }, { "04-26", new DateTime(2020, 4, 26, 17, 59, 00) }, { "04-27", new DateTime(2020, 4, 27, 17, 59, 00) }, { "05-01", new DateTime(2020, 5, 1, 17, 59, 00) }, { "12-24", new DateTime(2020, 12, 24, 17, 59, 00) }, { "01-15", new DateTime(2020, 1, 15, 17, 59, 00) } }; // Setting up vehicles var regularCar = new TollFeeCalculator.Car(); var diplomat = new TollFeeCalculator.Car { IsDiplomat = true }; var emergencyVehicle = new TollFeeCalculator.Car { IsEmergency = true }; var militaryCar = new TollFeeCalculator.Car { IsMilitary = true }; var bike = new TollFeeCalculator.Motorbike(); var tractor = new TollFeeCalculator.Tractor(); // Setup Toll Calculator var tollCalc = new TollCalculator(); /* * Testing Vehice Exemption status */ totalTests += 6; if (regularCar.GetExemptionStatus() == false) { successfulTests++; } if (diplomat.GetExemptionStatus() == true) { successfulTests++; } if (emergencyVehicle.GetExemptionStatus() == true) { successfulTests++; } if (militaryCar.GetExemptionStatus() == true) { successfulTests++; } if (bike.GetExemptionStatus() == true) { successfulTests++; } if (tractor.GetExemptionStatus() == true) { successfulTests++; } /* * Single Passes */ totalTests += 3; if (tollCalc.GetSingleTollFee(regularCar, times["09:10"]) == 8) { successfulTests++; } if (tollCalc.GetSingleTollFee(regularCar, times["17:59"]) == 13) { successfulTests++; } if (tollCalc.GetSingleTollFee(bike, times["17:59"]) == 0) { successfulTests++; } /* * Multiple passes */ totalTests += 2; DateTime[] passes = { times["09:10"], times["17:59"] }; if (tollCalc.GetTollFee(regularCar, passes) == 21) { successfulTests++; } DateTime[] max = { times["07:10"], times["08:22"], times["10:18"], times["16:59"], times["18:10"], }; if (tollCalc.GetTollFee(regularCar, max) == 60) { successfulTests++; } /* * Multiple passes with multi pass discount */ totalTests += 3; DateTime[] higher = { times["06:40"], times["06:55"], times["07:10"] }; if (tollCalc.GetTollFee(regularCar, higher) == 18) { successfulTests++; } // One at the start of the day, and then multi pass at the end DateTime[] separate = { times["06:55"], times["10:18"], times["10:30"] }; if (tollCalc.GetTollFee(regularCar, separate) == 21) { successfulTests++; } // One just outside the 60 min window DateTime[] sixty = { times["06:40"], times["06:55"], times["07:10"], times["07:41"] }; if (tollCalc.GetTollFee(regularCar, sixty) == 36) { successfulTests++; } /* * Multiple days (should fail) */ totalTests += 1; DateTime[] dayPasses = { dates["04-26"], dates["04-27"] }; try { tollCalc.GetTollFee(regularCar, dayPasses); } catch (System.ArgumentException) { successfulTests++; } /* * Test public holidays */ totalTests += 5; if (PublicHolidays.IsTollFreeDate(dates["05-01"]) == true) { successfulTests++; } ; if (PublicHolidays.IsTollFreeDate(dates["03-01"]) == true) { successfulTests++; } ; if (PublicHolidays.IsTollFreeDate(dates["03-02"]) == false) { successfulTests++; } ; if (PublicHolidays.IsTollFreeDate(dates["12-24"]) == true) { successfulTests++; } ; if (PublicHolidays.IsTollFreeDate(dates["01-15"]) == false) { successfulTests++; } ; Console.WriteLine("Tests completed. Result: " + successfulTests.ToString() + "/" + totalTests.ToString());; }