Task CallWebservice(string Vin, short storeId, int mileage, string ddcuserid, string firstname, string lastname, string email, string phone)
        {
            return(Task.Factory.StartNew(() => {
                CreateAppraisalRequest apprrequest = new CreateAppraisalRequest();
                AppraisalResponse appresponse = new AppraisalResponse();

                apprrequest.VIN = Vin;
                apprrequest.StoreID = storeId;
                apprrequest.Mileage = mileage;
                apprrequest.DDCUserId = ddcuserid;
                apprrequest.FirstName = firstname;
                apprrequest.LastName = lastname;
                apprrequest.Phone = phone;
                apprrequest.Email = email;
                apprrequest.Is_Extrn_Customer = AppDelegate.appDelegate.IsCustomer;

                appresponse = ServiceFactory.getWebServiceHandle().CreateAppraisalKBB(apprrequest);
                ContactUS contactresponse = new ContactUS();
                contactresponse = ServiceFactory.getWebServiceHandle().GetContactUS();
                AppDelegate.appDelegate.Phone = contactresponse.Phone;
                AppDelegate.appDelegate.Email = contactresponse.EmailId;
                AppDelegate.appDelegate.Subject = contactresponse.Subject;
                AppDelegate.appDelegate.Body = contactresponse.Body;
                Console.WriteLine("vehicle id :: " + appresponse.VehicleID);

                if (null != appresponse.VIN)
                {
                    InvokeOnMainThread(() =>
                    {
                        Utility.HideLoadingIndicator(this.View);
                        AppDelegate.appDelegate.IsInfoSaved = false;
                        AppDelegate.appDelegate.IsFactorySaved = false;
                        AppDelegate.appDelegate.IsAftermarketSaved = false;
                        AppDelegate.appDelegate.IsHistorySaved = false;
                        AppDelegate.appDelegate.IsReconditionsSaved = false;
                        AppDelegate.appDelegate.IsPhotosSaved = false;
                        AppDelegate.appDelegate.vehicleID = appresponse.VehicleID;
                        AppDelegate.appDelegate.storeId = appresponse.StoreID;
                        AppDelegate.appDelegate.invtrId = appresponse.InvtrID;
                        AppDelegate.appDelegate.trimId = appresponse.KBBTrimId;


                        AppDelegate.appDelegate.mileage = Convert.ToInt32(txtMileage.Text);

                        var storyboard = UIStoryboard.FromName("Main", null);
                        var splitViewController = storyboard.InstantiateViewController("SplitViewControllerID");
                        var appDelegate = (AppDelegate)UIApplication.SharedApplication.Delegate;
                        appDelegate.Window.RootViewController = splitViewController;
                    });
                }
                else
                {
                    InvokeOnMainThread(() =>
                    {
                        Utility.HideLoadingIndicator(this.View);
                        Utility.ShowAlert("AppraisalApp", "Decode VIN Failed !!", "OK");
                    });
                }
            }));
        }
Beispiel #2
0
        public AppraisalResponse CreateAppraisalKBB(CreateAppraisalRequest apprequest)
        {
            string result = null;
            HttpResponseMessage responseMessage = null;
            AppraisalResponse   response        = new AppraisalResponse();

            try
            {
                string request = JsonConvert.SerializeObject(apprequest);
                responseMessage = RestClient.doPost(Url.CREATEAPPRAISAL_URL, request);
                if (responseMessage.IsSuccessStatusCode)
                {
                    result = responseMessage.Content.ReadAsStringAsync().Result;
                    SIMSResponseData rst = JsonConvert.DeserializeObject <SIMSResponseData>(result);
                    var vehicleData      = JsonConvert.DeserializeObject <AppraisalResponse>(rst.Data.ToString());

                    response = vehicleData;

                    if (null != result)
                    {
                        //result = null;
                    }
                    // TO-DO : show alert message if the VIN appraisal already created
                }
                else
                {
                    result = null;

                    //Utilities.Utility.ShowAlert("Appraisal App", "Decode VIN Failed!!", "OK");
                }
            }
            catch (Exception exc)
            {
                Console.WriteLine("Exception occured :: " + exc.Message);
            }
            return(response);
        }
Beispiel #3
0
        public async Task <IActionResult> FinishAppResult([FromBody] AppraisalResponse empAppResult)
        {
            if (empAppResult == null)
            {
                return(Json(new
                {
                    msg = "No Data"
                }
                            ));
            }

            var orgId           = getOrg();
            var userId          = User.FindFirst(ClaimTypes.NameIdentifier).Value;
            var employeeDetails = _context.EmployeeDetails.Where(x => x.UserId == Guid.Parse(userId)).FirstOrDefault();

            var appsKPI = _context.AppraisalKPIs.Where(x => x.OrganisationId == orgId).ToList();
            var appsCat = _context.AppraisalTemplateCategories.Where(x => x.OrganisationId == orgId).ToList();

            var   appExisit = _context.AppraisalEmployeeResults.Where(x => x.AppraisalId == empAppResult.AppraisalId).Where(x => x.EmployeeDetailId == employeeDetails.Id).FirstOrDefault();
            float point     = 0;
            float points    = 0;


            if (appExisit != null)
            {
                var kpiResults = _context.KPIEmployeeResults.Where(x => x.AppraisalEmployeeResultId == appExisit.Id).Where(x => x.EmployeeDetailId == employeeDetails.Id).ToList();

                foreach (var item in empAppResult.KPIs)
                {
                    var editKPI = kpiResults.Where(x => x.KPIId == item.KPIId).FirstOrDefault();

                    var kpi = appsKPI.Where(x => x.Id == editKPI.KPIId).FirstOrDefault();
                    var cat = appsCat.Where(x => x.AppraisalCategoryId == kpi.AppraisalCategoryId).FirstOrDefault();
                    editKPI.KPISelection = item.KPIResult;

                    point  = point + (kpi.Weight * Int32.Parse(editKPI.KPISelection) * 20 * cat.Weight);
                    points = points + (kpi.Weight * cat.Weight);

                    _context.KPIEmployeeResults.Update(editKPI);
                    _context.SaveChanges();
                }


                appExisit.Status         = "Finished";
                appExisit.AppraisalScore = point / points;

                _context.AppraisalEmployeeResults.Update(appExisit);
                _context.SaveChanges();

                return(Json(new
                {
                    msg = "Success"
                }
                            ));
            }



            AppraisalEmployeeResult appEmployeeResult = new AppraisalEmployeeResult()
            {
                Id               = Guid.NewGuid(),
                AppraisalId      = empAppResult.AppraisalId,
                EmployeeDetailId = employeeDetails.Id,
                DateSubmited     = DateTime.Now,
                OrganisationId   = orgId,
                Status           = "Finished"
            };

            List <KPIEmployeeResult> KPIListResult = new List <KPIEmployeeResult>();
            KPIEmployeeResult        singleKPI;

            point  = 0;
            points = 0;

            foreach (var item in empAppResult.KPIs)
            {
                singleKPI = new KPIEmployeeResult()
                {
                    Id                        = Guid.NewGuid(),
                    AppraisalId               = appEmployeeResult.AppraisalId,
                    EmployeeDetailId          = appEmployeeResult.EmployeeDetailId,
                    AppraisalEmployeeResultId = appEmployeeResult.Id,
                    KPIId                     = item.KPIId,
                    KPISelection              = item.KPIResult,
                    OrganisationId            = orgId
                };

                var kpi = appsKPI.Where(x => x.Id == singleKPI.KPIId).FirstOrDefault();
                var cat = appsCat.Where(x => x.AppraisalCategoryId == kpi.AppraisalCategoryId).FirstOrDefault();

                point  = point + (kpi.Weight * Int32.Parse(singleKPI.KPISelection) * 20 * cat.Weight);
                points = points + (kpi.Weight * cat.Weight);

                KPIListResult.Add(singleKPI);
            }

            appEmployeeResult.AppraisalScore = point / points;



            try
            {
                _context.Add(appEmployeeResult);
                _context.SaveChanges();

                _context.AddRange(KPIListResult);
                _context.SaveChanges();

                return(Json(new
                {
                    msg = "Success"
                }
                            ));
            }
            catch (Exception ee)
            {
            }

            return(Json(
                       new
            {
                msg = "Fail"
            }));
        }