public virtual async Task <ActionResult> Index(ImportMobileDe importMobileDe) { if (!String.IsNullOrEmpty(importMobileDe.Url) && !importMobileDe.Url.Contains("suchen.mobile.de/auto-inserat")) { this.ModelState.AddModelError("Url", "URL ni iz portala mobile.de"); } if (!this.ModelState.IsValid) { return(View(importMobileDe)); } DmvCalculationResult dmvCalculationResult = null; try { dmvCalculationResult = await ServiceLocator.Instance.Resolve <IMobileDeManager>().ImportCarData(importMobileDe); } catch (BusinessValidationException businessValidationException) { this.ModelState.AddModelError(String.Empty, "Napaka pri uvozu. Manjkajoči podatki v avto oglasu. Poizkusite z drugim avto oglasom."); foreach (ValidationResult validationResult in businessValidationException.ValidationResultList) { this.ModelState.AddModelError(String.Empty, validationResult.Message);//TODO add it into ifra } return(View(importMobileDe)); } return(RedirectToAction(MVC.Dmv.DmvCalculationResult(dmvCalculationResult.DmvCalculation.Id))); }
/// <summary> /// Posts the specified DMV calculation. /// </summary> /// <param name="dmvCalculation">The DMV calculation.</param> /// <returns></returns> public async Task <HttpResponseMessage> Post(DmvCalculation dmvCalculation) { DmvCalculationResult dmvCalculationResult = await _dmvCalculationManager.ProcessDmvTaxValueResult(dmvCalculation); HttpResponseMessage httpResponseMessage = base.GetHttpResponseMessage(dmvCalculationResult); return(httpResponseMessage); }
/// <summary> /// Puts the specified identifier. /// </summary> /// <param name="id">The identifier.</param> /// <param name="importMobileDe">The import mobile de.</param> /// <returns></returns> public async Task <HttpResponseMessage> Put(int id, ImportMobileDe importMobileDe) { DmvCalculationResult dmvCalculationResult = await _mobileDeManager.ImportCarData(importMobileDe); HttpResponseMessage httpResponseMessage = base.GetHttpResponseMessage(dmvCalculationResult); return(httpResponseMessage); }
/// <summary> /// Gets the HTTP response message. /// </summary> /// <param name="dmvCalculationResult">The DMV calculation result.</param> /// <returns></returns> protected HttpResponseMessage GetHttpResponseMessage(DmvCalculationResult dmvCalculationResult) { HttpResponseMessage httpResponseMessage = Request.CreateResponse(HttpStatusCode.OK, dmvCalculationResult.DmvCalculation.Id); httpResponseMessage.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = dmvCalculationResult.DmvCalculation.Id })); httpResponseMessage.Content = new StringContent(JsonConvert.SerializeObject(dmvCalculationResult)); return(httpResponseMessage); }
/// <summary> /// Gets the DMV tax value result. /// </summary> /// <param name="dmvCalculation">The DMV calculation.</param> /// <returns></returns> public async Task <DmvCalculationResult> ProcessDmvTaxValueResult(DmvCalculation dmvCalculation) { DmvCalculation dmvCalculationCalculated = ServiceLocator.Instance.Resolve <IDmvCalculationProcessor>().CalculateDmvAll(dmvCalculation); dmvCalculationCalculated.CreatedOn = DateTime.UtcNow; base.Validate(dmvCalculationCalculated); dmvCalculationCalculated = await _dmvCalculationRepository.Save(dmvCalculationCalculated); DmvCalculationResult dmvCalculationResult = new DmvCalculationResult(dmvCalculationCalculated); return(dmvCalculationResult); }
/// <summary> /// Imports the car data. /// </summary> /// <param name="importMobileDe">The import mobile de.</param> /// <returns></returns> public async Task <DmvCalculationResult> ImportCarData(ImportMobileDe importMobileDe) { MobileDeCar mobileDeCar = await ServiceLocator.Instance.Resolve <IMobileDeProcessor>().ImportCarFromMobileDe(importMobileDe); DmvCalculationResult dmvCalculationResult = await _dmvCalculationManager.ProcessDmvTaxValueResult(mobileDeCar.DmvCalculation); mobileDeCar.DmvCalculationId = dmvCalculationResult.DmvCalculation.Id; mobileDeCar.DmvCalculation = null; mobileDeCar.CreatedOn = DateTime.UtcNow; base.Validate(mobileDeCar); mobileDeCar = await _mobileDeRepository.Save(mobileDeCar); dmvCalculationResult.MobileDeCar = mobileDeCar; dmvCalculationResult.DmvCalculation.MobileDeCarId = mobileDeCar.Id; dmvCalculationResult = await _dmvCalculationManager.Update(dmvCalculationResult.DmvCalculation); return(dmvCalculationResult); }
/// <summary> /// DMVs the calculation result. /// </summary> /// <param name="id">The identifier.</param> /// <returns></returns> public virtual ActionResult DmvCalculationResult(int id) { DmvCalculationResult dmvCalculationResult = ServiceLocator.Instance.Resolve <IDmvCalculationManager>().Get(id); return(PartialView(MVC.Dmv.Views.DmvCalculationResult, dmvCalculationResult)); }