/// <summary> /// Valida primera compra de TCMM /// </summary> /// <param name="informacionTCMMRequest"></param> /// <returns></returns> public ResponseBussiness <PrimeraCompraResponse> ValidarPrimeraCompra(PlanesFinanciamientoRequest informacionTCMMRequest) { return(tryCatch.SafeExecutor(() => { PrimeraCompraResponse informacion = new PrimeraCompraResponse(); InfoService infoService = new InfoService(); InformacionServiciosExternosBusiness informacionServiciosExternosBusiness = new InformacionServiciosExternosBusiness(); //NOTA: Unicamente se manda a llamar la URL ya que en el web.config se tiene como keys, y no se esta conectando el servicio mediante vs infoService = informacionServiciosExternosBusiness.ObtenerCadenaServicioExterno(9); var cadenaURL = infoService.UrlService; System.Net.HttpWebRequest webrequest = (HttpWebRequest)System.Net.WebRequest.Create(cadenaURL);//ConfigurationManager.AppSettings["servicioTxCMMPrimerCompra"].ToString()); //webrequest.Headers.Add ("Authorization","Basic dXNybW13czpNMWw0bjAqMjAxOA=="); webrequest.Headers.Add("Authorization", credenciales.Licence); webrequest.Method = "POST"; webrequest.ContentType = "application/json"; using (var streamWriter = new StreamWriter(webrequest.GetRequestStream())) { string json = "{\"User\":\"" + credenciales.UserName + "\"," + "\"Pwd\":\"" + credenciales.Password + "\"," + "\"CardId\":\"" + informacionTCMMRequest.NumeroTarjeta + "\"}"; streamWriter.Write(json); streamWriter.Flush(); streamWriter.Close(); } var httpResponse = (HttpWebResponse)webrequest.GetResponse(); using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { var result = streamReader.ReadToEnd(); dynamic resultadoTemporal = JsonConvert.DeserializeObject(result); informacion.CodigoError = resultadoTemporal.ErrorCode; informacion.Mensaje = resultadoTemporal.Message; informacion.Respuesta = resultadoTemporal.Response; } return informacion; })); }
/// <summary> /// Método para consultar los planes de financiamiento /// </summary> /// <param name="planesFinanciamientoRequest">Objeto petición con información de TCMM asociada</param> /// <returns></returns> public ResponseBussiness <PlanesFinanciamientoResponse> ConsultarPlanesFinanciamientoDescuentoPrimeraCompra(PlanesFinanciamientoRequest planesFinanciamientoRequest) { return(tryCatch.SafeExecutor(() => { descuentosPromocionesRepository = new DescuentosPromocionesRepository(); PlanesFinanciamientoResponse response = new PlanesFinanciamientoResponse(); InfoService infoService = new InfoService(); InformacionServiciosExternosBusiness informacionServiciosExternosBusiness = new InformacionServiciosExternosBusiness(); //NOTA: Unicamente se manda a llamar la URL ya que en el web.config se tiene como keys, y no se esta conectando el servicio mediante vs infoService = informacionServiciosExternosBusiness.ObtenerCadenaServicioExterno(8); var cadenaURL = infoService.UrlService; HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(cadenaURL);//ConfigurationManager.AppSettings["servicioTxCMMEsquemas"]); httpWebRequest.Headers.Add("Authorization", credenciales.Licence); httpWebRequest.Method = "POST"; httpWebRequest.ContentType = "application/json"; var serializer = new Newtonsoft.Json.JsonSerializer(); using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) { using (var textWriter = new Newtonsoft.Json.JsonTextWriter(streamWriter)) { serializer.Serialize(textWriter, new { User = credenciales.UserName, Pwd = credenciales.Password, CardId = planesFinanciamientoRequest.NumeroTarjeta }); } } var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { var responseText = streamReader.ReadToEnd(); JToken token = JObject.Parse(responseText); response.CodigoRespuestaTCMM = new CodigoRespuestaTCMM(); response.CodigoRespuestaTCMM.CodigoRespuesta = Convert.ToString(token.SelectToken("ErrorCode")); response.CodigoRespuestaTCMM.MensajeRetorno = Convert.ToString(token.SelectToken("Message")); if (response.CodigoRespuestaTCMM.CodigoRespuesta == "0") { response.PlanesFinanciamiento = new List <PlanFinanciamientoResponse>(); var array = token.SelectToken("Response").Value <JArray>(); foreach (JObject jObject in array.Children <JObject>()) { PlanFinanciamientoResponse planFinanciamiento = new PlanFinanciamientoResponse(); planFinanciamiento.Id = Convert.ToInt32(jObject.SelectToken("FinancingSchemeId")); planFinanciamiento.Descripcion = Convert.ToString(jObject.SelectToken("Description")); planFinanciamiento.Periodo = Convert.ToInt32(jObject.SelectToken("PaybackPeriod")); response.PlanesFinanciamiento.Add(planFinanciamiento); } } } // Validar si existe promoción primera compra con TCMM DescuentoPromocionalVenta[] descuentoPromocionalEncontrado = descuentosPromocionesRepository.ObtenerDescuentoMMPrimeraCompra(planesFinanciamientoRequest.FolioOperacionAsociada, token.CodeStore, token.CodeBox); if (descuentoPromocionalEncontrado != null && descuentoPromocionalEncontrado.Length > 0) { // Si existe la promoción se valida si se trata de la primera compra TCMM // Respuesta = T ES Primera compra // Respuesta = F NO es primera compra PrimeraCompraResponse validar = this.ValidarPrimeraCompra(planesFinanciamientoRequest).Data; if (validar.Respuesta == "T") { response.DescuentoPromocionalPrimeraCompra = descuentoPromocionalEncontrado[0]; } } return response; })); }
public ResponseBussiness <PlanesFinanciamientoResponse> ConsultarPlanesFinanciamientoDescuentoPrimeraCompra(PlanesFinanciamientoRequest request) { TokenDto token = new TokenService().Get(); ResponseBussiness <PlanesFinanciamientoResponse> response = new MelodyMilanoBusiness(token).ConsultarPlanesFinanciamientoDescuentoPrimeraCompra(request); return(response); }