public HttpResponseMessage SalesLeadRequestAddTest(string authToken) { string apiEndPoint = ApiObject.ApiName + ".SalesLeadRequestTest/GET"; this.CommonParams = new CommonParams(Request) { TimeoutInMill = 60000 }; //SalesLeadRequest request = new SalesLeadRequest(); //SalesLeadRequest request = JsonConvert.DeserializeObject<SalesLeadRequest>("{\"LeadFile\":{\"ClientId\":399,\"FileType\":\"SalesLead\",\"Reason\":\"\",\"Source\":{\"Active\":true,\"Alias\":\"LoanTek.com\",\"Id\":44,\"SourceType\":\"LeadSource\",\"Name\":\"LoanTek.com\",\"SubName\":\"Contact - Us - Form\"},\"NotifyUserOfNewLead\":true,\"SendNewLeadInitialWelcomeMessage\":true,\"ClientDefinedIdentifier\":\"LTWS1462220067420\",\"Persons\":[{\"PersonCategoryType\":\"Person\",\"PersonType\":\"Primary\",\"FirstName\":\"Eric\",\"LastName\":\"Tjemsland\"}],\"MiscData\":[{\"Name\":\"AdditionalInformation\",\"Value\":\"\"},{\"Name\":\"PromoCode\",\"Value\":\"LPP01\"}]}}"); var json = File.ReadAllText(@"D:\LoanTek\Current\com.LoanTek.APIs\com.LoanTek.API.Leads.Clients\_TestData\SalesLeadRequest.json"); SalesLeadRequest request = JsonConvert.DeserializeObject <SalesLeadRequest>(json, Global.JsonSettings); return(this.SalesLeadRequestAdd(authToken, request)); }
public HttpResponseMessage Add(string authToken, SalesLeadRequest request) { this.Sw.Start(); this.EndPoint = "Contact"; try { if (ApiWebService.ApiStatusType == Types.Api.ApiStatusType.Inactive) { return(this.CreateErrorResponse(HttpStatusCode.BadRequest, "In-active Web Service / Endpoint", this.EndPoint)); } HttpResponseMessage errorResponse = this.CommonChecks(request, this.EndPoint); if (errorResponse != null) { return(errorResponse); } this.AuthToken = !string.IsNullOrEmpty(authToken) ? new AuthToken(authToken) : null; errorResponse = this.Authorize(ApiWebService.WebServiceName, new AuthToken(authToken), request.LeadFile?.UserId ?? 0); if (errorResponse != null) { return(errorResponse); } SalesLeadResponse response = this.Process(request) as SalesLeadResponse; if (response == null) { throw new InvalidCastException("Error ALeadsResponse should cast to SalesLeadResponse."); } Task.Run(() => this.CreateAndSaveService(request, response, response.Message, Types.Api.AppType.Widget, ApiWebService)).ConfigureAwait(false); return(Request.CreateResponse(HttpStatusCode.OK, response)); } catch (Exception ex) { Global.OutPrint(ex.Message, new SimpleLogger.LocationObject(this, this.EndPoint), SimpleLogger.LogLevelType.CRITICAL); return(this.CreateErrorResponse(HttpStatusCode.InternalServerError, "Exception:" + ex.Message, this.EndPoint)); } }
public HttpResponseMessage SalesLeadRequestAdd(string authToken, SalesLeadRequest request) { string apiEndPoint = ApiObject.ApiName + ".SalesLeadRequest/POST"; this.EndPoint = apiEndPoint; try { var startTime = DateTime.Now; this.ContentType = this.Request.Content?.Headers?.ContentType?.MediaType; HttpResponseMessage errorResponse = this.CommonChecks(request, apiEndPoint); if (errorResponse != null) { return(errorResponse); } AuthToken authTokenObject = (!string.IsNullOrEmpty(authToken)) ? new AuthToken(authToken) : null; errorResponse = this.Authorize(apiEndPoint, authTokenObject, request.LeadFile?.UserId ?? 0); if (errorResponse != null) { return(errorResponse); } //if the ClientId is not set in the 'File' then use the clientId from the posting URL authToken if (request.LeadFile.ClientId == 0) { request.LeadFile.ClientId = authTokenObject.ClientId; } //TODO - check client for license... //if(!License.Has(LoanPricerAPILicenseType, authTokenObject.ClientId)) // return this.CreateErrorResponse(HttpStatusCode.PaymentRequired, "Missing valid license:"+ LoanPricerAPILicenseType.ToString(), apiEndPoint); this.CommonProcesses(Request); CancellationTokenSource cancelToken = this.StartTimeoutTimer(CommonParams.TimeoutInMill); ProcessFileRequest process = new ProcessFileRequest(request.LeadFile, cancelToken); Debug.WriteLine("Done. -Status:" + process.Request.StatusType + " -ActionType:" + process.Request.ActionType + " -In Secs:" + (process.Request.EndTime.GetValueOrDefault() - process.Request.StartTime).TotalSeconds); SalesLeadResponse response = new SalesLeadResponse(); response.ExecutionTimeInMillisec = (DateTime.Now - startTime).TotalMilliseconds; response.LoanTekDefinedIdentifier = StringUtilities.UniqueId(); response.ApiEndPoint = apiEndPoint; //response.CachedId = processor.Request.CachedId; response.ClientDefinedIdentifier = request.LeadFile.ClientDefinedIdentifier; response.PassThroughItems = request.PassThroughItems; if (process.Request == null) { response.Status = StatusType.Error; response.Message = "ProcessFile.Request is missing."; } else { switch (process.Request.StatusType) { case StatusType.Complete: response.Status = StatusType.Complete; break; case StatusType.Cancelled: response.Status = StatusType.Cancelled; break; default: response.Status = StatusType.Error; break; } response.Message = process.Request.ActionType + "|" + process.Request.Misc.Replace("||", "|"); } Types.Api.AppType appType = (request.LeadFile?.Source?.Name?.ToLower().Contains("widget") ?? false) || (request.LeadFile?.Source?.SubName?.ToLower().Contains("widget") ?? false) ? Types.Api.AppType.Widget : Types.Api.AppType.Api_Clients; Task.Run(() => this.CreateAndSaveService(request, response, response.Message, appType, new ApiWebService { WebServiceName = "SalesLeadRequest", EndPoint = this.EndPoint })).ConfigureAwait(false); return(AApiResponse.CreateResponse(HttpStatusCode.OK, response)); } catch (Exception ex) { Global.OutPrint(ex.Message, new SimpleLogger.LocationObject(this, apiEndPoint), SimpleLogger.LogLevelType.CRITICAL); return(this.CreateErrorResponse(HttpStatusCode.InternalServerError, "Exception:" + ex.Message, apiEndPoint)); } }