예제 #1
0
        private ActionResult _InboundSetup(string carrierId, string recordingId, Interview interview)
        {
#if NET472
            //Map carrier program for inbound calls for carriers having different programs with same parent carrier
            var carrierProgram = Customizable.GetCarrierProgram(carrierId);
            if (carrierProgram != null)
            {
                //Session["CarrierId"] = carrierProgram.carrierId;
                interview.RecordIdentifier.ProgramId = carrierProgram.programId;
                interview.RecordIdentifier.CarrierId = carrierProgram.carrierId;
            }

            else
            {
                //Session["CarrierId"] = int.Parse(carrierId); ;
                interview.RecordIdentifier.CarrierId = int.Parse(carrierId);
            }

            //Session["CarrierId"] = int.Parse(carrierId);
            //  Interview.Current.RecordIdentifier.CarrierId = int.Parse(carrierId);

            //TODO:: Interview.Current.IPAddress = Request.UserHostAddress;
            interview.TypeOfCall  = Interview.CallType.Inbound;
            interview.RecordingId = recordingId;
            interview.RecordIdentifier.GetCustomizationGroupMembership(interview.ApplicationTypeCd);

            return(RedirectToAction("StartModule", _QUESTIONS, new { moduleTypeCd = _GREETING_INBOUND_MODULE }));
#else
            return(Ok());
#endif
        }
예제 #2
0
        public async Task <ActionResult <Interview> > WebResponse(int carrierId, string userName)
        {
            var interview = Interview.GetInterview(carrierId, userName, "Web");

            interview.RecordIdentifier.CarrierId = carrierId;

            var remote = this.HttpContext.Connection.RemoteIpAddress;

            interview.IPAddress = remote.ToString();

            interview.TypeOfCall = Interview.CallType.WebResponse;

            return(interview);
        }
예제 #3
0
        public ActionResult Inbound(string carrierId, string recordingId, string qpcIdNum)
        {
            ActionResult inboundActionResult = null;
            //Session["CarrierId"] = carrierId;
            var interview = Interview.GetInterview(int.Parse(carrierId), "test", "Web");

            interview.StartDateTime       = DateTime.Now; //RR: Added to fix interview duration not stopping issue.
            interview.StartWrapUpDateTime = null;         //RR: Added to fix negative interview suration.
            if (!string.IsNullOrWhiteSpace(qpcIdNum))
            {
                inboundActionResult = _InboundSetupWithQpcIdNum(carrierId, recordingId, qpcIdNum, interview);
            }

            interview.AppHelper.logRunning("Start URL", Microsoft.AspNetCore.Http.Extensions.UriHelper.GetDisplayUrl(HttpContext.Request));

            return(inboundActionResult ?? _InboundSetup(carrierId, recordingId, interview));
        }
예제 #4
0
        private ActionResult _InboundSetupWithQpcIdNum(string carrierId, string recordingId, string qpcIdNum, Interview interview)
        {
            ActionResult result           = null;
            var          recordIdentifier = RecordIdentifier.FindByQpcIdNum(qpcIdNum, int.Parse(carrierId));

#if NET472
            if (recordIdentifier != null)
            {
                //Map carrier program for inbound calls for carriers having different programs with same parent carrier
                var carrierProgram = Customizable.GetCarrierProgram(carrierId.ToString());
                if (carrierProgram != null)
                {
                    recordIdentifier.CarrierId = carrierProgram.carrierId;
                }
                //Session["CarrierId"] = carrierProgram.carrierId;
                else
                {
                    recordIdentifier.CarrierId = int.Parse(carrierId);
                }
                //Session["CarrierId"] = int.Parse(carrierId);

                var remote = this.HttpContext.Connection.RemoteIpAddress;
                var local  = this.HttpContext.Connection.LocalIpAddress;
                interview.IPAddress   = remote.ToString();
                interview.RecordingId = recordingId;
                interview.BeginInterviewInbound(recordIdentifier);
                var objectNo = recordIdentifier.ObjectNumber; //with objNo updated in BeginInterviewInbound.  Gets reset in star

                LogicTree.StartModule(interview.RecordIdentifier, _GREETING_INBOUND_MODULE);
                var tree = LogicTree.StartNewTree("GreetingInboundTree", interview.InterviewId, interview.RecordIdentifier);
                interview.RecordIdentifier.ObjectNumber = objectNo;

                result = RedirectToAction("View", _QUESTIONS, new { sectionTreeGuid = tree.sectionTreeGuid, pageNodeTypeCd = interview.Policy.IsCCDone ? "GreetingCCDone" : "ChooseInsured", objectNumber = interview.RecordIdentifier.ObjectNumber });
            }
#endif
            return(result);
        }