Exemplo n.º 1
0
        private void SaveReports(BioCheckJsonViewModel repsponse, long eventid, long customerid, ILogger logger)
        {
            var mybioCheckMedia = _mediaRepository.GetBioCheckAssessmentLocation(eventid, customerid);
            var ticks           = DateTime.Now.Ticks;

            if (repsponse != null)
            {
                if (!String.IsNullOrEmpty(repsponse.reportSvg))
                {
                    DirectoryOperationsHelper.SaveFile(mybioCheckMedia.PhysicalPath, customerid + "_" + ticks + "_ReportSVG.html", repsponse.reportSvg);
                }

                if (!String.IsNullOrEmpty(repsponse.reportPdf))
                {
                    var filePath = String.Format("{0}\\{1}", mybioCheckMedia.PhysicalPath, customerid + "_" + ticks + "_ReportPDF.PDF");
                    logger.Info("Saving Report pdf at Path" + filePath);
                    DirectoryOperationsHelper.SaveFileBase64Text(mybioCheckMedia.PhysicalPath, customerid + "_" + ticks + "_ReportPDF.PDF", repsponse.reportPdf);

                    logger.Info("Updating Test Result for EventId: " + eventid + " CustomerId: " + customerid + " Report pdf at Path" + filePath);
                    UpdateCustomerResultMedia(filePath, customerid, eventid, logger);
                }

                DirectoryOperationsHelper.SaveFile(mybioCheckMedia.PhysicalPath, customerid + "_" + ticks + "_ResponseJSON.json", JsonConvert.SerializeObject(repsponse));
            }
        }
Exemplo n.º 2
0
        private void SaveRequestJson(BioCheckJsonViewModel request, long eventid, long customerid)
        {
            var mybioCheckMedia = _mediaRepository.GetBioCheckAssessmentLocation(eventid, customerid);
            var ticks           = DateTime.Now.Ticks;

            DirectoryOperationsHelper.SaveFile(mybioCheckMedia.PhysicalPath, customerid + "_" + ticks + "_RequestJSON.json", JsonConvert.SerializeObject(request));
        }
Exemplo n.º 3
0
        private BioCheckJsonViewModel GenerateBioCheckResponseModel(EventCustomer eventCustomer, Customer customer, IEnumerable <HealthAssessmentAnswer> customerHealth, Event eventData, ILogger logger)
        {
            var testResult    = _bioCheckAssessmentTestResultRepository.GetTestResults(customer.CustomerId, eventCustomer.EventId);
            var kynLabValues  = _kynLabValuesRepository.Get(eventCustomer.Id, (long)TestType.MyBioCheckAssessment);
            var basicBioMeric = _basicBiometricRepository.Get(eventCustomer.EventId, eventCustomer.CustomerId);

            var myBioCheck = testResult as MyBioAssessmentTestResult;

            if (myBioCheck != null && (myBioCheck.TestNotPerformed == null || myBioCheck.TestNotPerformed.TestNotPerformedReasonId <= 0) && (testResult.UnableScreenReason == null || testResult.UnableScreenReason.Count <= 0))
            {
                var biocheckResponse = new List <BioCheckResponseModel>();
                SetCustomerHafResponse(customerHealth, biocheckResponse);                         //Q1_1 to Q8_4
                SetCustomerBioMetricResponse(customer, biocheckResponse);                         //Q9 to Q10
                SetLabValus(biocheckResponse, myBioCheck, kynLabValues, basicBioMeric, customer); //Q11 to Q21
                SetA1CTestData(biocheckResponse, eventCustomer);                                  //Q22
                SetAwvBoneMassTestData(biocheckResponse, eventCustomer);                          // Q23
                SetPsaTestData(biocheckResponse, eventCustomer);                                  // Q24
                SetNicotineTestData(biocheckResponse);                                            // Q25-27
                SetBmiData(biocheckResponse, customer);                                           // Q28
                SetSmokerData(biocheckResponse, kynLabValues);                                    //Q60

                var bioCheckJsonViewModel = new BioCheckJsonViewModel
                {
                    //ResponseId = Guid.NewGuid().ToString(),
                    UserId      = customer.CustomerId.ToString(),
                    FirstName   = customer.Name.FirstName,
                    LastName    = customer.Name.LastName,
                    DoB         = customer.DateOfBirth,
                    CreatedAt   = DateTime.Now,
                    CompletedAt = eventData.EventDate,
                    Email       = (customer.Email == null || string.IsNullOrEmpty(customer.Email.ToString()))
                            ? string.Empty
                            : customer.Email.ToString(),

                    Gender = customer.Gender == Gender.Female
                            ? FemaleGender
                            : customer.Gender == Gender.Male ? MaleGender : string.Empty,

                    Responses = biocheckResponse.ToArray()
                };
                return(bioCheckJsonViewModel);
            }
            //Todo: create XML for Customers JSON Not Created;
            logger.Info("Customer's My bio-check Result not Found");

            return(null);
        }
Exemplo n.º 4
0
        public BioCheckJsonViewModel Post(BioCheckJsonViewModel data)
        {
            try
            {
                var encrypted = EncryptEncoded(JsonConvert.SerializeObject(data));

                using (var client = new WebClient())
                {
                    SetHeaders(client);
                    string postBody = String.Format("apiKey={0}&payload={1}", _traleApiKey, Uri.EscapeDataString(encrypted));
                    var    result   = UnescapeString(Encoding.UTF8.GetString(client.UploadData(_trailUrl + PostUrl, "POST", Encoding.UTF8.GetBytes(postBody))));

                    return(CheckResponse(result));
                }
            }
            catch (Exception ex)
            {
                _logger.Error("some Error Occurred while Requesting on Trale API Message: " + ex.Message + " Stack Trace:" + ex.StackTrace);
                throw;
            }
        }
Exemplo n.º 5
0
        private BioCheckJsonViewModel GenerateBioCheckResponseModel(EventCustomer eventCustomer, Customer customer,
                                                                    IEnumerable <HealthAssessmentAnswer> customerHealth, Event eventData, ILogger logger,
                                                                    IEnumerable <EventCustomerResultTrale> eventCustomerResultTrales, IEnumerable <CustomerTrale> customerTrales, CorporateAccount account)
        {
            var isNewResultFlow = eventData.EventDate >= _settings.ResultFlowChangeDate;

            var testResult    = _bioCheckAssessmentTestResultRepository.GetTestResults(customer.CustomerId, eventCustomer.EventId, isNewResultFlow);
            var kynLabValues  = _kynLabValuesRepository.Get(eventCustomer.Id, (long)TestType.MyBioCheckAssessment);
            var basicBioMeric = _basicBiometricRepository.Get(eventCustomer.EventId, eventCustomer.CustomerId);

            var traleResponse = eventCustomerResultTrales.FirstOrDefault(x => x.EventCustomerResultId == eventCustomer.Id);
            var traleUser     = customerTrales.FirstOrDefault(x => x.CustomerId == eventCustomer.CustomerId);

            var myBioCheck = testResult as MyBioAssessmentTestResult;

            if (myBioCheck != null && (myBioCheck.TestNotPerformed == null || myBioCheck.TestNotPerformed.TestNotPerformedReasonId <= 0) && (testResult.UnableScreenReason == null || testResult.UnableScreenReason.Count <= 0))
            {
                if (traleResponse == null)
                {
                    traleResponse = new EventCustomerResultTrale
                    {
                        EventCustomerResultId = eventCustomer.Id,
                        DateCreated           = DateTime.Now,
                        ResponseId            = Guid.NewGuid().ToString()
                    };

                    _eventCustomerResultTraleRepository.Save(traleResponse);
                }

                if (traleUser == null)
                {
                    traleUser = new CustomerTrale
                    {
                        CustomerId  = customer.CustomerId,
                        DateCreated = DateTime.Now,
                        UserId      = Guid.NewGuid().ToString()
                    };
                    _customerTraleRepository.Save(traleUser);
                }

                var biocheckResponse = new List <BioCheckResponseModel>();
                SetCustomerHafResponse(customerHealth, biocheckResponse);                         //Q1_1 to Q8_4
                SetCustomerBioMetricResponse(customer, biocheckResponse);                         //Q9 to Q10
                SetLabValus(biocheckResponse, myBioCheck, kynLabValues, basicBioMeric, customer); //Q11 to Q21
                SetA1CTestData(biocheckResponse, eventCustomer, isNewResultFlow);                 //Q22
                SetAwvBoneMassTestData(biocheckResponse, eventCustomer, isNewResultFlow);         // Q23
                SetPsaTestData(biocheckResponse, eventCustomer, isNewResultFlow);                 // Q24
                SetNicotineTestData(biocheckResponse);                                            // Q25-27
                SetBmiData(biocheckResponse, customer);                                           // Q28
                SetSmokerData(biocheckResponse, kynLabValues);                                    //Q60

                var bioCheckJsonViewModel = new BioCheckJsonViewModel
                {
                    ResponseId  = traleResponse.ResponseId,
                    UserId      = traleUser.UserId,
                    FirstName   = customer.Name.FirstName,
                    LastName    = customer.Name.LastName,
                    DoB         = customer.DateOfBirth,
                    CreatedAt   = DateTime.Now,
                    CompletedAt = eventData.EventDate,
                    Email       = (customer.Email == null || string.IsNullOrEmpty(customer.Email.ToString()))
                            ? string.Empty
                            : customer.Email.ToString(),

                    Gender = customer.Gender == Gender.Female
                            ? FemaleGender
                            : customer.Gender == Gender.Male ? MaleGender : string.Empty,
                    GroupId   = account != null ? account.Id : eventData.Id,
                    GroupName = account != null ? account.Name : eventData.Name,
                    Responses = biocheckResponse.ToArray(),
                    UniqueId  = customer.CustomerId.ToString(),
                    Exfld03   = "Kaiser"
                };

                return(bioCheckJsonViewModel);
            }
            //Todo: create XML for Customers JSON Not Created;
            logger.Info("Customer's My bio-check Result not Found");

            return(null);
        }