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; }
/// <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; }
/// <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")); } }
/// <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), ""); } }
/// <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")); } }