Esempio n. 1
0
        private static float ObtenerCotizacionTarifaAlojamiento(WebServiceDataContext dc, Guid?idAloj, string idNacionalidad)
        {
            var dc2 = dc;

            try
            {
                if (dc2 == null)
                {
                    dc2 = NuevoDataContext();
                }

                var idMoneda = dc2.Tarifas_Alojamientos.Where(t => t.IDALOJ == idAloj && t.IDNACIONALIDAD == idNacionalidad && t.FECHA_DESDE <= DateTime.Now && t.FECHA_HASTA >= DateTime.Now).Select(t => t.IDMONEDA).SingleOrDefault();

                float cotizAlojamiento = dc2.Monedas.Where(m => m.IdMoneda == idMoneda).Select(m => m.Cotizacion).SingleOrDefault();

                return(cotizAlojamiento);
            }
            finally
            {
                if (dc == null)
                {
                    dc2.Dispose();
                }
            }
        }
Esempio n. 2
0
        //public void ActualizarPagosPendientesNPS()
        //{
        //	string idRequest = Guid.NewGuid().ToString();

        //	List<PAGO_NPS> pagos = Context.PAGO_NPS.Where(p => (p.EstadoPago.IdEstadoPago == (int)EstadoPago.Procesando || p.EstadoPago.IdEstadoPago == (int)EstadoPagoEnum.Pendiente)
        //											&& (p.MedioPago.IdPadre == (int)MedioPago.TarjetaDeCreditoNPS || p.MedioPago.IdPadre == (int)MedioPagoEnum.PagoPorCajaNPS)).ToList();

        //	#region Log
        //	//CommunicationMsgLogDTO dtolog = new CommunicationMsgLogDTO();
        //	//dtolog.IdRequest = idRequest;
        //	//dtolog.FechaSolicitud = DateTime.Now;
        //	//dtolog.MensajeSolicitud = string.Format("Pagos a actualizar: {0}", pagos.Count);
        //	//dtolog.NombreServicio = WinServices.ActualizarPagosPendientesNps.ToString();
        //	//dtolog.IdMedioPago = (int)MedioPagoEnum.PagoPorCajaNPS;
        //	#endregion

        //	foreach (Pago p in pagos)
        //	{
        //		Tracker.WriteTrace($"ActualizarPagosPendientesNPS idPago: {p.IdPago}");

        //		string msg = string.Empty;
        //		var rpta = ActualizarEstadoPago(p.IdPago, idRequest);

        //		if (rpta == string.Empty)
        //		{
        //			msg = "OK";

        //			Tracker.WriteTrace(msg);
        //			//dtolog.MensajeRespuesta += string.Format("Pago: {0}, Rpta NPS: {1} ", p.IdPago, msg);
        //		}
        //		else
        //		{
        //			Tracker.WriteTrace(string.Format("Error: {0}", rpta));
        //			//dtolog.MensajeRespuesta += string.Format("Pago: {0}, Rpta NPS: {1} ", p.IdPago, rpta);
        //		}

        //	}

        //	#region Log
        //	//dtolog.FechaRespuesta = DateTime.Now;
        //	//dtolog.IdTipoServicio = (int)TipoServicioEnum.ActualizarPagosPendientesNps;
        //	//log.RegistrarLog(dtolog);
        //	#endregion

        //}

        //private int ObtenerIdEstadoPago(int idEstadoNPS)
        //{
        //	try
        //	{
        //		return Context.ESTADO_PAGO_NPS.Single(x => x.IdEstadoNPS == idEstadoNPS).IdEstadoPago;
        //	}
        //	catch (Exception)
        //	{
        //		throw;
        //	}

        //}

        private int ObtenerIdEstadoNPS(int codigoEstadoNPS)
        {
            using (var Context = new WebServiceDataContext())
            {
                return(Context.ESTADO_PAGO_NPS.Single(x => x.Codigo == codigoEstadoNPS).IdEstadoNPS);
            }
        }
Esempio n. 3
0
        protected override void Initialize(System.Web.Routing.RequestContext requestContext)
        {
            CultureInfo ci = CultureInfo.GetCultureInfo(Culture);

            DataContext = new WebServiceDataContext(ConfigurationManager.ConnectionStrings["TurismoConnectionString"].ConnectionString);
            Thread.CurrentThread.CurrentCulture   = ci;
            Thread.CurrentThread.CurrentUICulture = ci;
            base.Initialize(requestContext);
        }
Esempio n. 4
0
        private static WebServiceDataContext NuevoDataContext()
        {
            var dc = new WebServiceDataContext(ConfigurationManager.ConnectionStrings["TurismoConnectionString"].ConnectionString);
            var dl = new DataLoadOptions();

            dl.LoadWith <Ciudad>(c => c.Provincia);

            dc.LoadOptions = dl;
            return(dc);
        }
Esempio n. 5
0
        public PagoNPSDTO GuardarPagoNPS(PagoNPSDTO dto)
        {
            PAGO_NPS pagonps;

            try
            {
                using (var Context = new WebServiceDataContext())
                {
                    if (dto.IdPagoNPS > 0)
                    {
                        pagonps                        = Context.PAGO_NPS.First(k => k.IdPagoNPS == dto.IdPagoNPS);
                        pagonps.IdEstadoNPS            = dto.IdEstadoNPS;
                        pagonps.IdTransaccion          = !string.IsNullOrEmpty(dto.IdTransaccion) ? new Guid(dto.IdTransaccion) : (Guid?)null;
                        pagonps.CodigoReserva          = !string.IsNullOrEmpty(dto.CodigoReserva) ? int.Parse(dto.CodigoReserva) : (int?)null;
                        pagonps.ReservationId          = dto.ReservationId;
                        pagonps.MotivoEstado           = dto.MotivoEstado;
                        pagonps.IdTransaccionNPS       = dto.IdTransaccionNPS;
                        pagonps.FechaGeneracion        = dto.FechaGeneracion.HasValue ? dto.FechaGeneracion.Value : DateTime.MinValue;
                        pagonps.CodigoBarra            = dto.CodigoBarra;
                        pagonps.NPSCantCuotas          = dto.NPSCantCuotas;
                        pagonps.Referencia             = dto.Referencia;
                        pagonps.DiasComprobanteVencido = dto.DiasComprobanteVencido;

                        Context.SubmitChanges();
                    }
                    else
                    {
                        pagonps = dto.ToEntity();
                        Context.PAGO_NPS.InsertOnSubmit(pagonps);

                        Context.SubmitChanges();
                        pagonps = Context.PAGO_NPS.Where(p => p.ReservationId == dto.ReservationId).OrderByDescending(p => p.IdPagoNPS).FirstOrDefault();
                    }

                    return(pagonps.ToDTO());
                }
            }
            catch (Exception e)
            {
                Tracker.WriteTrace(e.Message);
                return(null);
            }
        }
Esempio n. 6
0
        private static Guid ObtenerMonedaUsuario(WebServiceDataContext dc, Guid idUsuario)
        {
            var dc2 = dc;

            try
            {
                if (dc2 == null)
                {
                    dc2 = NuevoDataContext();
                }

                Guid idMoneda = (Guid)dc2.Usuarios.Where(u => u.IdUsuario == idUsuario).Select(u => u.IdMoneda).SingleOrDefault();

                return(idMoneda);
            }
            finally
            {
                if (dc == null)
                {
                    dc2.Dispose();
                }
            }
        }
Esempio n. 7
0
        private static Guid ObtenerMoneda(WebServiceDataContext dc, Guid idAlojamiento)
        {
            var dc2 = dc;

            try
            {
                if (dc2 == null)
                {
                    dc2 = NuevoDataContext();
                }

                Guid idMoneda = (Guid)dc2.Alojamientos.Where(a => a.IdAlojamiento == idAlojamiento).Select(a => a.IdMoneda).SingleOrDefault();

                return(idMoneda);
            }
            finally
            {
                if (dc == null)
                {
                    dc2.Dispose();
                }
            }
        }
Esempio n. 8
0
        private static float ObtenerCotizacion(WebServiceDataContext dc, Guid idMoneda)
        {
            var dc2 = dc;

            try
            {
                if (dc2 == null)
                {
                    dc2 = NuevoDataContext();
                }

                float cotizAlojamiento = dc2.Monedas.Where(m => m.IdMoneda == idMoneda).Select(m => m.Cotizacion).SingleOrDefault();

                return(cotizAlojamiento);
            }
            finally
            {
                if (dc == null)
                {
                    dc2.Dispose();
                }
            }
        }
Esempio n. 9
0
        private Guid?ValidarUsuarioClave(WebServiceDataContext dc, PeticionBase peticion)
        {
            var dc2 = dc;

            try
            {
                if (dc2 == null)
                {
                    dc2 = NuevoDataContext();
                }

                Guid idUsuario = dc2.Usuarios.Where(u => u.NombreUsuario == peticion.Usuario &&
                                                    u.Clave == peticion.Clave).Select(u => u.IdUsuario).SingleOrDefault();

                return(idUsuario == Guid.Empty ? (Guid?)null : idUsuario);
            }
            finally
            {
                if (dc == null)
                {
                    dc2.Dispose();
                }
            }
        }
Esempio n. 10
0
        public string ActualizarEstadoPago(string idPagoNPS)
        {
            string respuesta = string.Empty;

            RequerimientoSimpleQueryTxDTO dtoRequest = new RequerimientoSimpleQueryTxDTO();

            //datos generales------
            string urlNps = NPSConfiguracion.Url;

            dtoRequest.Version         = NPSConfiguracion.Version;
            dtoRequest.MerchantId      = NPSConfiguracion.MerchantID;
            dtoRequest.SecretKey       = NPSConfiguracion.NPSSecretKey;
            dtoRequest.QueryCriteria   = NPSConfiguracion.QueryCriteriaMerchTxRef;
            dtoRequest.QueryCriteriaId = idPagoNPS;             //idPago es el merchTxRef;
            dtoRequest.PosDateTime     = DateTime.Now;

            //dtoLog.IdTransaccion = idTransaccion;
            //dtoLog.FechaSolicitud = DateTime.Now;
            //dtoLog.MensajeSolicitud = dtoRequest;
            //dtoLog.NombreServicio = "NPS-SimpleQueryTx";
            //dtoLog.IdRequest = idRequest;

            RespuestaSimpleQueryTxDTO dtoResponse = new ServiciosNPS(urlNps).SimpleQueryTx(dtoRequest);

            //dtoLog.MensajeRespuesta = dtoResponse;
            //dtoLog.FechaRespuesta = DateTime.Now;

            //log.RegistrarLog(dtoLog);

            if (dtoResponse.ErrorMessage == null)
            {
                using (var Context = new WebServiceDataContext())
                {
                    //log.RegistrarLog(idPago, dtoResponse.Transaction);
                    //using (var tx = new WebServiceDataContext().Connection.BeginTransaction())
                    //{
                    PAGO_NPS pagoNPS = Context.PAGO_NPS.First(c => c.IdPagoNPS == int.Parse(idPagoNPS));
                    //si la operación de consulta fue exitosa y encontró una transacción
                    if (dtoResponse.ResponseCod.ToString() == RespuestaSimpleQueryTxNPS.Exitosa)
                    {
                        //pagoNPS.IdPago = idPago;
                        pagoNPS.IdEstadoNPS   = ObtenerIdEstadoNPS(dtoResponse.Transaction.ResponseCod);
                        pagoNPS.MotivoEstado  = dtoResponse.Transaction.ResponseMsg;
                        pagoNPS.MotivoEstado += dtoResponse.Transaction.ResponseExtended != null?string.Format(" {0}", dtoResponse.Transaction.ResponseExtended) : "";

                        pagoNPS.IdTransaccionNPS = dtoResponse.Transaction.TransactionId;
                        //pagoNPS.IdTransaccion = !string.IsNullOrEmpty(idTransaccion) ? new Guid(idTransaccion) : (Guid?)null;
                        pagoNPS.ResponseCod      = dtoResponse.ResponseCod;
                        pagoNPS.ResponseMsg      = dtoResponse.ResponseMsg;
                        pagoNPS.ResponseExtended = dtoResponse.ResponseExtended;

                        //hay que ver si el estado de la transacción no se cambia en otra parte
                        //pagoNPS.Transaccion.EstadoPago = ObtenerIdEstadoTransaccion(pagoNPS.IdEstadoNPS);

                        if (pagoNPS.IdEstadoNPS != (int)EstadoNPS.AprobadaAutorizada &&
                            pagoNPS.IdEstadoNPS != (int)EstadoNPS.PendienteEnComprador_CashPayment)
                        {
                            respuesta = pagoNPS.MotivoEstado;
                        }
                    }
                    else
                    {
                        //falta definir en qué estado quedará si no se encuentra ninguna trx con SimpleQueryTx
                        //actualmente queda en estado Iniciada
                        respuesta = dtoResponse.ResponseMsg + " - " + dtoResponse.ResponseExtended;
                    }

                    Context.SubmitChanges();
                    //tx.Commit();
                    //}
                }
            }
            else
            {
                respuesta = dtoResponse.ErrorMessage;
            }

            return(respuesta);
        }