Ejemplo n.º 1
0
 /// <summary>
 /// Constructor por default
 /// </summary>
 public SalesBusiness(TokenDto token)
 {
     this.repository = new SalesRepository();
     this.descuentosPromocionesRepository   = new DescuentosPromocionesRepository();
     this.descuentoMercanciaDaniadaBusiness = new DescuentoMercanciaDaniadaBusiness(token);
     this.token = token;
 }
Ejemplo n.º 2
0
        /// <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;
            }));
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Constructor
 /// </summary>
 public ApartadosBusiness()
 {
     repository = new ApartadoRepository();
     descuentosPromocionesRepository = new DescuentosPromocionesRepository();
 }