public HttpResponseMessage DecreaseBalanceLS([FromBody] ParametersEntity parametersEntity)
        {
            string validacion = _pricatsEmpresaServices.ValidacionDescuento(parametersEntity);

            if (validacion.Equals("Correcto"))
            {
                // Metodo Descuento
                string decrease = _pricatsEmpresaServices.DecreasePricat(parametersEntity.GlnProveedor);
                return(Request.CreateErrorResponse(HttpStatusCode.NotFound, decrease));
            }

            return(Request.CreateErrorResponse(HttpStatusCode.NotFound, validacion));
        }
        /// <summary>
        /// Realiza validaciones concernientes
        /// </summary>
        /// <returns></returns>
        #region Validaciones del Negocio
        public string ValidacionDescuento(ParametersEntity parametersEntity)
        {
            string strMessage;
            string mserr;
            string resultValidate;


            //Valida si el Pais es Colombia
            strMessage = _messageServices.GetParametersmessages(Properties.Resources.MethodValidateCountry, Properties.Resources.OKValidateCountry);
            mserr      = _messageServices.GetParametersmessages(Properties.Resources.MethodCountry, Properties.Resources.IdPais);

            if (!(parametersEntity.IdPais.Equals(strMessage)))
            {
                return(mserr);
            }


            // si es 0  SI valida saldos , si es 1  NO valida saldos.
            mserr = _messageServices.GetParametersmessages(Properties.Resources.MethodValidateGDSN, Properties.Resources.ValidateGDSN);
            if (!parametersEntity.TipoTransaccion.Equals(false))
            {
                return(mserr);
            }


            //Valida tipo de BGM
            strMessage     = _messageServices.GetParametersmessages(Properties.Resources.MethodOKMethodValidateBGM, Properties.Resources.OKMethodValidateBGM);
            mserr          = _messageServices.GetParametersmessages(Properties.Resources.MethodValidateBGM, Properties.Resources.ValidateBGM);
            resultValidate = ValidateBGM(parametersEntity.Bgm);
            if (!resultValidate.Equals(strMessage))
            {
                return(mserr);
            }

            //Valida gln Comerciantes
            resultValidate = SupplierValidation(parametersEntity.GlnComerciante);
            strMessage     = _messageServices.GetParametersmessages(Properties.Resources.MethodOKSupplierValidation, Properties.Resources.OKSupplierValidation);
            mserr          = _messageServices.GetParametersmessages(Properties.Resources.MethodSupplierValidation, Properties.Resources.SupplierValidation);
            if (!resultValidate.Equals(strMessage))
            {
                return(mserr);
            }

            //Validacion Intregridad GLN Proveedor
            strMessage     = _messageServices.GetParametersmessages(Properties.Resources.MethodOKValidateintegrity, Properties.Resources.OKValidateintegrity);
            resultValidate = _pricatsEmpresaCustomRepository.Validateintegrityglnprov(parametersEntity.GlnProveedor);
            mserr          = _messageServices.GetParametersmessages(Properties.Resources.MethofValidateintegrityglnprov, Properties.Resources.Validateintegrityglnprov);
            if (!resultValidate.Equals(strMessage))
            {
                return(mserr);
            }

            //validacion integridad GLN COmerciante
            strMessage     = _messageServices.GetParametersmessages(Properties.Resources.MethodOKValidateintegrity, Properties.Resources.OKValidateintegrity);
            resultValidate = _pricatsEmpresaCustomRepository.Validateintegrityglncomer(parametersEntity.GlnComerciante);
            mserr          = _messageServices.GetParametersmessages(Properties.Resources.MethodValidateintegrityglncomer, Properties.Resources.Validateintegrityglncomer);
            if (!resultValidate.Equals(strMessage))
            {
                return(mserr);
            }

            //Valida si el soporte esta Vigente

            strMessage     = _messageServices.GetParametersmessages(Properties.Resources.MethodOKSupportForce, Properties.Resources.OKSupportForce);
            resultValidate = _pricatsEmpresaCustomRepository.SupportForce(parametersEntity.GlnProveedor);
            mserr          = _messageServices.GetParametersmessages(Properties.Resources.MethodSupportForce, Properties.Resources.SupportForce);
            if (!resultValidate.Equals(strMessage))
            {
                return(mserr);
            }



            //Valida si los PRICATS comprados son mayores a los gastados
            strMessage     = _messageServices.GetParametersmessages(Properties.Resources.MethodOKValidatebalance, Properties.Resources.OKValidatebalance);
            mserr          = _messageServices.GetParametersmessages(Properties.Resources.MethodValidatebalance, Properties.Resources.Validatebalance);
            resultValidate = _pricatsEmpresaCustomRepository.Validatebalance(parametersEntity.GlnProveedor);

            if (!resultValidate.Equals(strMessage))
            {
                return(mserr);
            }


            //Valida que la FECHA_EXPIRACION sea mayor o igual a la actual
            strMessage = _messageServices.GetParametersmessages(Properties.Resources.MethodOKExpirationDate, Properties.Resources.OKExpirationDate);
            mserr      = _messageServices.GetParametersmessages(Properties.Resources.MethodExpirationDate, Properties.Resources.ExpirationDate);

            resultValidate = _pricatsEmpresaCustomRepository.ExpirationDate(parametersEntity.GlnProveedor);
            if (!resultValidate.Equals(strMessage))
            {
                return(mserr);
            }



            return("Correcto");
        }