Ejemplo n.º 1
0
        private string GetCouponCode()
        {
            string couponCode = "N/A";

            if (_orderDetail != null && _orderDetail.SourceCodeOrderDetail != null)
            {
                ISourceCodeRepository sourceCodeRepository = new SourceCodeRepository();
                var sourceCode = sourceCodeRepository.GetSourceCodeById(_orderDetail.SourceCodeOrderDetail.SourceCodeId);
                if (sourceCode != null)
                {
                    couponCode = sourceCode.CouponCode;
                    string couponValue = "0.00";

                    if (_orderDetail.SourceCodeOrderDetail.Amount != 0m)
                    {
                        couponValue = _orderDetail.SourceCodeOrderDetail.Amount.ToString();
                    }
                    if (Convert.ToSingle(couponValue) < 0.00)
                    {
                        couponValue = string.Empty;
                    }
                    else
                    {
                        couponValue = _orderDetail.SourceCodeOrderDetail.Amount.ToString("C2");
                    }

                    return(couponCode + "(" + couponValue + ")");
                }
            }
            return(couponCode);
        }
Ejemplo n.º 2
0
        private SourceCodeViewData GetSourceCodeUserPair(SourceCodeOrderDetail sourceCodeOrderDetail)
        {
            if (sourceCodeOrderDetail == null)
            {
                return(null);
            }
            var organizationRoleUserCreator = GetOrganizationRoleUser(sourceCodeOrderDetail,
                                                                      scod => scod.OrganizationRoleUserCreatorId);

            ISourceCodeRepository sourceCodeRepository = new SourceCodeRepository();

            var sourceCode = sourceCodeRepository.GetSourceCodeById(sourceCodeOrderDetail.SourceCodeId);

            if (sourceCode != null && organizationRoleUserCreator != null && organizationRoleUserCreator.FirstValue != null)
            {
                sourceCode.CouponValue          = sourceCodeOrderDetail.Amount;
                sourceCode.DataRecorderMetaData = new DataRecorderMetaData()
                {
                    DateCreated = sourceCodeOrderDetail.DateCreated
                };
                sourceCode.CouponDescription = ((Roles)organizationRoleUserCreator.FirstValue.RoleId).ToString();

                return(new SourceCodeViewData
                {
                    Amount = sourceCodeOrderDetail.Amount,
                    AppliedByName = organizationRoleUserCreator.SecondValue.FirstValue,
                    AppliedByRole = organizationRoleUserCreator.SecondValue.SecondValue,
                    AppliedDate =
                        sourceCodeOrderDetail.DateCreated.ToString(
                            "MMM dd yyyy"),
                    SourceCode = sourceCode.CouponCode,
                    SourceCodeId = sourceCode.Id
                });
            }
            return(null);
        }
Ejemplo n.º 3
0
        private bool SetCustomerDetail()
        {
            IUniqueItemRepository <EventCustomer> eventCustomerRepository = new EventCustomerRepository();
            var eventCustomer = eventCustomerRepository.GetById(EventCustomerId);

            if (eventCustomer != null)
            {
                CustomerId = eventCustomer.CustomerId;
                EventId    = eventCustomer.EventId;
                var organizationRoleUserRepository = IoC.Resolve <IOrganizationRoleUserRepository>();
                var orgRoleUser = organizationRoleUserRepository.GetOrganizationRoleUser(eventCustomer.DataRecorderMetaData.DataRecorderCreator.Id);

                EventRegisteredBy = (Roles)Enum.Parse(typeof(Roles), orgRoleUser.RoleId.ToString());

                speventid.InnerText = EventId.ToString();

                if (Customer != null && Customer.Address != null)
                {
                    spcustomerdetail.InnerText = " " + "-" + " " + Customer.Name + "(ID:" + Customer.CustomerId + ")";
                }

                var eventService            = IoC.Resolve <IEventService>();
                var eventBasicInfoViewModel = eventService.GetEventBasicInfoFor(eventCustomer.EventId);

                speventid.InnerText  = EventId.ToString();
                sphostname.InnerText = eventBasicInfoViewModel.HostName;
                spaddress.InnerText  =
                    CommonCode.AddressSingleLine(eventBasicInfoViewModel.HostAddress.StreetAddressLine1,
                                                 eventBasicInfoViewModel.HostAddress.StreetAddressLine2,
                                                 eventBasicInfoViewModel.HostAddress.City,
                                                 eventBasicInfoViewModel.HostAddress.State,
                                                 eventBasicInfoViewModel.HostAddress.ZipCode);

                if (eventCustomer.AppointmentId.HasValue)
                {
                    var appointmentRepository = IoC.Resolve <IAppointmentRepository>();
                    var appointment           = appointmentRepository.GetById(eventCustomer.AppointmentId.Value);
                    spapptime.InnerText = appointment.StartTime.ToShortTimeString();
                }

                speventdate.InnerText  = eventBasicInfoViewModel.EventDate.ToShortDateString();
                ViewState["EventDate"] = eventBasicInfoViewModel.EventDate.ToShortDateString();


                IOrderRepository orderRepository = new OrderRepository();
                var order = orderRepository.GetOrder(CustomerId.Value, EventId.Value);
                if (order != null && !order.OrderDetails.IsEmpty())
                {
                    hfPackageCost.Value = order.OrderDetails.Where(od =>
                                                                   (od.DetailType == OrderItemType.EventPackageItem && od.IsCompleted) ||
                                                                   (od.DetailType == OrderItemType.EventTestItem && od.IsCompleted))
                                          .Sum(od => od.Price).ToString();

                    sppackagecost.InnerText =
                        order.OrderDetails.Where(od =>
                                                 (od.DetailType == OrderItemType.EventPackageItem && od.IsCompleted) ||
                                                 (od.DetailType == OrderItemType.EventTestItem && od.IsCompleted))
                        .Sum(od => od.Price).ToString("C2");

                    OrderId = order.Id;
                    SetRefundRequestAmount(OrderId);
                    SetPaymentDetails(order);

                    IOrderController orderController = new OrderController();
                    var orderDetail = orderController.GetActiveOrderDetail(order);
                    IOrderItemRepository orderItemRepository = new OrderItemRepository();
                    var orderItem = orderItemRepository.GetOrderItem(orderDetail.OrderItemId);
                    if (orderItem is EventPackageItem)
                    {
                        var eventPackageItem = orderItem as EventPackageItem;

                        var itemRepository = IoC.Resolve <IEventPackageRepository>();
                        var eventPackage   = itemRepository.GetById(eventPackageItem.ItemId);
                        PackageId = eventPackage.PackageId;
                    }
                    if (orderDetail.SourceCodeOrderDetail != null)
                    {
                        if (Customer != null)
                        {
                            ViewState["DateApplied"] = Customer.DateCreated;
                        }

                        ISourceCodeRepository sourceCodeRepository = new SourceCodeRepository();
                        var sourceCode =
                            sourceCodeRepository.GetSourceCodeById(orderDetail.SourceCodeOrderDetail.SourceCodeId);
                        spcoupon.InnerText = sourceCode.CouponCode;

                        if (!string.IsNullOrEmpty(sourceCode.CouponCode))
                        {
                            rbtreplaceexisting.Checked  = true;
                            hfcurrentcoupon.Value       = sourceCode.CouponCode;
                            hfcurrentcouponamount.Value = orderDetail.SourceCodeOrderDetail.Amount.ToString("N2");
                        }
                        else
                        {
                            rbtapplycoupon.Checked = true;
                        }
                    }
                    else
                    {
                        spcoupon.InnerText     = "N/A";
                        rbtapplycoupon.Checked = true;
                    }
                }
                return(true);
            }
            return(false);
        }
Ejemplo n.º 4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            RegistrationFlow.CanSaveConsentInfo = false;
            SetTitle();
            bool defaultBasePackage = false;

            FillClinicialQuestionnaireDiv.Visible = false;
            ClinicalQuestionTemplateId            = 0;
            IsClinicalQuestionaireFilled          = false;


            if (EventId > 0)
            {
                if (EventData != null)
                {
                    EventType = EventData.EventType;

                    var configurationSettingRepository = IoC.Resolve <IConfigurationSettingRepository>();
                    EnableAlaCarte = Convert.ToBoolean(configurationSettingRepository.GetConfigurationValue(ConfigurationSettingName.EnableAlaCarte));
                    if (EnableAlaCarte)
                    {
                        EnableAlaCarte = EventData.EnableAlaCarteCallCenter;
                    }
                }

                if (AccountByEventId != null)
                {
                    if (AccountByEventId.AskClinicalQuestions && AccountByEventId.ClinicalQuestionTemplateId.HasValue)
                    {
                        FillClinicialQuestionnaireDiv.Visible = true;
                        ClinicalQuestionTemplateId            = AccountByEventId.ClinicalQuestionTemplateId.Value;
                        GetRecommendationText();
                    }
                    defaultBasePackage = AccountByEventId.DefaultSelectionBasePackage;

                    // for penguin integartion
                    var settings = IoC.Resolve <ISettings>();

                    QuestionnaireType questionnaireType = QuestionnaireType.None;
                    if (AccountByEventId != null && AccountByEventId.IsHealthPlan && EventData != null)
                    {
                        var accountHraChatQuestionnaireHistoryServices = IoC.Resolve <IAccountHraChatQuestionnaireHistoryServices>();
                        questionnaireType = accountHraChatQuestionnaireHistoryServices.QuestionnaireTypeByAccountIdandEventDate(AccountByEventId.Id, EventData.EventDate);
                    }

                    if (questionnaireType == QuestionnaireType.HraQuestionnaire)
                    {
                        var userSession = IoC.Resolve <ISessionContext>().UserSession;
                        var token       =
                            (Session.SessionID + "_" + userSession.UserId + "_" +
                             userSession.CurrentOrganizationRole.RoleId + "_" +
                             userSession.CurrentOrganizationRole.OrganizationId).Encrypt();


                        HraQuestionerAppUrlWithoutVisit = settings.HraQuestionerAppUrl + "?userToken=" +
                                                          HttpUtility.UrlEncode(token) + "&customerId=" + CustomerId + "&orgName=" +
                                                          settings.OrganizationNameForHraQuestioner + "&tag=" + AccountByEventId.Tag;
                        HraQuestionerAppUrl = HraQuestionerAppUrlWithoutVisit + "&visitId=" + (RegistrationFlow.AwvVisitId.HasValue ? RegistrationFlow.AwvVisitId.Value : 0);

                        ChatQuestionerAppUrl = string.Empty;
                    }
                    else if (questionnaireType == QuestionnaireType.ChatQuestionnaire)
                    {
                        ChatQuestionerAppUrl = settings.HraQuestionerAppUrl;
                        HraQuestionerAppUrl  = string.Empty;
                    }
                }
            }


            if (!IsPostBack)
            {
                if (RegistrationFlow != null && RegistrationFlow.IsRetest)
                {
                    RetestNo.Checked  = false;
                    RetestYes.Checked = true;
                }
                else
                {
                    RetestNo.Checked  = true;
                    RetestYes.Checked = false;
                }

                if (RegistrationFlow != null && RegistrationFlow.SingleTestOverride)
                {
                    SingleTestOverrideYes.Checked = true;
                    SingleTestOverrideNo.Checked  = false;
                }
                else
                {
                    SingleTestOverrideYes.Checked = false;
                    SingleTestOverrideNo.Checked  = true;
                }

                if (EventId != 0)
                {
                    // Hack: This is  done if the user hits back button on payment page, to get back to select package page.
                    if (SourceCodeId > 0 && !string.IsNullOrEmpty(SourceCode))
                    {
                        txtCouponCode.Text = SourceCode;
                    }
                    else if (RegistrationFlow != null)
                    {
                        txtCouponCode.Text = RegistrationFlow.CallSourceCode;
                    }

                    hfEventID.Value = EventId.ToString();

                    var eventCustomerQuestionAnswerService = IoC.Resolve <IEventCustomerQuestionAnswerService>();
                    hfQuestionAnsTestId.Value = eventCustomerQuestionAnswerService.GetQuestionAnswerTestIdString(CustomerId, EventId);
                }
                else
                {
                    const string message = "Sorry, Event detail not found. <a href=\"RegCustomerSearchEvent.aspx\">Click here</a> to search event again ";
                    DisplayErrorMessage(message);
                }

                if (CurrentProspectCustomer != null && CurrentProspectCustomer.Id > 0 && CurrentProspectCustomer.SourceCodeId != null && CurrentProspectCustomer.SourceCodeId.Value > 0)
                {
                    ISourceCodeRepository sourceCodeRepository = new SourceCodeRepository();
                    var sourceCode = sourceCodeRepository.GetSourceCodeById(CurrentProspectCustomer.SourceCodeId.Value);
                    if (sourceCode != null)
                    {
                        txtCouponCode.Text = sourceCode.CouponCode;
                    }
                }
                IEventPackageRepository packageRepository = new EventPackageRepository();
                var preApprovedPackageRepository          = IoC.Resolve <IPreApprovedPackageRepository>();

                if (AccountByEventId != null && AccountByEventId.AllowPreQualifiedTestOnly)
                {
                    long preApprovedPackageId = preApprovedPackageRepository.CheckPreApprovedPackages(CustomerId);
                    if (PackageId == 0 && preApprovedPackageId > 0 && (RegistrationFlow == null || !RegistrationFlow.SingleTestOverride) && (RegistrationFlow == null || string.IsNullOrEmpty(RegistrationFlow.DisqualifiedTest)))
                    {
                        var eventPackages = packageRepository.GetPackagesForEventByRole(EventId, (long)Roles.CallCenterRep);

                        if (!eventPackages.IsNullOrEmpty())
                        {
                            var preApprovedPackage = eventPackages.FirstOrDefault(x => x.PackageId == preApprovedPackageId);
                            if (preApprovedPackage != null)
                            {
                                PackageId = preApprovedPackage.PackageId;
                                TestIds   = preApprovedPackage.Tests.Select(t => t.TestId).ToList();
                            }
                        }
                    }
                }


                if (defaultBasePackage && PackageId == 0 && (RegistrationFlow == null || !RegistrationFlow.SingleTestOverride) && (RegistrationFlow == null || string.IsNullOrEmpty(RegistrationFlow.DisqualifiedTest)))
                {
                    var eventPackages = packageRepository.GetPackagesForEventByRole(EventId, (long)Roles.CallCenterRep)
                                        .OrderBy(p => p.Price);
                    if (!eventPackages.IsNullOrEmpty())
                    {
                        var lowestPricePackage = eventPackages.First();
                        PackageId = lowestPricePackage.PackageId;
                        TestIds   = lowestPricePackage.Tests.Select(t => t.TestId).ToList();
                    }
                }

                if (RegistrationFlow != null && !string.IsNullOrWhiteSpace(RegistrationFlow.DisqualifiedTest) && string.IsNullOrWhiteSpace(hfDisqualifedTest.Value))
                {
                    hfDisqualifedTest.Value = RegistrationFlow.DisqualifiedTest;
                }

                if (RegistrationFlow != null && !string.IsNullOrWhiteSpace(RegistrationFlow.QuestionIdAnswerTestId) && string.IsNullOrWhiteSpace(hfQuestionAnsTestId.Value))
                {
                    hfQuestionAnsTestId.Value = RegistrationFlow.QuestionIdAnswerTestId;
                }

                /*if (!DisqualifiedTestIds.IsNullOrEmpty())
                 * {
                 *  TestIds = TestIds.Where(x => !DisqualifiedTestIds.Contains(x)).ToList();
                 * }*/

                ItemCartControl.EventId   = EventId;
                ItemCartControl.RoleId    = (long)Roles.CallCenterRep;
                ItemCartControl.PackageId = PackageId;
                ItemCartControl.TestIds   = TestIds;

                if (Request.QueryString["Call"] != null && Request.QueryString["Call"] == "No")
                {
                    divCall.Style.Add(HtmlTextWriterStyle.Display, "none");
                    divCall.Style.Add(HtmlTextWriterStyle.Visibility, "hidden");
                }
                else
                {
                    var repository = new CallCenterCallRepository();
                    hfCallStartTime.Value = repository.GetCallStarttime(CallId);
                }

                if (Request.UrlReferrer != null)
                {
                    ViewState["UrlReferer"] = Request.UrlReferrer.PathAndQuery;
                }
            }
            if (Request.Params["__EVENTTARGET"] == "NextButton" && Request.Params["__EVENTARGUMENT"] == "Click")
            {
                NextButtonClick();
            }
        }