Пример #1
0
        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);
        }
Пример #4
0
        /// <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);
        }
Пример #5
0
        /// <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);
        }
Пример #6
0
        /// <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);
        }
Пример #7
0
        /// <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));
        }