示例#1
0
        public void SetSplitZip(Quote quote)
        {
            String zip = quote.AiisQuoteMaster.getCustomer().getZipCode1().ToString("00000");
            String key = "SplitZip_" + zip;

            using (var context = new AutoQuoteEntitie7())
            {
                var zips = from z in context.tbl_web_split_zips
                           where z.zip.Equals(zip)
                           orderby z.definition
                           select z;

                if (quote.AddInfo.Element("SplitZip") != null)
                {
                    quote.AddInfo.Element("SplitZip").Remove();
                }

                quote.AddInfo.Add(new XElement("SplitZip", new XAttribute("zip", zip)));

                foreach (var splitzip in zips)
                {
                    XElement city = new XElement("City");
                    city.Add(new XAttribute("territory", splitzip.terr));
                    city.Add(splitzip.definition);
                    quote.AddInfo.Element("SplitZip").Add(city);
                }
            }
        }
示例#2
0
        public void SetRiskState(Quote quote)
        {
            if (quote.AddInfo.Element("RiskState").Value == String.Empty)
            {
                if (quote.AiisQuoteMaster.getCustomer().getRiskState() > 0)
                {
                    quote.AddInfo.Element("RiskState").Value = ((StatesEnum)quote.AiisQuoteMaster.getCustomer().getRiskState()).ToString();
                }
                else if (quote.AiisQuoteMaster.getCustomer().getAddressStateCode() != String.Empty)
                {
                    quote.AddInfo.Element("RiskState").Value = quote.AiisQuoteMaster.getCustomer().getAddressStateCode().ToUpper();
                }
                else
                {
                    Int32 zip = (Int32)quote.AiisQuoteMaster.getCustomer().getZipCode1();

                    using (var context = new AutoQuoteEntitie7())
                    {
                        var states = from z in context.tbl_web_state_zip_ranges
                                     join s in context.states_master
                                     on z.state equals s.state_master
                                     where z.min_zip <= zip &&
                                     z.max_zip >= zip
                                     select s;

                        if (states.Count() > 0)
                        {
                            string state    = states.First().state_master;
                            int    number   = (int)states.First().state_number;
                            string redirect = states.First().quote_redirect;

                            if (!String.IsNullOrEmpty(redirect))
                            {
                                //ys SSR08401  4/2/2012 append to crredir.asp ?State=" & sStateCode & "&Zip=" & sZipCode
                                if (redirect.IndexOf("cmredir") > 0) //if ../csrrefer.asp?state=FL
                                {
                                    quote.AddInfo.Element("CurrentPage").Value = redirect + "?State=" + state + "&Zip=" + zip;
                                }
                            }
                            else
                            {
                                quote.AddInfo.Element("CurrentPage").Value = "Vehicles";
                            }

                            quote.AddInfo.Element("RiskState").Value = state;
                            quote.AiisQuoteMaster.getCustomer().setAddressStateCode(state);
                            quote.AiisQuoteMaster.getCustomer().setMasterStateNo(number);
                        }
                        else
                        {
                            quote.AddInfo.Element("CurrentPage").Value = "";
                        }
                    }
                }
            }
        }
示例#3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="year"></param>
 /// <param name="makeNo"></param>
 /// <returns></returns>
 public string GetModelByYearMake(string year, string makeNo, string usewebmodel)
 {
     //AutoQuoteEntitie7 Vehicle table only has 2014
     year = "2014";
     using (var context = new AutoQuoteEntitie7())
     {
         string makeNo4 = int.Parse(makeNo).ToString("0000");
         var    models  = from m in context.ModelYearMakes
                          join v in context.Vehicles on m.MODEL_ID equals v.VO_MODEL_ID
                          where m.YEAR == year && v.VO_MAKE_NO == makeNo4 && v.VO_OLD_FLAG != "Y" && v.VO_OLD_FLAG != "V"
                          select v;
         var distinctMModels = models.DistinctBy(x => x.VO_MODEL);
         if (usewebmodel == "1")
         {
             distinctMModels = models.DistinctBy(x => x.VO_WEB_MODEL);
         }
         string retstr = "";
         if (models.Count() == 0)
         {
             retstr = "<VINLookupReply><Valid>0</Valid><Message>No Model Found</Message></VINLookupReply>";
         }
         else
         {
             StringBuilder sb = new StringBuilder();
             sb.Append("<VINLookupReply><Valid>1</Valid><Message>OK</Message>");
             foreach (Vehicle veh in distinctMModels)
             {
                 sb.Append("<VehicleInfo>");
                 sb.Append("<Model>");
                 if (usewebmodel == "1")
                 {
                     sb.Append("<Name>" + SecurityElement.Escape(veh.VO_WEB_MODEL) + "</Name>");
                 }
                 else
                 {
                     sb.Append("<Name>" + SecurityElement.Escape(veh.VO_MODEL) + "</Name>");
                 }
                 sb.Append("</Model>");
                 sb.Append("</VehicleInfo>");
             }
             sb.Append("</VINLookupReply>");
             retstr = sb.ToString();
         }
         return(retstr);
     }
 }
示例#4
0
        public bool IsValidZip(int zipcode)
        {
            using (var context = new AutoQuoteEntitie7())
            {
                var states = from z in context.tbl_web_state_zip_ranges
                             join s in context.states_master
                             on z.state equals s.state_master
                             where z.min_zip <= zipcode &&
                             z.max_zip >= zipcode
                             select s;

                if (states.Count() > 0)
                {
                    return(true);
                }
            }
            return(false);
        }
示例#5
0
        //public void Recall(String quoteNumber)
        //{
        //    _aiisQuoteMaster.getQuoteInfo().setQuoteNo0(quoteNumber);

        //    if (!_sessionDAO.SelectSuspense(this))
        //    {
        //        _aiisQuoteMaster.retrieve();
        //    }
        //}

        public Boolean Load(String guid)
        {
            _addInfo.Element("Guid").Value = guid;
            //return _sessionDAO.SelectWebSession(this);
            using (var context = new AutoQuoteEntitie7())
            {
                Guid gGuid = Guid.Empty;
                Guid.TryParse(_addInfo.Element("Guid").Value, out gGuid);
                var websession = from s in context.tbl_web_session
                                 where s.guid.Equals(gGuid)
                                 select s;
                if (websession.Count() > 0)
                {
                    var rec = websession.First();
                    this.Deserialize(XElement.Parse(rec.guid.ToString()));
                    return(true);
                }
            }
            return(false);
        }
示例#6
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="year"></param>
        /// <returns></returns>
        public string GetMakeByYear(string year)
        {
            if (year.CompareTo("2014") > 0) // AutoQuoteEntitie7 loadedwith partial data.
            {
                year = "2014";
            }
            using (var context = new AutoQuoteEntitie7())
            {
                var makes = from m in context.YearMakes
                            where m.mk_year.Equals(year)
                            orderby m.MK_DESCRIP
                            select m;

                string retstr = "";
                if (makes.Count() == 0)
                {
                    retstr = "<VINLookupReply><Valid>0</Valid><Message>No make found</Message></VINLookupReply>";
                }
                else
                {
                    StringBuilder sb = new StringBuilder();
                    sb.Append("<VINLookupReply><Valid>1</Valid><Message>OK</Message>");
                    foreach (YearMake make in makes)
                    {
                        sb.Append("<VehicleInfo>");
                        sb.Append("<Make>");
                        sb.Append("<Name>" + make.MK_DESCRIP + "</Name>");
                        sb.Append("<MakeNumber>" + make.MK_NUMBER_VER + "</MakeNumber>");
                        sb.Append("</Make>");
                        sb.Append("</VehicleInfo>");
                    }
                    sb.Append("</VINLookupReply>");
                    retstr = sb.ToString();
                }
                return(retstr);
            }
        }
示例#7
0
        public void Save()
        {
            //_sessionDAO.InsertUpdateWebSession(this);
            using (var context = new AutoQuoteEntitie7())
            {
                Guid guid = Guid.Empty;
                Guid.TryParse(_addInfo.Element("Guid").Value, out guid);
                var websession = from s in context.tbl_web_session
                                 where s.guid.Equals(guid)
                                 select s;
                byte iDnq_template = 0;
                byte.TryParse(_addInfo.Element("DNQ").Element("Template").Value, out iDnq_template);
                byte iDnq_reason = 0;
                byte.TryParse(_addInfo.Element("DNQ").Element("Reason").Value, out iDnq_reason);
                byte iEmailSent = 0;
                byte.TryParse(_addInfo.Element("DNQ").Element("EmailSent").Value, out iEmailSent);
                int iCTID = 0;
                int.TryParse(_addInfo.Element("ClickThruPartnerInfo").Element("CTID").Value, out iCTID);

                if (websession.Count() == 0)
                {
                    context.tbl_web_session.Add(new tbl_web_session
                    {
                        guid                 = Guid.Parse(_addInfo.Element("Guid").Value),
                        drc_xml              = this.Serialize().ToString(SaveOptions.DisableFormatting),
                        current_page         = _addInfo.Element("CurrentPage").Value,
                        email                = _aiisQuoteMaster.getCustomer().getEMailAddress(),
                        err_count            = (byte)_aiisQuoteMaster.getGmr().getGmrMessageRec().count(),
                        err_details          = getQuoteErrorDetails(this),
                        knockout             = _addInfo.Element("DNQ").Element("Knockout").Value,
                        dnq_template         = iDnq_template,
                        dnq_reason           = iDnq_reason,
                        dnq_description      = _addInfo.Element("DNQ").Element("Description").Value,
                        dnq_email_sent       = iEmailSent,
                        quote_errmsg         = getQuoteErrorDetails(this),
                        csr_queue            = _addInfo.Element("CSRQueue").Value,
                        clickthru_partner_id = iCTID,
                        clickthru_custom     = _addInfo.Element("ClickThruPartnerInfo").Element("Custom").Value,
                        keycode              = _addInfo.Element("ClickThruPartnerInfo").Element("MarketKeyCode").Value == "" ? _aiisQuoteMaster.getCustomer().getMarketKeyCode() : _addInfo.Element("ClickThruPartnerInfo").Element("MarketKeyCode").Value,
                        amend_status         = _aiisQuoteMaster.getQuoteInfo().getQuoteTransType(),
                        amf_account_no       = _addInfo.Element("ClickThruPartnerInfo").Element("AMFAccountNumber").Value == "" ? (int)_aiisQuoteMaster.getPolicyInfo().getAmfAccountNo() : int.Parse(_addInfo.Element("ClickThruPartnerInfo").Element("AMFAccountNumber").Value),
                        quote_number         = _aiisQuoteMaster.getQuoteInfo().getQuoteNo0(),
                        state                = _addInfo.Element("RiskState").Value.ToUpper() == "" ? _aiisQuoteMaster.getCustomer().getAddressStateCode() : _addInfo.Element("RiskState").Value.ToUpper(),
                        orig_app             = _addInfo.Element("Application").Value,
                        keywords             = _addInfo.Element("ClickThruPartnerInfo").Element("Keywords").Value,
                        last_save            = DateTime.Now,
                        first_save           = DateTime.Now,
                        uw_comp              = 0,
                        referer_id           = 888
                    });
                    context.SaveChanges();
                }
                else if (websession.Count() == 1)
                {
                    var rec = websession.First();
                    rec.guid                 = Guid.Parse(_addInfo.Element("Guid").Value);
                    rec.drc_xml              = this.Serialize().ToString(SaveOptions.DisableFormatting);
                    rec.current_page         = _addInfo.Element("CurrentPage").Value;
                    rec.email                = _aiisQuoteMaster.getCustomer().getEMailAddress();
                    rec.err_count            = (byte)_aiisQuoteMaster.getGmr().getGmrMessageRec().count();
                    rec.err_details          = getQuoteErrorDetails(this);
                    rec.knockout             = _addInfo.Element("DNQ").Element("Knockout").Value;
                    rec.dnq_template         = iDnq_template;
                    rec.dnq_reason           = iDnq_reason;
                    rec.dnq_description      = _addInfo.Element("DNQ").Element("Description").Value;
                    rec.dnq_email_sent       = iEmailSent;
                    rec.quote_errmsg         = getQuoteErrorDetails(this);
                    rec.csr_queue            = _addInfo.Element("CSRQueue").Value;
                    rec.clickthru_partner_id = iCTID;
                    rec.clickthru_custom     = _addInfo.Element("ClickThruPartnerInfo").Element("Custom").Value;
                    rec.keycode              = _addInfo.Element("ClickThruPartnerInfo").Element("MarketKeyCode").Value == "" ? _aiisQuoteMaster.getCustomer().getMarketKeyCode() : _addInfo.Element("ClickThruPartnerInfo").Element("MarketKeyCode").Value;
                    rec.amend_status         = _aiisQuoteMaster.getQuoteInfo().getQuoteTransType();
                    rec.amf_account_no       = _addInfo.Element("ClickThruPartnerInfo").Element("AMFAccountNumber").Value == "" ? (int)_aiisQuoteMaster.getPolicyInfo().getAmfAccountNo() : int.Parse(_addInfo.Element("ClickThruPartnerInfo").Element("AMFAccountNumber").Value);
                    rec.quote_number         = _aiisQuoteMaster.getQuoteInfo().getQuoteNo0();
                    rec.state                = _addInfo.Element("RiskState").Value.ToUpper() == "" ? _aiisQuoteMaster.getCustomer().getAddressStateCode() : _addInfo.Element("RiskState").Value.ToUpper();
                    rec.orig_app             = _addInfo.Element("Application").Value;
                    rec.keywords             = _addInfo.Element("ClickThruPartnerInfo").Element("Keywords").Value;
                    rec.last_save            = DateTime.Now;
                    context.SaveChanges();
                }
                else
                {
                    //error
                }
            }
        }
示例#8
0
        public string GetVehicleYearMakeModel(string vin)
        {
            using (var context = new AutoQuoteEntitie7())
            {
                string retstr = "";
                if (vin.Length < 10)
                {
                    return("<VINLookupReply><Valid>0</Valid><Message>No Model Found</Message></VINLookupReply>");
                }

                string makeCode = vin.Trim().Substring(0, 3);
                string vinNo    = System.Web.HttpUtility.HtmlDecode(vin).Trim().Substring(3, 7);
                var    vehicles = from v in context.Vehicles
                                  where v.VO_MAKE_CODE == makeCode && v.VO_VIN_NO == vinNo
                                  select v;

                if (vehicles.Count() == 0)
                {
                    retstr = "<VINLookupReply><Valid>0</Valid><Message>No Model Found</Message></VINLookupReply>";
                }
                else
                {
                    StringBuilder sb = new StringBuilder();
                    sb.Append("<VINLookupReply><Valid>1</Valid><Message>OK</Message>");
                    var veh = vehicles.First();
                    sb.Append("<VehicleInfo>");
                    sb.Append("<Vehicle>");

                    int iMakeNo = 0;
                    int.TryParse(veh.VO_MAKE_NO, out iMakeNo);
                    string mkNumberVer = iMakeNo.ToString();
                    var    makes       = from m in context.YearMakes
                                         where m.MK_NUMBER_VER == mkNumberVer
                                         select m;
                    if (makes.Count() > 0)
                    {
                        var    make            = makes.First();
                        string makeDescription = make.MK_DESCRIP.Trim();
                        sb.Append("<Make>" + makeDescription + "</Make>");
                    }

                    string webModel = veh.VO_WEB_MODEL.Trim();
                    sb.Append("<WebModel>" + webModel + "</WebModel>");

                    string model = veh.VO_MODEL.Trim();
                    sb.Append("<Model>" + model + "</Model>");

                    string bod = veh.VO_BODY.Trim();
                    sb.Append("<Body1>" + bod + "</Body1>");

                    string sty = veh.VO_DESCRIPTION.Trim();
                    sb.Append("<Style>" + sty + "</Style>");

                    string modelId = veh.VO_MODEL_ID.Trim();
                    sb.Append("<ModelID>" + modelId + "</ModelID>");

                    string modelVIN = veh.VO_MAKE_CODE.Trim() + veh.VO_VIN_NO.Trim();
                    modelVIN = SecurityElement.Escape(modelVIN);
                    sb.Append("<ModelVIN>" + modelVIN + "</ModelVIN>");

                    string vehType = veh.VO_VEH_TYPE.ToString();
                    sb.Append("<VehicleType>" + vehType + "</VehicleType>");

                    string voSymb = veh.VO_SYMBOL.ToString();
                    //jrenz 10/04/2006 add Symbol to drop down
                    string uiString = bod + " " + sty + " (Symb " + voSymb.PadLeft(3) + ", " + modelVIN + ")";

                    if (uiString.IndexOf("MAN") > 0)
                    {
                        uiString = uiString.Replace("MAN", "") + " M";
                    }
                    if (uiString.IndexOf("AUTO") > 0)
                    {
                        uiString = uiString.Replace("AUTO", "") + " A";
                    }

                    while (uiString.IndexOf("  ") > 0)
                    {
                        uiString = uiString.Replace("  ", " ");
                    }

                    sb.Append("<Symbol>" + uiString + "</Symbol>");

                    string voSymbLiab = veh.VO_SYMBOL_5.ToString();
                    sb.Append("<SymbolLiab>" + voSymbLiab + "</SymbolLiab>");

                    string voSymbComp = veh.VO_SYMBOL_6.ToString();
                    sb.Append("<SymbolComp>" + voSymbComp + "</SymbolComp>");

                    string voSymbColl = veh.VO_SYMBOL_7.ToString();
                    sb.Append("<SymbolColl>" + voSymbColl + "</SymbolColl>");

                    string voSymbPip = veh.VO_SYMBOL_8.ToString();
                    sb.Append("<SymbolPip>" + voSymbPip + "</SymbolPip>");

                    //SSR6871 PRD18507 WLU 9/27/2011
                    string voSymbIsoComp = veh.VO_SYMBOL_2.ToString();
                    sb.Append("<SymbolIsoComp>" + voSymbIsoComp + "</SymbolIsoComp>");

                    string voSymbIsoColl = veh.VO_SYMBOL_3.ToString();
                    sb.Append("<SymbolIsoColl>" + voSymbIsoColl + "</SymbolIsoColl>");

                    string voAdjust = veh.VO_ADJUST_TO_MAKE_MODEL.ToString();
                    sb.Append("<AdjToMakeModel>" + voAdjust + "</AdjToMakeModel>");

                    string voSafeVeh = veh.VO_SAFE_VEHICLE.ToString();
                    sb.Append("<SafeVehicle>" + voSafeVeh + "</SafeVehicle>");

                    string voAntiLock = veh.VO_ANTI_LOCK_BRAKE.ToString();
                    sb.Append("<AntiLock>" + voAntiLock + "</AntiLock>");

                    string voRestraint = veh.VO_RESTRAINT.ToString();
                    sb.Append("<Restraint>" + voRestraint + "</Restraint>");

                    string voAirBag = veh.VO_AIR_BAG.ToString();
                    sb.Append("<AirBag>" + voAirBag + "</AirBag>");

                    string voExposure = veh.VO_EXPOSURE.ToString();
                    sb.Append("<Exposure>" + voExposure + "</Exposure>");

                    //jrenz #4353 11/28/2006
                    string voYearMakeModel = veh.vo_year_make_model.Trim();
                    sb.Append("<YearMakeModel>" + voYearMakeModel + "</YearMakeModel>");

                    //jrenz #PRD01006 02/27/2007
                    string voHiPerfInd = veh.VO_PERFORMANCE.ToString();
                    sb.Append("<HiPerfInd>" + voHiPerfInd + "</HiPerfInd>");

                    sb.Append("</Vehicle>");
                    sb.Append("</VehicleInfo>");
                    sb.Append("</VINLookupReply>");
                    retstr = sb.ToString();
                }
                return(retstr);
            }
        }
示例#9
0
        public string GetTrimByYearMakeModel(string year, string makeNo, string model)
        {
            //AutoQuoteEntitie7 Vehicle table only has 2014
            year = "2014";

            using (var context = new AutoQuoteEntitie7())
            {
                string makeNo4  = int.Parse(makeNo).ToString("0000");
                var    vehicles = from v in context.Vehicles
                                  where v.VO_YEAR == year && v.VO_MAKE_NO == makeNo4 && v.VO_MODEL == model && v.VO_OLD_FLAG != "Y" && v.VO_OLD_FLAG != "V"
                                  group v by v.PRIME_KEY into vehGroups
                                  select vehGroups;

                string retstr = "";
                if (vehicles.Count() == 0)
                {
                    retstr = "<VINLookupReply><Valid>0</Valid><Message>No Model Found</Message></VINLookupReply>";
                }
                else
                {
                    StringBuilder sb = new StringBuilder();
                    sb.Append("<VINLookupReply><Valid>1</Valid><Message>OK</Message>");
                    foreach (var group in vehicles)
                    {
                        foreach (var veh in group)
                        {
                            sb.Append("<VehicleInfo>");
                            sb.Append("<Vehicle>");

                            string bod = veh.VO_BODY.Trim();
                            sb.Append("<Body1>" + bod + "</Body1>");

                            string sty = veh.VO_DESCRIPTION.Trim();
                            sb.Append("<Style>" + sty + "</Style>");

                            string modelId = veh.VO_MODEL_ID.Trim();
                            sb.Append("<ModelID>" + modelId + "</ModelID>");

                            string modelVIN = veh.VO_MAKE_CODE.Trim() + veh.VO_VIN_NO.Trim();
                            modelVIN = SecurityElement.Escape(modelVIN);
                            sb.Append("<ModelVIN>" + modelVIN + "</ModelVIN>");

                            string vehType = veh.VO_VEH_TYPE.ToString();
                            sb.Append("<VehicleType>" + vehType + "</VehicleType>");

                            string voPerf = veh.VO_PERFORMANCE.ToString();
                            sb.Append("<Performance>" + voPerf + "</Performance>");

                            string voSymb = veh.VO_SYMBOL.ToString();
                            //jrenz 10/04/2006 add Symbol to drop down
                            string uiString = bod + " " + sty + " (Symb " + voSymb.PadLeft(3) + ", " + modelVIN + ")";

                            if (uiString.IndexOf("MAN") > 0)
                            {
                                uiString = uiString.Replace("MAN", "") + " M";
                            }
                            if (uiString.IndexOf("AUTO") > 0)
                            {
                                uiString = uiString.Replace("AUTO", "") + " A";
                            }

                            while (uiString.IndexOf("  ") > 0)
                            {
                                uiString = uiString.Replace("  ", " ");
                            }

                            sb.Append("<Symbol>" + uiString + "</Symbol>");

                            string voSymbLiab = veh.VO_SYMBOL_5.ToString();
                            sb.Append("<SymbolLiab>" + voSymbLiab + "</SymbolLiab>");

                            string voSymbComp = veh.VO_SYMBOL_6.ToString();
                            sb.Append("<SymbolComp>" + voSymbComp + "</SymbolComp>");

                            string voSymbColl = veh.VO_SYMBOL_7.ToString();
                            sb.Append("<SymbolColl>" + voSymbColl + "</SymbolColl>");

                            string voSymbPip = veh.VO_SYMBOL_8.ToString();
                            sb.Append("<SymbolPip>" + voSymbPip + "</SymbolPip>");

                            //SSR6871 PRD18507 WLU 9/27/2011
                            string voSymbIsoComp = veh.VO_SYMBOL_2.ToString();
                            sb.Append("<SymbolIsoComp>" + voSymbIsoComp + "</SymbolIsoComp>");

                            string voSymbIsoColl = veh.VO_SYMBOL_3.ToString();
                            sb.Append("<SymbolIsoColl>" + voSymbIsoColl + "</SymbolIsoColl>");

                            string voAdjust = veh.VO_ADJUST_TO_MAKE_MODEL.Trim();
                            sb.Append("<AdjToMakeModel>" + voAdjust + "</AdjToMakeModel>");

                            string voSafeVeh = veh.VO_SAFE_VEHICLE.ToString();
                            sb.Append("<SafeVehicle>" + voSafeVeh + "</SafeVehicle>");

                            string voExposure = veh.VO_EXPOSURE.ToString();
                            sb.Append("<Exposure>" + voExposure + "</Exposure>");

                            //jrenz #4353 11/28/2006
                            string voYearMakeModel = veh.vo_year_make_model.Trim();
                            sb.Append("<YearMakeModel>" + voYearMakeModel + "</YearMakeModel>");

                            //jrenz #PRD01006 02/27/2007
                            string voHiPerfInd = veh.VO_PERFORMANCE.ToString();
                            sb.Append("<HiPerfInd>" + voHiPerfInd + "</HiPerfInd>");

                            sb.Append("</Vehicle>");
                            sb.Append("</VehicleInfo>");
                        }
                    }
                    sb.Append("</VINLookupReply>");
                    retstr = sb.ToString();
                }
                return(retstr);
            }
        }
示例#10
0
        public string GetVehicleByYearMakeModel(string year, string makeNo, string model, string webmodel)
        {
            //    sSql = "SELECT DISTINCT VO_MODEL_ID, VO_BODY, VO_DESCRIPTION, VO_MAKE_CODE, VO_VIN_NO, VO_VEH_TYPE, VO_PERFORMANCE, VO_SYMBOL, VO_SYMBOL_2, VO_SYMBOL_3, VO_SYMBOL_5, VO_SYMBOL_6, VO_SYMBOL_7, VO_SYMBOL_8, VO_ADJUST_TO_MAKE_MODEL, VO_SAFE_VEHICLE, VO_EXPOSURE, vo_year_make_model, VO_SYMBOL_9   " +
            //        "FROM " + Environmental.getDRCDatabase() + ".dbo.D014900 b   " +
            //        "WHERE PRIME_KEY IN ( " +
            //        "SELECT MAX(PRIME_KEY) FROM " + Environmental.getDRCDatabase() + ".dbo.D014900 C " +
            //        " WHERE VO_MD_YEAR = @YEAR AND   " +
            //        "       VO_MAKE_NO = @MAKENO AND   " +
            //        "       VO_WEB_MODEL = @MODEL AND   " +
            //        "   VO_OLD_FLAG not in('Y','V'))";
            using (var context = new AutoQuoteEntitie7())
            {
                string makeNo4  = int.Parse(makeNo).ToString("0000");
                var    vehicles = (from v in context.Vehicles
                                   where v.VO_YEAR == year && v.VO_MAKE_NO == makeNo4 && v.VO_WEB_MODEL == model.Trim() && v.VO_OLD_FLAG != "Y" && v.VO_OLD_FLAG != "V"
                                   select new {
                    VO_MODEL_ID = v.VO_MODEL_ID,
                    VO_BODY = v.VO_BODY,
                    VO_DESCRIPTION = v.VO_DESCRIPTION,
                    VO_MAKE_CODE = v.VO_MAKE_CODE,
                    VO_VIN_NO = v.VO_VIN_NO,
                    VO_VEH_TYPE = v.VO_VEH_TYPE,
                    VO_PERFORMANCE = v.VO_PERFORMANCE,
                    VO_SYMBOL = v.VO_SYMBOL,
                    VO_SYMBOL_2 = v.VO_SYMBOL_2,
                    VO_SYMBOL_3 = v.VO_SYMBOL_3,
                    VO_SYMBOL_5 = v.VO_SYMBOL_5,
                    VO_SYMBOL_6 = v.VO_SYMBOL_6,
                    VO_SYMBOL_7 = v.VO_SYMBOL_7,
                    VO_SYMBOL_8 = v.VO_SYMBOL_8,
                    VO_ADJUST_TO_MAKE_MODEL = v.VO_SYMBOL_8,
                    VO_SAFE_VEHICLE = v.VO_SAFE_VEHICLE,
                    VO_EXPOSURE = v.VO_EXPOSURE,
                    vo_year_make_model = v.vo_year_make_model,
                    VO_SYMBOL_9 = v.VO_SYMBOL_9
                }).Distinct();

                string retstr = "";
                if (vehicles.Count() == 0)
                {
                    retstr = "<VINLookupReply><Valid>0</Valid><Message>No Model Found</Message></VINLookupReply>";
                }
                else
                {
                    StringBuilder sb = new StringBuilder();
                    sb.Append("<VINLookupReply><Valid>1</Valid><Message>OK</Message>");
                    var veh = vehicles.First();
                    sb.Append("<VehicleInfo>");
                    sb.Append("<Vehicle>");

                    string bod = veh.VO_BODY.Trim();
                    sb.Append("<Body>" + bod + "</Body>");

                    string sty = veh.VO_DESCRIPTION.Trim();
                    sb.Append("<Style>" + sty + "</Style>");

                    string modelId = veh.VO_MODEL_ID.Trim();
                    sb.Append("<ModelID>" + modelId + "</ModelID>");

                    string modelVIN = veh.VO_MAKE_CODE.Trim() + veh.VO_VIN_NO.Trim();
                    modelVIN = SecurityElement.Escape(modelVIN);
                    sb.Append("<ModelVIN>" + modelVIN + "</ModelVIN>");

                    string vehType = veh.VO_VEH_TYPE.ToString();
                    sb.Append("<VehicleType>" + vehType + "</VehicleType>");

                    string voPerf = veh.VO_PERFORMANCE.ToString();
                    sb.Append("<Performance>" + voPerf + "</Performance>");

                    string voSymb = veh.VO_SYMBOL.ToString();
                    //jrenz 10/04/2006 add Symbol to drop down
                    string uiString = bod + " " + sty + " (Symb " + voSymb.PadLeft(3) + ", " + modelVIN + ")";

                    if (uiString.IndexOf("MAN") > 0)
                    {
                        uiString = uiString.Replace("MAN", "") + " M";
                    }
                    if (uiString.IndexOf("AUTO") > 0)
                    {
                        uiString = uiString.Replace("AUTO", "") + " A";
                    }

                    while (uiString.IndexOf("  ") > 0)
                    {
                        uiString = uiString.Replace("  ", " ");
                    }

                    sb.Append("<Symbol>" + uiString + "</Symbol>");

                    string voSymbLiab = veh.VO_SYMBOL_5.ToString();
                    sb.Append("<SymbolLiab>" + voSymbLiab + "</SymbolLiab>");

                    string voSymbComp = veh.VO_SYMBOL_6.ToString();
                    sb.Append("<SymbolComp>" + voSymbComp + "</SymbolComp>");

                    string voSymbColl = veh.VO_SYMBOL_7.ToString();
                    sb.Append("<SymbolColl>" + voSymbColl + "</SymbolColl>");

                    string voSymbPip = veh.VO_SYMBOL_8.ToString();
                    sb.Append("<SymbolPip>" + voSymbPip + "</SymbolPip>");

                    //SSR6871 PRD18507 WLU 9/27/2011
                    string voSymbIsoComp = veh.VO_SYMBOL_2.ToString();
                    sb.Append("<SymbolIsoComp>" + voSymbIsoComp + "</SymbolIsoComp>");

                    string voSymbIsoColl = veh.VO_SYMBOL_3.ToString();
                    sb.Append("<SymbolIsoColl>" + voSymbIsoColl + "</SymbolIsoColl>");

                    string voAdjust = veh.VO_ADJUST_TO_MAKE_MODEL.ToString();
                    sb.Append("<AdjToMakeModel>" + voAdjust + "</AdjToMakeModel>");

                    string voSafeVeh = veh.VO_SAFE_VEHICLE.ToString();
                    sb.Append("<SafeVehicle>" + voSafeVeh + "</SafeVehicle>");

                    string voExposure = veh.VO_EXPOSURE.ToString();
                    sb.Append("<Exposure>" + voExposure + "</Exposure>");

                    //jrenz #4353 11/28/2006
                    string voYearMakeModel = veh.vo_year_make_model.Trim();
                    sb.Append("<YearMakeModel>" + voYearMakeModel + "</YearMakeModel>");

                    //jrenz #PRD01006 02/27/2007
                    string voHiPerfInd = veh.VO_PERFORMANCE.ToString();
                    sb.Append("<HiPerfInd>" + voHiPerfInd + "</HiPerfInd>");

                    sb.Append("</Vehicle>");
                    sb.Append("</VehicleInfo>");
                    sb.Append("</VINLookupReply>");
                    retstr = sb.ToString();
                }
                return(retstr);
            }
        }
示例#11
0
        public void SetDiscounts(Quote quote)
        {
            try
            {
                string state = quote.AiisQuoteMaster.getCustomer().getAddressStateCode();
                using (var context = new AutoQuoteEntitie7())
                {
                    var discounts = from d in context.states_master
                                    where d.state_master.Equals(state)
                                    select d;
                    if (discounts.Count() == 1)
                    {
                        var   dis                      = discounts.First();
                        Int32 esigDiscount             = (Int32)dis.esig_discount;
                        Int32 webDiscount              = dis.is_webDisc ? 1 : 0;
                        Int32 passiveRestraintDiscount = 1; //subsystems
                        Int32 instantRenters           = dis.allow_ho_instant_renter ? 1 : 0;
                        Int32 embeddedRenters          = dis.allow_affinity_embedded_renter ? 1 : 0;
                        Int32 homeownersDiscount       = dis.is_homeownerDisc ? 1 : 0;
                        Int32 rentersDiscount          = dis.allow_ho_instant_renter ? 1 : 0;
                        Int32 groupDiscount            = 0;
                        //select top 1 gr_discount_level from dgrpdisc
                        //where gr_state = @state and gr_group = @group and gr_release_date > 0 and gr_new_eff_date_begin <= convert(char(8), @effdate, 112) and (gr_new_eff_date_end > convert(char(8), @effdate, 112) or gr_new_eff_date_end = 0)

                        Int32 groupNumber = 0;
                        if (quote.AiisQuoteMaster.getPolicyInfo().getAffinityNo() > 0)
                        {
                            groupNumber = (Int32)quote.AiisQuoteMaster.getPolicyInfo().getAffinityNo();
                        }
                        else if (quote.AiisQuoteMaster.getPolicyInfo().getAssocNo() > 0)
                        {
                            groupNumber = (Int32)quote.AiisQuoteMaster.getPolicyInfo().getAssocNo();
                        }
                        else if (quote.AiisQuoteMaster.getPolicyInfo().getAlumniNo() > 0)
                        {
                            groupNumber = (Int32)quote.AiisQuoteMaster.getPolicyInfo().getAlumniNo();
                        }
                        if (quote.AddInfo.Element("Discounts") != null)
                        {
                            quote.AddInfo.Element("Discounts").Remove();
                        }

                        quote.AddInfo.Add(new XElement("Discounts"));
                        quote.AddInfo.Element("Discounts").Add(new XElement("Esignature", esigDiscount));
                        quote.AddInfo.Element("Discounts").Add(new XElement("Web", webDiscount));
                        quote.AddInfo.Element("Discounts").Add(new XElement("PassiveRestraint", passiveRestraintDiscount));
                        quote.AddInfo.Element("Discounts").Add(new XElement("Renters", rentersDiscount));
                        quote.AddInfo.Element("Discounts").Add(new XElement("Homeowners", homeownersDiscount));
                        quote.AddInfo.Element("Discounts").Add(new XElement("Group", groupDiscount));
                        //wsun 7409 returnandsave discount 11/10/2011
                        quote.AiisQuoteMaster.getPolicyInfo().setComeBackDis(0);
                        quote.AiisQuoteMaster.getPolicyInfo().setWelcomeBackDis(0);
                        if (quote.AddInfo.Element("ReturnDiscount").Value.ToLower().Equals("ccc"))
                        {
                            if (IsQualifyReturnAndSaveDiscount(quote, ReturnAndSaveDiscount.ComeBackandSave))
                            {
                                quote.AiisQuoteMaster.getPolicyInfo().setComeBackDis(1);
                                quote.AddInfo.Element("Discounts").Add(new XElement("ComeBackDis", 1));
                            }
                        }
                        if (quote.AddInfo.Element("ReturnDiscount").Value.ToLower().Equals("www"))
                        {
                            if (IsQualifyReturnAndSaveDiscount(quote, ReturnAndSaveDiscount.WelcomeBack))
                            {
                                quote.AiisQuoteMaster.getPolicyInfo().setWelcomeBackDis(1);
                                quote.AddInfo.Element("Discounts").Add(new XElement("WelcomeBackDis", 1));
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                LogUtility.LogError(ex.Message, "AutoQuoteFlow", "BL>Sessionservices", "SetDiscounts");
            }
        }
示例#12
0
        public void SetDefaults(Quote quote)
        {
            DateTime date = DateTime.Now;

            //fcaglar SSR07102 02-10-2011 - CA new quote flow
            //This is run only for initial load. SetRiskState already sets the state name
            //however, it is called after this method is called.
            string state        = string.Empty;
            bool   isVibleState = true;
            //SSR6873 WLU 6/5/2012
            bool isVibe6MOState = false;

            if (quote.AddInfo.Element("RiskState").Value == String.Empty)
            {
                Int32 zip = (Int32)quote.AiisQuoteMaster.getCustomer().getZipCode1();
                using (var context = new AutoQuoteEntitie7())
                {
                    var states = from z in context.tbl_web_state_zip_ranges
                                 join s in context.states_master
                                 on z.state equals s.state_master
                                 where z.min_zip <= zip &&
                                 z.max_zip >= zip
                                 select s;

                    if (states.Count() > 0)
                    {
                        state          = states.First().state_master;
                        isVibleState   = states.First().is_vibe_state;
                        isVibe6MOState = states.First().is_vibe_6mo_state;
                    }
                }
            }


            quote.AiisQuoteMaster.getQuoteInfo().setQuotePrintTest(2);
            quote.AiisQuoteMaster.getQuoteInfo().setResponseNo(2);
            quote.AiisQuoteMaster.getQuoteInfo().setQuoteTransType(0);
            quote.AiisQuoteMaster.getQuoteInfo().setOrigQuoteDate((DateTime)date);
            quote.AiisQuoteMaster.getQuoteInfo().setPolicyEffDate(((DateTime)date).AddDays(1));

            quote.AiisQuoteMaster.getCustomer().setMarketSourceAdq(1);

            if (isVibleState)
            {
                quote.AiisQuoteMaster.getCustomer().setProductVersion(4);
                quote.AiisQuoteMaster.getCustomer().setMarketSourceAdq(1);
                quote.AiisQuoteMaster.getCustomer().setSpecialCorresNo(7);
            }
            else
            {
                quote.AiisQuoteMaster.getCustomer().setProductVersion(2);
                quote.AiisQuoteMaster.getCustomer().setSpecialCorresNo(0);
            }

            quote.AiisQuoteMaster.getCustomer().setContactTypeNo(4);

            quote.AiisQuoteMaster.getPolicyInfo().setUserIdNo(888);
            quote.AiisQuoteMaster.getPolicyInfo().setLocationNo(88);
            quote.AiisQuoteMaster.getPolicyInfo().setChannelMethod(1);

            quote.AiisQuoteMaster.getPolicyInfo().setVersionDate((DateTime)date);
            quote.AiisQuoteMaster.getPolicyInfo().setQuoteEffDate(((DateTime)date).AddDays(1));
            quote.AiisQuoteMaster.getPolicyInfo().setIssueDate((DateTime)date);

            //PRD13423 wsun 8/25/2010, policyInfo.ipEffDate should be same as systemdate
            quote.AiisQuoteMaster.getPolicyInfo().setEffDate((DateTime)date);

            quote.AiisQuoteMaster.getPolicyInfo().setExpDate(((DateTime)date).AddDays(1));
            quote.AiisQuoteMaster.getPolicyInfo().setMethodCvForms(1);

            //fcaglar SSR07102 02-10-2011 - CA new quote flow
            //if (state == "CA")
            if (!isVibleState)
            {
                quote.AiisQuoteMaster.getPolicyInfo().setTermFactor(0.5);
                quote.AiisQuoteMaster.getPolicyInfo().setPrefPayLevel(0);
            }
            else
            {
                //SSR6873 WLU 6/5/2012
                if (isVibe6MOState)
                {
                    quote.AiisQuoteMaster.getPolicyInfo().setTermFactor(0.5);
                }
                else
                {
                    quote.AiisQuoteMaster.getPolicyInfo().setTermFactor(1);
                }
                quote.AiisQuoteMaster.getPolicyInfo().setPrefPayLevel(7);
            }

            quote.AiisQuoteMaster.getPolicyInfo().setRateAdjTerm(12);
            quote.AiisQuoteMaster.getPolicyInfo().setProductCode(1);
        }
示例#13
0
        public XElement Load(XElement request)
        {
            Quote                   quote              = new Quote();
            QuestionPlugin          questions          = new QuestionPlugin();
            DiscountPlugin          discounts          = new DiscountPlugin();
            AccidentViolationPlugin accidentViolations = new AccidentViolationPlugin();

            if (request.Element("ZipCode") != null && request.Element("ZipCode").Value != String.Empty)
            {
                quote.AiisQuoteMaster.getCustomer().setZipCode1(Int32.Parse(request.Element("ZipCode").Value));
            }

            //Boolean newQuote = false;
            XElement response = new XElement("Response");
            //bool isRecall = false;
            string refQuote = "";


            if (request.Element("Guid") != null && request.Element("Guid").Value != String.Empty)
            {
                quote.AddInfo.Element("Guid").Value = request.Element("Guid").Value;
                using (var context = new AutoQuoteEntitie7())
                {
                    Guid guid = Guid.Empty;
                    Guid.TryParse(request.Element("Guid").Value, out guid);
                    var session = from s in context.tbl_web_session
                                  where s.guid.Equals(guid)
                                  select s;
                    if (session.Count() == 1)
                    {
                        //newQuote = false;
                        quote.Deserialize(XElement.Parse(session.First().drc_xml));
                    }
                    else
                    {
                        //newQuote = true;
                        SetDefaults(quote);
                    }
                }
                if (quote.AiisQuoteMaster.getQuoteInfo().getQuoteNo0() == "" && request.Element("ClickThruPartnerInfo") != null &&
                    request.Element("ClickThruPartnerInfo").Element("CTID") != null &&
                    !String.IsNullOrEmpty(request.Element("ClickThruPartnerInfo").Element("CTID").Value))
                {
                    quote.AddInfo.Element("ClickThruPartnerInfo").ReplaceWith(request.Element("ClickThruPartnerInfo"));
                }
                else
                {
                    //if (string.IsNullOrEmpty(request.Element("ClickThruPartnerInfo").Element("CTID").Value) && request.Element("Referral") != null)
                    //{
                    //    if (request.Element("Referral").Element("ReferrerQuoteNo") != null && request.Element("Referral").Element("ReferrerQuoteNo").Value != String.Empty)
                    //        refQuote = request.Element("Referral").Element("ReferrerQuoteNo").Value;
                    //}
                }
            }
            else
            {
                //newQuote = true;
                SetNewQuoteRequestValue(quote, request);
                SetDefaults(quote);
            }

            //tc #8250 12-27-2011 - Redirect
            if (request.Element("Redirect") != null && request.Element("Redirect").Value != "")
            {
                if (quote.AddInfo.Element("Redirect") == null)
                {
                    quote.AddInfo.Element("Redirect").Add(new XElement("Redirect", request.Element("Redirect").Value));
                }
                else
                {
                    quote.AddInfo.Element("Redirect").Value = request.Element("Redirect").Value;
                }
            }

            //ysang 7123 3/18/2011 for new landing pages: surehits and noSurehits
            if (request.Element("ClickThruPartnerInfo") != null && request.Element("ClickThruPartnerInfo").Element("RenterAndAuto") != null)
            {
                if (request.Element("ClickThruPartnerInfo").Element("RenterAndAuto").Value != "")
                {
                    if (quote.AddInfo.Element("ClickThruPartnerInfo").Element("RenterAndAuto") == null)
                    {
                        quote.AddInfo.Element("ClickThruPartnerInfo").Add(new XElement("RenterAndAuto", request.Element("ClickThruPartnerInfo").Element("RenterAndAuto").Value));
                    }
                    else
                    {
                        quote.AddInfo.Element("ClickThruPartnerInfo").Element("RenterAndAuto").Value = request.Element("ClickThruPartnerInfo").Element("RenterAndAuto").Value;
                    }
                }
            }

            quote.AddInfo.Element("SystemDate").Value = DateTime.Now.Month.ToString("00") + "/" + DateTime.Now.Day.ToString("00") + "/" + DateTime.Now.Year.ToString("0000");
            SetRiskState(quote);
            SetSplitZip(quote);

            SetProductInfo(quote);

            //if (quote.AddInfo.Element("ClickThruPartnerInfo").Element("CTID").Value != null)
            //{   //this need to reset keycode and account no I90344 and 76900
            //    if (quote.AddInfo.Element("ClickThruPartnerInfo").Element("CTID").Value == "10452")
            //        isRecall = false;
            //}

            ResetQuoteEffectiveDates(quote);
            SetSalesPhoneAndHours(quote);
            SetCTInfoByMarketKey(quote);

            SetCTInfoByMarketKey(quote);

            //SetAffinityDetails(quote);
            //SetBillingFlag(quote);
            SetDiscounts(quote);
            ////SSR08086 udiaes 12/2/2011
            //SetExtSvcInfo(quote);

            //if (newQuote)
            //{
            //    //SetDefaultPayPlan(quote);
            //}

            //if (request.Element("Solicitation") != null && request.Element("Solicitation").Element("ID") != null && request.Element("Solicitation").Element("ID").Value != String.Empty)
            //{
            //    SetSolicitation(quote, request.Element("Solicitation"));
            //}



            ////tc #6823 09-17-2010
            ////tc #6716 12-06-2010 - Cycle
            //if (request.Element("Referral") != null)
            //{
            //    if ((request.Element("Referral").Element("Referrer") != null && request.Element("Referral").Element("Referrer").Value != String.Empty) || (request.Element("Referral").Element("ReferrerQuoteNo") != null && request.Element("Referral").Element("ReferrerQuoteNo").Value != String.Empty))
            //    {
            //        SetReferral(quote, request.Element("Referral"));
            //    }
            //}


            response.Add(quote.Serialize());

            //off from udlfex, quoeflow also load again
            if (quote.AddInfo.Element("RiskState").Value != "")
            {
                response.Add(questions.Load(quote.AddInfo.Element("RiskState").Value));

                //ysang TST09673 for 7123 3/25/2011
                // response.Add(discounts.Load(quote.AddInfo.Element("RiskState").Value));

                XElement elmdoc = discounts.Load(quote.AddInfo.Element("RiskState").Value);
                ////APPLOG.Error("QuoteFlowPlugin", "sessionserivce.Load :", "load discount", new Exception(elmdoc.ToString()));
                if (quote.AddInfo.Element("ClickThruPartnerInfo").Element("RenterAndAuto") != null && quote.AddInfo.Element("ClickThruPartnerInfo").Element("RenterAndAuto").Value == "YES")
                {
                    string sElm = elmdoc.ToString().Replace("{multi_policy_discount_display}", "By quoting renters with auto insurance, we have already included the Multi-Policy Discount in your auto quote.");;
                    //quote.AddInfo.Element(new XElement("Guid", quote.AddInfo.Element("Guid").Value));

                    XElement disc = XElement.Parse(sElm);
                    response.Add(disc);
                }
                //ys PRD21783 7/17/2012 for cross sell
                //else if ((quote.AddInfo.Element("ClickThruPartnerInfo").Element("HOPolicy") != null && quote.AddInfo.Element("ClickThruPartnerInfo").Element("HOPolicy").Value.Length>0)
                //else if (isCrossSell)
                //{
                //    if ((request.Element("HOPolicy").Element("Policy") != null && request.Element("HOPolicy").Element("Policy").Value.Length > 0)
                //    || (quote.AddInfo.Element("HOPolicy").Element("Policy") != null && quote.AddInfo.Element("HOPolicy").Element("Policy").Value.Length > 0)
                //        || (request.Element("HOPolicy").Element("Quote") != null && request.Element("HOPolicy").Element("Quote").Value.Length > 0))
                //    {
                //        string sElm = elmdoc.ToString().Replace("{multi_policy_discount_display}", lookup.BuildMPDMessage(quote));
                //        //APPLOG.Error("QuoteFlowPlugin", "sessionserivce.Load :", "load discount" , new Exception(sElm));
                //        XElement disc = XElement.Parse(sElm);
                //        response.Add(disc);
                //    }
                //}

                else
                {
                    response.Add(elmdoc);
                }
                response.Add(accidentViolations.Load(quote.AddInfo.Element("RiskState").Value));
            }
            //tc #7516 01-31-2011 - Stock information
            //response.Add(ticker.Load());

            //// fcaglar SSR07488 - Add new groups to CA Website(s) 06/01/2011
            //if (quote.AddInfo.Element("RiskState").Value == "CA")
            //{
            //    response.Add(lookup.GetGroups(quote.AddInfo.Element("RiskState").Value, quote));
            //}
            return(response);
        }