Ejemplo n.º 1
0
        public CreatePolicyResponse CreatePolicy(CreatePolicyRequest inputParameters, Broker broker)
        {
            Client client = Mapper.Map<Client>(inputParameters.RegisteredKeeper);
            if (inputParameters.RegisteredKeeper.IsLegalPerson)
            {
                client.LegalPerson = Mapper.Map<LegalPerson>(inputParameters.RegisteredKeeper);
                client.LegalPerson.Address = Mapper.Map<AddressDto>(inputParameters.RegisteredKeeper);
                client.LegalPerson.MailingAddress = Mapper.Map<MailingAddressDto>(inputParameters.RegisteredKeeper);
            }
            else
            {
                client.Person = Mapper.Map<Person>(inputParameters.RegisteredKeeper);
                client.Person.Address = Mapper.Map<AddressDto>(inputParameters.RegisteredKeeper);
                client.Person.MailingAddress = Mapper.Map<MailingAddressDto>(inputParameters.RegisteredKeeper);
            }           
            Vehicle vehicle = Mapper.Map<Vehicle>(inputParameters.Vehicle);


            Policy savedPolicy = DataAccess.SavePolicy(inputParameters.QuoteGuid, client, vehicle, broker);


            CreatePolicyResponse result = new CreatePolicyResponse()
            {
                PolicyNumber = savedPolicy.PolicyNumber
            };
            return result;
        }
Ejemplo n.º 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; 
        }
Ejemplo n.º 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"));
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Creates the policy.
        /// </summary>
        /// <param name="inputParameters">The input parameters.</param>
        /// <returns></returns>
        /// <exception cref="FaultException{ExceptionFaultContract}">new ExceptionFaultContract(CreatePolicy, not implemented, )</exception>
        /// <exception cref="ExceptionFaultContract">CreatePolicy;not implemented</exception>
        public CreatePolicyResponse CreatePolicy(CreatePolicyRequest 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" };

                CreatePolicyResponse result = Wservice.CreatePolicy(inputParameters, broker);

                return result;

            }
            catch (Exception ex)
            {
                //throw new FaultException("CreatePolicy error description");
                throw new FaultException<ExceptionFaultContract>(new ExceptionFaultContract("CreatePolicy", "Error during creating the policy", ex.Message), "");
            }
        }
Ejemplo n.º 5
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"));
            }
        }