public void CheckDistanceBtwMoscowAndSamara() { using (var dataWarehouseContext = new EFDataWarehouseContext()) { // Arrange. const int realDistance = 854; var mileageService = new MileageCalculatingService(); // Act. var calcDistance = mileageService.GetMileage("Москва", "Самара"); // Assert. Assert.AreEqual(realDistance, calcDistance); } }
public ActionResult Create(CreateRequestModel model) { var valid = true; var addresses = new List <string>(); if (model.Errors == null) { model.Errors = new List <string>(); } if (model.Request.DepartureAddress == "" && model.Request.DeparturePointId == 0) { model.Errors.Add("Укажите адрес отправления"); valid = false; } if (model.Request.DestinationAddress == "" && model.Request.DestinationPointId == 0) { model.Errors.Add("Укажите адрес назначения"); valid = false; } //TODO сделать валидацию даты времени отправления if (!valid) { var poiList = _locationService.GetPOIList(); model.POIList = new SelectList(poiList, "Id", "Name"); model.POIListAddresses = new SelectList(poiList, "Id", "Address"); return(View(model)); } var mileageService = new MileageCalculatingService(); string calcDestinationAddress; string calcDepartureAddress; if (model.Request.DestinationPointId == 0) { calcDestinationAddress = model.Request.DestinationAddress; } else { calcDestinationAddress = _locationService.GetPOIById(model.Request.DestinationPointId).Address; } if (model.Request.DeparturePointId == 0) { calcDepartureAddress = model.Request.DepartureAddress; } else { calcDepartureAddress = _locationService.GetPOIById(model.Request.DeparturePointId).Address; } model.Request.Mileage = mileageService.GetMileage(calcDepartureAddress, calcDestinationAddress); model.Request.AuthorLogin = User.Identity.Name; var error = ""; if (!_requestService.AddRequest(model.Request, out error)) { model.Errors.Add(error); var poiList = _locationService.GetPOIList(); model.POIList = new SelectList(poiList, "Id", "Name"); model.POIListAddresses = new SelectList(poiList, "Id", "Address"); return(View(model)); } var userId = _userService.GetUserByMail(HttpContext.User.Identity.Name).Id; var newLog = new DtoLog() { CreatorFirstName = _employeeService.GetUserLastName(userId).Firstname, CreatorLastName = _employeeService.GetUserLastName(userId).Lastname, BrowserName = HttpContext.Request.Browser.Browser, IpAddress = HttpContext.Request.UserHostAddress, RequestMile = model.Request.Mileage, RequestPrice = 10 }; _logService.AddLog(newLog, out error); return(RedirectToAction("Index", "Request")); }