Esempio n. 1
0
        public async Task <ActionResult> ScanAnalysisCreate(ScanAnalysisViewModel scanAnalysis)
        {
            try
            {
                // Create Request.
                var request = new RepairRequestScanViewModel
                {
                    RequestTypeID         = 7,
                    RequestTypeCategoryId = 1,
                    ProblemDescription    = "Scan Analysis"
                };

                // Create.
                var newRequestId = await QuickRequestSave(scanAnalysis, request);

                // Update Scan Queue.
                var messenger = new ScanRequestHubMessenger();
                await messenger.NotifyScanCreated(newRequestId);
            }
            catch (Exception e)
            {
                Logger.LogException(e);

                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, e.Message));
            }

            return(new HttpStatusCodeResult(HttpStatusCode.OK));
        }
Esempio n. 2
0
        public async Task <ActionResult> ScanAnalysisUpload(Guid id)
        {
            // Create Response.
            var response = new ScanAnalysisViewModel
            {
                ShopGuid          = id,
                VehicleSelectList = GetVehicleMakeSelectList()
            };

            // Check Upload Files.
            if (Request?.Files?[0] == null)
            {
                return(Json(response));
            }

            // Parse VIN Number.
            var diagnosticResult = DiagnosticFileParser
                                   .ParseFile(Request.Files[0].InputStream, DiagnosticTool.AutoEnginuity, DiagnosticFileType.XML);
            var vin = diagnosticResult?.VehicleVin;

            // Check VIN Number.
            if (string.IsNullOrEmpty(vin) || vin == "Not Reported")
            {
                return(Json(response));
            }

            response.ShowAssistedScanRecommended = NeedShowAssistedScanRecommended(diagnosticResult);

            await QuickRequestSearch(id, response, vin);

            return(Json(response));
        }
Esempio n. 3
0
        public async Task <ActionResult> ScanAnalysisUploadSelect(Guid id, int resultId)
        {
            // Create Response.
            var response = new ScanAnalysisViewModel
            {
                ShopGuid           = id,
                DiagnosticResultId = resultId,
                VehicleSelectList  = GetVehicleMakeSelectList()
            };

            // Lookup VIN for Result.
            var diagnosticResult = Factory.GetById <IDiagnosticResultDto>(resultId.ToString());
            var vin = diagnosticResult?.VehicleVin;

            // Check VIN Number.
            if (string.IsNullOrEmpty(vin) || vin == "Not Reported")
            {
                return(Json(response));
            }

            response.ShowAssistedScanRecommended = NeedShowAssistedScanRecommended(diagnosticResult);

            await QuickRequestSearch(id, response, vin);

            return(Json(response));
        }
Esempio n. 4
0
        public async Task <ActionResult> ScanAnalysisVehicleSearch(Guid id, string vin)
        {
            var response = new ScanAnalysisViewModel();

            await QuickRequestSearch(id, response, vin);

            return(Json(response));
        }
Esempio n. 5
0
        public ActionResult StartScanAnalysis(Guid id)
        {
            // Build View Model.
            var scanAnalysis = new ScanAnalysisViewModel
            {
                ShopGuid          = id,
                ShopName          = Factory.GetDisplayName <IShopDto>(id.ToString()),
                VehicleSelectList = GetVehicleMakeSelectList(),
                AvailableScans    = Factory.GetAll <IDiagnosticQueueDto>(new ServiceArgs {
                    { "ShopGuid", id.ToString() }
                }).ToList()
            };

            // Set Default.
            var defaultInsuranceCompanyId = Db.Shops.Find(id)?.DefaultInsuranceCompanyId;

            if (defaultInsuranceCompanyId.HasValue)
            {
                scanAnalysis.InsuranceCompanyId = defaultInsuranceCompanyId.Value;
            }

            return(PartialView("_ScanAnalysisCreate", scanAnalysis));
        }