public async Task <OperationResult> RegisterNameCorrection(NameCorrectionViewModel requestNameCorrection) { OperationResult operationResult = new OperationResult(); try { var agencyRequest = await _agencyApi.GetAgencyFromUserEmail(requestNameCorrection.UserEmail); var agency = JsonConvert.DeserializeObject <AgencyViewModel>(agencyRequest.Data.ToString()); var correctionName = new NameCorrectionRequest() { AgencyID = agency.Id, PNR = requestNameCorrection.PNR, ContactPhoneNumber = requestNameCorrection.ContactPhoneNumber, CountryCode = requestNameCorrection.CountryCode, ServiceLanguage = requestNameCorrection.ServiceLanguage, Description = requestNameCorrection.Description, RegisteredDate = DateTime.Now }; _dbContext.NameCorrectionRequests.Add(correctionName); operationResult.Result = _dbContext.SaveChanges() > 0; operationResult.Data = correctionName.NameCorrectionRequestID; } catch (Exception e) { operationResult.Message = "Ocurrió un error en el registro de la corrección de nombre, intente nuevamente"; logger.LogError(e, e.Message); } return(operationResult); }
private async System.Threading.Tasks.Task <JsonResult> SendDataToAPI(HttpPostedFileBase httpFile, NameCorrectionViewModel model) { System.Net.ServicePointManager.ServerCertificateValidationCallback = ((sender, certificate, chain, sslPolicyErrors) => true); //System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; OperationResult operationResult = new OperationResult(); try { byte[] fileData = null; if (httpFile != null) { using (var binaryReader = new BinaryReader(Request.Files[0].InputStream)) { fileData = binaryReader.ReadBytes(Request.Files[0].ContentLength); } } client.DefaultRequestHeaders.Add("AccessTokenCOPAValidator", "12345"); var content = new MultipartFormDataContent("Upload----" + DateTime.Now.ToString(CultureInfo.InvariantCulture)); content.Add(new StringContent(JsonConvert.SerializeObject(model)), "NameCorrectionRequestData"); if (httpFile != null) { content.Add(new StreamContent(new MemoryStream(fileData)), "PassportImage", httpFile.FileName); } var message = await client.PostAsync(String.Format("{0}/NameCorrection", WebConfigurationManager.AppSettings["RequestServicesURL"]), content).Result.Content.ReadAsStringAsync(); //var data = await message.Content.ReadAsStringAsync(); operationResult = JsonConvert.DeserializeObject <OperationResult>(message); return(Json(operationResult)); } catch (Exception e) { operationResult.Message = "Ocurrió un error al conectarse con los servicios de cambio de nombre. Notifique el error a un administrador."; return(Json(operationResult)); } }