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(); } } }
//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); } }
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); }
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); }
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); } }
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(); } } }
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(); } } }
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(); } } }
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(); } } }
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); }