protected IBlock GetBlock(bool allowNoContextFound = true) { var wrapLog = Log.Call <IBlock>(parameters: $"request:..., {nameof(allowNoContextFound)}: {allowNoContextFound}"); var containerId = GetTypedHeader(Sxc.WebApi.WebApiConstants.HeaderInstanceId, -1); var contentblockId = GetTypedHeader(Sxc.WebApi.WebApiConstants.HeaderContentBlockId, 0); // this can be negative, so use 0 var pageId = GetTypedHeader(Sxc.WebApi.WebApiConstants.HeaderPageId, -1); var instance = TestIds.FindInstance(containerId); if (containerId == -1 || pageId == -1 || instance == null) { if (allowNoContextFound) { return(wrapLog("not found", null)); } throw new Exception("No context found, cannot continue"); } var ctx = SxcMvc.CreateContext(HttpContext.RequestServices, instance.Zone, pageId, containerId, instance.App, instance.Block); IBlock block = HttpContext.RequestServices.Build <BlockFromModule>().Init(ctx, Log); // only if it's negative, do we load the inner block if (contentblockId > 0) { return(wrapLog("found", block)); } Log.Add($"Inner Content: {contentblockId}"); block = HttpContext.RequestServices.Build <BlockFromEntity>().Init(block, contentblockId, Log); return(wrapLog("found", block)); }
public void NewFolderSpecifiesParent() { var folder = new LibraryFolderNode(_unitTestDispatcher.Dispatcher, _eventAggregator) { Id = TestIds.GetId(0), Path = new [] { "Parent" } }; folder.NewFolder.Execute(null); Assert.That(_listener.Requests, Is.EqualTo("AddFolder Parent\\\r\n")); }
public void OutsideInitialNameModeCancelEditDoesNotRequestDelete() { var folder = new LibraryFolderNode(_unitTestDispatcher.Dispatcher, _eventAggregator) { Id = TestIds.GetId(0) }; folder.BeginEditLabel.Execute(null); folder.CancelEditLabel.Execute(null); Assert.That(_listener.Requests, Is.EqualTo("Select Id0\r\n")); }
public void SetUp() { _eventAggregator = new UnitTestEventAggregator(); _listener = new EventListener(); _eventAggregator.AddListener(_listener); _unitTestDispatcher = new UnitTestDispatcher(); _node = new LibraryFileNode(_unitTestDispatcher.Dispatcher, _eventAggregator); _node.Id = TestIds.GetId(0); _node.Id = TestIds.GetId(0); _node.Name = "original name"; _folderNode = new LibraryFolderNode(_unitTestDispatcher.Dispatcher, _eventAggregator) { Id = TestIds.GetId(1), Path = new [] { "Parent" } }; }
public void PackageAndTestItems() { UpsellTest = true; //int forYear = 0; var currentSession = IoC.Resolve <ISessionContext>().UserSession; if (EventId > 0) { var eventRepository = IoC.Resolve <IEventRepository>(); var theEvent = eventRepository.GetById(EventId); if (theEvent != null) { EventType = theEvent.EventType; EventDateLabel.Text = theEvent.EventDate.ToString("dddd, MMMM dd, yyyy"); RegistrationMode = (short)theEvent.RegistrationMode; //forYear = theEvent.EventDate.Year; //var currentSession = IoC.Resolve<ISessionContext>().UserSession; var configurationSettingRepository = IoC.Resolve <IConfigurationSettingRepository>(); EnableAlaCarte = Convert.ToBoolean( configurationSettingRepository.GetConfigurationValue(ConfigurationSettingName.EnableAlaCarte)); if (EnableAlaCarte) { if (currentSession != null && currentSession.CurrentOrganizationRole.CheckRole((long)Roles.Customer)) { EnableAlaCarte = theEvent.EnableAlaCarteOnline; } else if (currentSession != null && currentSession.CurrentOrganizationRole.CheckRole((long)Roles.CallCenterRep) || currentSession != null && currentSession.CurrentOrganizationRole.CheckRole((long)Roles.CallCenterManager)) { EnableAlaCarte = theEvent.EnableAlaCarteCallCenter; } else if (currentSession != null && (currentSession.CurrentOrganizationRole.CheckRole((long)Roles.Technician) || currentSession.CurrentOrganizationRole.CheckRole((long)Roles.NursePractitioner))) { EnableAlaCarte = theEvent.EnableAlaCarteTechnician; } else if ( !(theEvent.EnableAlaCarteOnline || theEvent.EnableAlaCarteCallCenter || theEvent.EnableAlaCarteTechnician)) { EnableAlaCarte = false; } } var hostRepository = IoC.Resolve <IHostRepository>(); var host = hostRepository.GetHostForEvent(theEvent.Id); if (host != null) { EventNameLabel.Text = HttpUtility.HtmlEncode(host.OrganizationName); EventAddressLabel.Text = System.Web.Security.AntiXss.AntiXssEncoder.HtmlEncode(CommonCode.AddressMultiLine(host.Address.StreetAddressLine1, host.Address.StreetAddressLine2, host.Address.City, host.Address.State, host.Address.ZipCode.Zip), true); } var hospitalPartnerRepository = IoC.Resolve <IHospitalPartnerRepository>(); var hospitalPartnerId = hospitalPartnerRepository.GetHospitalPartnerIdForEvent(EventId); if (hospitalPartnerId > 0) { var organizationRepository = IoC.Resolve <IOrganizationRepository>(); var hospitalPartner = organizationRepository.GetOrganizationbyId(hospitalPartnerId); HospitalPartnerLabel.Text = hospitalPartner.Name; SponsoredInfoDiv.Visible = true; } } } var customerRepository = IoC.Resolve <ICustomerRepository>(); var userSession = IoC.Resolve <ISessionContext>().UserSession; Core.Users.Domain.Customer customer = null; if (CustomerId > 0) { customer = customerRepository.GetCustomer(CustomerId); } else if (userSession != null && userSession.CurrentOrganizationRole.CheckRole((long)Roles.Customer)) { customer = customerRepository.GetCustomer(userSession.CurrentOrganizationRole.OrganizationRoleUserId); } else if (Request.QueryString["CustomerId"] != null) { customer = customerRepository.GetCustomer(Convert.ToInt64(Request.QueryString["CustomerId"])); } if (Request.QueryString["EventCustomerID"] != null) { var eventCustomerRepository = IoC.Resolve <IUniqueItemRepository <EventCustomer> >(); var eventCustomer = eventCustomerRepository.GetById(Convert.ToInt64(Request.QueryString["EventCustomerID"])); if (eventCustomer != null) { if (customer == null) { customer = customerRepository.GetCustomer(eventCustomer.CustomerId); } SingleTestOverride = eventCustomer.SingleTestOverride; } } CorporateAccount account = null; if (EventId > 0 && customer != null) { _customerId = customer.CustomerId; var corporateAccountRepository = IoC.Resolve <ICorporateAccountRepository>(); account = corporateAccountRepository.GetbyEventId(EventId); var preApprovedTestRepository = IoC.Resolve <IPreApprovedTestRepository>(); var preApprovedTests = preApprovedTestRepository.GetByCustomerId(customer.CustomerId); var preApprovedPackageRepository = IoC.Resolve <IPreApprovedPackageRepository>(); var preApprovedPackageId = preApprovedPackageRepository.CheckPreApprovedPackages(customer.CustomerId); //IEnumerable<RequiredTest> requiredTests = null; //var requiredTestIdList = new List<long>(); //if (forYear > 0) //{ // var requiredTestRepository = IoC.Resolve<IRequiredTestRepository>(); // requiredTests = requiredTestRepository.GetByRequiredTestByCustomerIdAndYear(customer.CustomerId, forYear); // requiredTestIdList = requiredTests != null ? requiredTests.Select(x => x.TestId).ToList() : null; // if (!requiredTests.IsNullOrEmpty()) // RequiredTestIds = string.Join(",", requiredTests.Select(x => x.TestId)); //} var eventPackageRepository = IoC.Resolve <IEventPackageRepository>(); var eventPackages = eventPackageRepository.GetPackagesForEventByRole(EventId, RoleId); var eventCustomerRepository = IoC.Resolve <IEventCustomerRepository>(); var eventCustomer = eventCustomerRepository.Get(EventId, customer.CustomerId); var eventTestRepository = IoC.Resolve <IEventTestRepository>(); var eventTests = eventTestRepository.GetTestsForEventByRole(EventId, RoleId); var preApprovedTestIds = new List <long>(); if (preApprovedPackageId > 0 && eventPackages != null && eventPackages.Any() && account != null && account.AllowPreQualifiedTestOnly) { var eventPackage = eventPackages.FirstOrDefault(x => x.PackageId == preApprovedPackageId); PreApprovedPackage = eventPackage != null; PreApprovedPackageId = eventPackage != null ? eventPackage.PackageId : 0; } if (account != null && account.DefaultSelectionBasePackage && PreApprovedPackageId == 0) { if (!eventPackages.IsNullOrEmpty()) { var lowestPricePackage = eventPackages.OrderBy(ep => ep.Price).First(); PreApprovedPackageId = lowestPricePackage.PackageId; } } var testIdsToAdd = new List <long>(); if (account != null && account.AllowPreQualifiedTestOnly && (preApprovedTests != null && preApprovedTests.Any())) { AllowPrequalifiedTestOnly = true; var eventTestIds = eventTests.Select(et => et.TestId).ToList(); preApprovedTestIds = preApprovedTests.Where(pat => eventTestIds.Contains(pat.TestId)).Select(pat => pat.TestId).ToList(); var eventPackage = eventPackages.FirstOrDefault(x => x.PackageId == preApprovedPackageId); var preApprovedPackageTestIds = eventPackage != null?eventPackage.Package.Tests.Select(x => x.Id) : new List <long>(); var testIdsForCustomerOrder = eventTests.Where(x => x.Test.IsDefaultSelectionForOrder).Select(x => x.TestId).ToList(); if (!testIdsForCustomerOrder.IsNullOrEmpty()) { testIdsToAdd = preApprovedTestIds.Where(x => !preApprovedPackageTestIds.Contains(x)).ToList(); testIdsToAdd.AddRange(testIdsForCustomerOrder); // PreApprovedIndependentTestIds = string.Join(",", testIdsToAdd); } else { testIdsToAdd = preApprovedTestIds.Where(x => !preApprovedPackageTestIds.Contains(x)).ToList(); //PreApprovedIndependentTestIds = string.Join(",", preApprovedTestIds.Where(x => !preApprovedPackageTestIds.Contains(x))); } /*PreApprovedIndependentTestIds = string.Join(",", preApprovedTestIds.Where(x => !preApprovedPackageTestIds.Contains(x)));*/ if (userSession.CurrentOrganizationRole.CheckRole((long)Roles.Technician) || userSession.CurrentOrganizationRole.CheckRole((long)Roles.NursePractitioner) || userSession.CurrentOrganizationRole.CheckRole((long)Roles.CallCenterRep) || userSession.CurrentOrganizationRole.CheckRole((long)Roles.FranchisorAdmin) || userSession.CurrentOrganizationRole.CheckRole((long)Roles.FranchiseeAdmin)) { AllowPrequalifiedTestOnly = !account.AllowTechnicianUpdatePreQualifiedTests; } if (account.AllowPreQualifiedTestOnly && (eventCustomer == null || !eventCustomer.AppointmentId.HasValue) && (RegistrationFlow == null || !RegistrationFlow.SingleTestOverride) && (RegistrationFlow == null || string.IsNullOrEmpty(RegistrationFlow.DisqualifiedTest))) { if (!preApprovedTestIds.IsNullOrEmpty()) { if (PackageId > 0) { TestIds.AddRange(preApprovedTestIds); TestIds = TestIds.Distinct().ToList(); } else { TestIds = preApprovedTestIds; } } } } if (!EnableAlaCarte) { AllowPrequalifiedTestOnly = true; } //if (account != null && (requiredTests != null && requiredTests.Any())) //{ // testIdsToAdd.AddRange(requiredTests.Select(x => x.TestId).ToList()); // //PreApprovedIndependentTestIds = string.Join(",", requiredTests.Select(x => x.TestId)); //} if (!testIdsToAdd.IsNullOrEmpty()) { testIdsToAdd = testIdsToAdd.Distinct().ToList(); PreApprovedIndependentTestIds = string.Join(",", testIdsToAdd); } PrequalifedTestIds = string.Join(",", preApprovedTestIds); if (eventCustomer == null || !eventCustomer.AppointmentId.HasValue) { var testForCustomerOrder = eventTests.Where(x => x.Test.IsDefaultSelectionForOrder).Select(x => x.TestId).ToList(); if (TestIds.IsNullOrEmpty()) { TestIds = testForCustomerOrder; } else { TestIds.AddRange(testForCustomerOrder); TestIds = TestIds.Distinct().ToList(); } } else { if (PreApprovedPackage && preApprovedPackageId > 0) { PreApprovedPackage = PackageId == preApprovedPackageId; } } if (!DisqualifiedTestIds.IsNullOrEmpty()) { if (!string.IsNullOrWhiteSpace(SelectedPackageTestIds)) { try { var packageTestIds = SelectedPackageTestIds.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries) .Select(long.Parse); if (packageTestIds.Any(x => DisqualifiedTestIds.Contains(x))) { PackageId = 0; } } catch (Exception ex) { IoC.Resolve <ILogManager>().GetLogger("Logger").Error("Exception occurred while converting package Test"); IoC.Resolve <ILogManager>().GetLogger("Logger").Error("Exception Message: " + ex.Message); IoC.Resolve <ILogManager>().GetLogger("Logger").Error("stack trace: " + ex.StackTrace); } } if (!TestIds.IsNullOrEmpty()) { TestIds = TestIds.Where(x => !DisqualifiedTestIds.Contains(x)).ToList(); } } //if (!requiredTests.IsNullOrEmpty() && !requiredTestIdList.IsNullOrEmpty()) //{ // TestIds.AddRange(requiredTestIdList); // TestIds = TestIds.Distinct().ToList(); //} } if (customer == null || !customer.DateOfBirth.HasValue) { return; } if (account != null) { UpsellTest = account.UpsellTest; } var now = DateTime.Now; var birth = customer.DateOfBirth.Value; Age = now.Year - birth.Year - ((now.DayOfYear < birth.DayOfYear) ? 1 : 0); }
private void NextButtonClick() { if (!EventValidation()) { return; } SetPackageData(); if (!string.IsNullOrEmpty(txtCouponCode.Text)) { SetSourceCodeData(); } else { SourceCodeId = 0; SourceCode = string.Empty; SourceCodeAmount = decimal.Zero; } TotalAmount = PackageCost - SourceCodeAmount; if (!string.IsNullOrWhiteSpace(hfQuestionAnsTestId.Value)) { QuestionIdAnswerTestId = hfQuestionAnsTestId.Value; } else { QuestionIdAnswerTestId = string.Empty; } if (!string.IsNullOrWhiteSpace(hfDisqualifedTest.Value)) { DisqualifiedTest = hfDisqualifedTest.Value; } else { DisqualifiedTest = string.Empty; } var isEawvPurchased = (TestIds.Any(x => x == (long)TestType.eAWV) || AddOnTestIds.Any(x => x == (long)TestType.eAWV)); if (CustomerId > 0 && !RegistrationFlow.AwvVisitId.HasValue) { // this was added so that Even if the user forgets to open the HRA Questionnaire Button - We push the User to Medicare. var account = AccountByEventId; QuestionnaireType questionnaireType = QuestionnaireType.None; if (account != null && EventData != null) { var accountHraChatQuestionnaireHistoryServices = IoC.Resolve <IAccountHraChatQuestionnaireHistoryServices>(); questionnaireType = accountHraChatQuestionnaireHistoryServices.QuestionnaireTypeByAccountIdandEventDate(account.Id, EventData.EventDate); } if (account != null && account.IsHealthPlan && (questionnaireType == QuestionnaireType.HraQuestionnaire) && isEawvPurchased) { try { var setting = IoC.Resolve <ISettings>(); if (setting.SyncWithHra) { var medicareService = IoC.Resolve <IMedicareService>(); var model = medicareService.GetCustomerDetails(CustomerId); model.Tag = account.Tag; var medicareApiService = IoC.Resolve <IMedicareApiService>(); model.EventDetails = new MedicareEventEditModel { EventId = EventId, VisitDate = EventData.EventDate }; var result = medicareApiService.PostAnonymous <MedicareCustomerSetupViewModel>(setting.MedicareApiUrl + MedicareApiUrl.CreateUpdateCustomer, model); if (result != null) { RegistrationFlow.AwvVisitId = result.PatientVisitId; } } } catch (Exception exception) { var logger = IoC.Resolve <ILogManager>().GetLogger <Global>(); logger.Error("Error occured in Medicare Customer Sync (In Existing Customer : Select appointment) for Customer : " + CustomerId + " Message: " + exception.Message + "\n stack Trace: " + exception.StackTrace); } } } if (Request.QueryString["Eventid"] != null) { EventId = long.Parse(Request.QueryString["Eventid"]); Response.RedirectUser("/App/Common/RegisterCustomer/SelectAppointment.aspx?EventID=" + EventId + "&guid=" + GuId); } else if (CustomerType == CustomerType.Existing) { Response.RedirectUser("SelectAppointment.aspx?Customer=Existing" + "&guid=" + GuId); } else { Response.RedirectUser("SelectAppointment.aspx?guid=" + GuId); } }
private bool PaymentViaSourceCode() { var organizationRoleUser = GetOrganizationRoleUser(); var orderables = new List <IOrderable>(); var packageTestIds = new List <long>(); if (PackageId > 0) { var packageRepository = IoC.Resolve <IEventPackageRepository>(); var package = packageRepository.GetByEventAndPackageIds(EventId.Value, PackageId); if (package != null) { packageTestIds = package.Tests.Select(t => t.Test.Id).ToList(); } orderables.Add(package); } var independentTestIds = !packageTestIds.IsNullOrEmpty() ? TestIds.Where(t => !packageTestIds.Contains(t)).Select(t => t).ToList() : TestIds; if (!independentTestIds.IsNullOrEmpty()) { var eventTestRepository = IoC.Resolve <IEventTestRepository>(); orderables.AddRange(eventTestRepository.GetByEventAndTestIds(EventId.Value, independentTestIds)); } if (ProductId.HasValue && ProductId.Value > 0) { IUniqueItemRepository <ElectronicProduct> itemRepository = new ElectronicProductRepository(); orderables.Add(itemRepository.GetById(ProductId.Value)); } if (orderables.IsNullOrEmpty()) { return(false); } Core.Finance.Domain.Order order = null; EventCustomer eventCustomer; try { order = GetOrder(); if (order == null) { eventCustomer = SaveEventCustomer(organizationRoleUser); } else { eventCustomer = UpdateEventCustomer(organizationRoleUser); } } catch { eventCustomer = SaveEventCustomer(organizationRoleUser); } SourceCode sourceCode; if (SourceCodeId > 0) { sourceCode = new SourceCode { Id = SourceCodeId, CouponCode = SourceCode, CouponValue = SourceCodeAmount } } ; else { sourceCode = null; } if (ShippingDetail != null) { IShippingController shippingController = new ShippingController(); ShippingDetail = shippingController.OrderShipping(ShippingDetail); } IOrderController orderController = new OrderController(); bool indentedLineItemsAdded = false; // TODO: applying hook to the system all the indented line items will be attached to the first order item. foreach (var orderable in orderables) { if (!indentedLineItemsAdded) { orderController.AddItem(orderable, 1, organizationRoleUser.Id, organizationRoleUser.Id, sourceCode, eventCustomer, ShippingDetail, OrderStatusState.FinalSuccess); indentedLineItemsAdded = true; } else { orderController.AddItem(orderable, 1, organizationRoleUser.Id, organizationRoleUser.Id, OrderStatusState.FinalSuccess); } } if (order == null) { order = orderController.PlaceOrder(OrderType.Retail, organizationRoleUser.Id); } else { order = orderController.ActivateOrder(order); } SaveProductShippingDetail(order); return(true); }
private string GetTests() => string.Join("", TestIds.Select(a => a.Build()).ToList());