Пример #1
0
        /// <summary>
        /// Gets the quote.
        /// </summary>
        /// <param name="inputParameters">The input parameters.</param>
        /// <returns></returns>
        /// <exception cref="System.ServiceModel.FaultException">GetQuote error description</exception>
        //[WebInvoke]
        public PolicyQuoteResponse GetQuote(PolicyQuoteRequest inputParameters)
        {
            try
            {
                //to do AUTH
                IncomingWebRequestContext request = WebOperationContext.Current.IncomingRequest;
                var context = OperationContext.Current;
                var url     = context.IncomingMessageHeaders.To.AbsoluteUri;
                //WebHeaderCollection headers = request.Headers;
                //var url = HttpContext.Current.Request.Url.AbsoluteUri;

                Broker broker = new Broker()
                {
                    ID = 1, Name = "Test"
                };

                PolicyQuoteResponse result = Wservice.GetQuote(inputParameters, broker, url);

                return(result);

                /*
                 * PolicyQuote quote = new PolicyQuote()
                 * {
                 *  Product_ID = inputParameters.Product,
                 *  Broker_ID = broker.ID,
                 *  IsLegalPerson = inputParameters.IsLegalPerson ? LegalEntity.LegalEntity : LegalEntity.NaturalPerson,
                 *  PolicyNrOfMonthsValid = inputParameters.PolicyNrOfMonthsValid,
                 *  PolicyPaymentMethod_ID = inputParameters.PolicyPaymentMethod,
                 *  PolicyStartDate = new DateTimeOffset(inputParameters.PolicyStartingDate, TimeZoneInfo.Local.GetUtcOffset(inputParameters.PolicyStartingDate)),
                 *  PolicyEndDate = new DateTimeOffset(inputParameters.PolicyStartingDate, TimeZoneInfo.Local.GetUtcOffset(inputParameters.PolicyStartingDate)).AddYears(1).AddDays(-1),
                 *  //ResultedQuotePremium = 0,
                 *  PolicyType_ID = inputParameters.PolicyType,
                 *  PostalCode = inputParameters.PostalCode,
                 *  VehicleType_ID = inputParameters.VehicleType,
                 *  VehicleUsage_ID = inputParameters.VehicleUsage
                 * };
                 *
                 * PolicyQuote savedQuote = service.GetQuote(quote);
                 *
                 * return new PolicyQuoteResponse()
                 * {
                 *  QuoteGuid = savedQuote.Guid,
                 *  CreatedAt = savedQuote.Created.DateTime,
                 *  Premium = savedQuote.Premium,
                 *  PolicyStartingDate = savedQuote.PolicyStartDate.DateTime,
                 *  PolicyEndingDate = savedQuote.PolicyEndDate.DateTime,
                 *  //received request
                 *  PolicyQuoteRequest = inputParameters
                 * };
                 */
            }
            catch (Exception ex)
            {
                throw new FaultException("GetQuote error description");
                //throw new FaultException<ExceptionFaultContract>(new ExceptionFaultContract("GetQuote", "message", "description"));
            }
        }
Пример #2
0
        /// <summary>
        /// Gets the quote asynchronous.
        /// </summary>
        /// <param name="quote">The quote.</param>
        /// <returns></returns>
        public async Task <PolicyQuoteResponse> GetQuoteAsync(PolicyQuoteRequest inputParameters, Broker broker, string url)
        {
            PolicyQuote quote = Mapper.Map <PolicyQuote>(inputParameters);

            quote.Broker_ID  = broker.ID;
            quote.RequestUrl = url;
            quote.Premium    = GetPremium(quote.Product_ID);

            PolicyQuote savedQuote = await DataAccess.SaveQuoteAsync(quote);;

            PolicyQuoteResponse result = Mapper.Map <PolicyQuoteResponse>(savedQuote);

            result.PolicyQuoteRequest = inputParameters;

            return(result);
        }
Пример #3
0
        /// <summary>
        /// Gets the quotation asynchronous.
        /// </summary>
        /// <param name="inputParameters">The input parameters.</param>
        /// <returns></returns>
        /// <exception cref="FaultException{ExceptionFaultContract}">new ExceptionFaultContract(GetQuote, message, description)</exception>
        /// <exception cref="ExceptionFaultContract">GetQuote;message;description</exception>
        public async Task <PolicyQuoteResponse> GetQuotationAsync(PolicyQuoteRequest inputParameters)
        {
            try
            {
                //to do AUTH
                IncomingWebRequestContext request = WebOperationContext.Current.IncomingRequest;
                WebHeaderCollection       headers = request.Headers;
                var url = HttpContext.Current.Request.Url.AbsoluteUri;

                Broker broker = new Broker()
                {
                    ID = 1, Name = "Test"
                };

                PolicyQuoteResponse result = await Wservice.GetQuoteAsync(inputParameters, broker, url);

                return(result);
            }
            catch (Exception ex)
            {
                throw new FaultException <ExceptionFaultContract>(new ExceptionFaultContract("GetQuote", "message", "description"));
            }
        }