Exemple #1
0
        public static PaymentDiscarded Create(Guid paymentId, DiscardReason discardReason, DateTime discardedAt)
        {
            Guard.Against.Default(paymentId, nameof(paymentId));
            Guard.Against.Default(discardedAt, nameof(discardedAt));

            return(new PaymentDiscarded(paymentId, discardReason, discardedAt));
        }
Exemple #2
0
        public void HandleCardDiscard(Player p, List <Card> cards, DiscardReason reason = DiscardReason.Discard)
        {
            cards = new List <Card>(cards);
            CardsMovement move = new CardsMovement();

            move.Cards = new List <Card>(cards);
            foreach (Card c in cards)
            {
                c.Log.Source = p;
                if (reason == DiscardReason.Discard)
                {
                    c.Log.GameAction = GameAction.Discard;
                }
                else if (reason == DiscardReason.Play)
                {
                    c.Log.GameAction = GameAction.Play;
                }
                else if (reason == DiscardReason.Use)
                {
                    c.Log.GameAction = GameAction.Use;
                }
            }
            List <Card> backup = new List <Card>(move.Cards);

            move.To = new DeckPlace(null, DeckType.Discard);
            PlayerAboutToDiscardCard(p, move.Cards, reason);
            MoveCards(move, false, GameDelays.Discard);
            if (p != null)
            {
                PlayerLostCard(p, move.Cards);
                PlayerDiscardedCard(p, backup, reason);
            }
        }
Exemple #3
0
 private void cboReason_SelectedValueChanged(object sender, EventArgs e)
 {
     if (cboReason.SelectedItem != null)
     {
         if (((DiscardReason)cboReason.SelectedItem).Id > 0)
         {
             Reason = (DiscardReason)cboReason.SelectedItem;
             LlenaGrilla(Reason.Reason);
         }
     }
 }
        public void Discard(DiscardReason discardReason)
        {
            if (Status != PaymentStatus.Pending)
            {
                throw new InvalidOperationException($"Discarding payment in '{Status}' status is not allowed.");
            }

            var @event = PaymentDiscarded.Create(Id, discardReason, DateTime.UtcNow);

            Enqueue(@event);
            Apply(@event);
        }
    public static PaymentDiscarded Create(Guid paymentId, DiscardReason discardReason, DateTime discardedAt)
    {
        if (paymentId == Guid.Empty)
        {
            throw new ArgumentOutOfRangeException(nameof(paymentId));
        }
        if (discardedAt == default)
        {
            throw new ArgumentOutOfRangeException(nameof(discardedAt));
        }

        return(new PaymentDiscarded(paymentId, discardReason, discardedAt));
    }
Exemple #6
0
 public void PlayerDiscardedCard(Player p, List <Card> cards, DiscardReason reason)
 {
     try
     {
         var arg = new DiscardCardEventArgs();
         arg.Source  = p;
         arg.Targets = null;
         arg.Cards   = cards;
         arg.Reason  = reason;
         Emit(GameEvent.CardsEnteredDiscardDeck, arg);
     }
     catch (TriggerResultException)
     {
         throw new NotImplementedException();
     }
 }
 /// <summary>
 /// Instanciates a new discarted position with the givenn reason code and position values.
 /// </summary>
 public LogPosicionDescartada(LogPosicionBase position, DiscardReason reasonCode)
 {
     FechaRecepcion = position.FechaRecepcion;
     FechaMensaje   = position.FechaMensaje;
     Longitud       = position.Longitud;
     Latitud        = position.Latitud;
     Dispositivo    = position.Dispositivo;
     Coche          = position.Coche;
     Velocidad      = position.Velocidad;
     VeloCalculada  = position.VeloCalculada;
     Altitud        = position.Altitud;
     Curso          = position.Curso;
     Status         = position.Status;
     MotorOn        = position.MotorOn;
     MotivoDescarte = (int)reasonCode;
 }
Exemple #8
0
 public void PlayerAboutToDiscardCard(Player p, List <Card> cards, DiscardReason reason)
 {
     SyncCardsAll(cards);
     try
     {
         var arg = new DiscardCardEventArgs();
         arg.Source  = p;
         arg.Targets = null;
         arg.Cards   = cards;
         arg.Reason  = reason;
         Emit(GameEvent.CardsEnteringDiscardDeck, arg, true);
     }
     catch (TriggerResultException)
     {
         throw new NotImplementedException();
     }
 }
 /// <summary>
 /// Instanciates a new discarted position with the givenn reason code and position values.
 /// </summary>
 public LogMensajeDescartado(LogMensaje mensaje, DiscardReason reasonCode)
 {
     Latitud            = mensaje.Latitud;
     Longitud           = mensaje.Longitud;
     Dispositivo        = mensaje.Dispositivo;
     Horario            = mensaje.Horario;
     DetalleHorario     = mensaje.DetalleHorario;
     Usuario            = mensaje.Usuario;
     Fecha              = mensaje.Fecha;
     Texto              = mensaje.Texto;
     Coche              = mensaje.Coche;
     Accion             = mensaje.Accion;
     Chofer             = mensaje.Chofer;
     Expiracion         = mensaje.Expiracion;
     Estado             = mensaje.Estado;
     Mensaje            = mensaje.Mensaje;
     FechaFin           = mensaje.FechaFin;
     LatitudFin         = mensaje.LatitudFin;
     LongitudFin        = mensaje.LongitudFin;
     VelocidadPermitida = mensaje.VelocidadPermitida;
     VelocidadAlcanzada = mensaje.VelocidadAlcanzada;
     IdPuntoDeInteres   = mensaje.IdPuntoDeInteres;
     MotivoDescarte     = (int)reasonCode;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="TransactionsDiscardedEventArgs"/> class.
 /// </summary>
 /// <param name="transaction">The transaction that have been discarded.</param>
 /// <param name="reason">The reason why the transaction have been discarded.</param>
 public TransactionsDiscardedEventArgs(IReadOnlyTransaction transaction, DiscardReason reason)
     : this(new[] { transaction }, reason)
 {
 }
        public static DiscardPayment Create(Guid paymentId, DiscardReason discardReason)
        {
            Guard.Against.Default(paymentId, nameof(paymentId));

            return(new DiscardPayment(paymentId, discardReason));
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="TransactionsDiscardedEventArgs"/> class.
 /// </summary>
 /// <param name="transactions">The transactions that have been discarded.</param>
 /// <param name="reason">The reason why the transactions have been discarded.</param>
 public TransactionsDiscardedEventArgs(IReadOnlyTransaction[] transactions, DiscardReason reason)
 {
     Transactions = transactions;
     Reason       = reason;
 }
 public LogPosicionDescartada(GPSPoint position, Coche coche, DiscardReason reasonCode)
     : base(position, coche)
 {
     MotivoDescarte = (int)reasonCode;
 }
 private DiscardPayment(Guid paymentId, DiscardReason discardReason)
 {
     PaymentId     = paymentId;
     DiscardReason = discardReason;
 }
Exemple #15
0
 public void HandleCardDiscard(Player p, List<Card> cards, DiscardReason reason = DiscardReason.Discard)
 {
     CardsMovement move = new CardsMovement();
     move.Cards = new List<Card>(cards);
     foreach (Card c in cards)
     {
         c.Log.Source = p;
         if (reason == DiscardReason.Discard)
             c.Log.GameAction = GameAction.Discard;
         else if (reason == DiscardReason.Play)
             c.Log.GameAction = GameAction.Play;
         else if (reason == DiscardReason.Use)
             c.Log.GameAction = GameAction.Use;
     }
     List<Card> backup = new List<Card>(move.Cards);
     move.To = new DeckPlace(null, DeckType.Discard);
     PlayerAboutToDiscardCard(p, move.Cards, reason);
     MoveCards(move);
     if (p != null)
     {
         PlayerLostCard(p, backup);
         PlayerDiscardedCard(p, backup, reason);
     }
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="TransactionsDiscardedEventArgs"/> class.
 /// </summary>
 /// <param name="transaction">The transaction that have been discarded.</param>
 /// <param name="reason">The reason why the transaction have been discarded.</param>
 public TransactionsDiscardedEventArgs(IReadOnlyTransaction transaction, DiscardReason reason)
     : this(new[] { transaction }, reason)
 {
 }
Exemple #17
0
 public void PlayerAboutToDiscardCard(Player p, List<Card> cards, DiscardReason reason)
 {
     SyncCardsAll(cards);
     try
     {
         var arg = new DiscardCardEventArgs();
         arg.Source = p;
         arg.Targets = null;
         arg.Cards = cards;
         arg.Reason = reason;
         Emit(GameEvent.CardsEnteringDiscardDeck, arg, true);
     }
     catch (TriggerResultException)
     {
         throw new NotImplementedException();
     }
 }
Exemple #18
0
 public void PlayerDiscardedCard(Player p, List<Card> cards, DiscardReason reason)
 {
     try
     {
         var arg = new DiscardCardEventArgs();
         arg.Source = p;
         arg.Targets = null;
         arg.Cards = cards;
         arg.Reason = reason;
         Emit(GameEvent.CardsEnteredDiscardDeck, arg);
     }
     catch (TriggerResultException)
     {
         throw new NotImplementedException();
     }
 }
Exemple #19
0
        protected void DiscardEvent(MensajeVO mensaje, Dispositivo dispositivo, Coche coche, Empleado chofer, DateTime fecha, GPSPoint inicio, GPSPoint fin, DiscardReason discardReason, string codigo)
        {
            STrace.Debug(GetType().FullName, dispositivo.GetId(), String.Format(
                             "Descartando: mensaje={0} coche={1} chofer={2} fecha={3} inicio={4} fin={5} discardReason={6}",
                             mensaje,
                             coche,
                             chofer,
                             fecha,
                             inicio,
                             fin,
                             discardReason));
            var log = new LogMensajeDescartado
            {
                Chofer         = chofer,
                Coche          = coche,
                Dispositivo    = dispositivo,
                Fecha          = inicio != null ? inicio.Date : fecha,
                Expiracion     = DateTime.UtcNow.AddDays(1),
                Latitud        = inicio != null ? inicio.Lat : 0,
                Longitud       = inicio != null ? inicio.Lon : 0,
                FechaFin       = fin != null ? fin.Date : (DateTime?)null,
                LatitudFin     = fin != null ? new Double?(fin.Lat) : null,
                LongitudFin    = fin != null ? new Double?(fin.Lon) : null,
                Mensaje        = mensaje != null?DaoFactory.MensajeDAO.FindById(mensaje.Id) : null,
                Texto          = mensaje != null ? mensaje.Texto : codigo,
                MotivoDescarte = (int)discardReason,
            };

            DaoFactory.LogMensajeDescartadoDAO.Save(log);
        }
Exemple #20
0
        public void Discard(string codigo, Dispositivo dispositivo, Sensor sensor, DateTime fecha, GPSPoint inicio, GPSPoint fin, DiscardReason discardReason)
        {
            var mensaje = !String.IsNullOrEmpty(codigo) ? GetByCodigo(codigo, sensor) : null;

            DiscardEvent(mensaje, dispositivo, null, null, fecha, inicio, fin, discardReason, codigo);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="TransactionsDiscardedEventArgs"/> class.
 /// </summary>
 /// <param name="transactions">The transactions that have been discarded.</param>
 /// <param name="reason">The reason why the transactions have been discarded.</param>
 public TransactionsDiscardedEventArgs(IReadOnlyTransaction[] transactions, DiscardReason reason)
 {
     Transactions = transactions;
     Reason = reason;
 }
Exemple #22
0
 private PaymentDiscarded(Guid paymentId, DiscardReason discardReason, DateTime discardedAt)
 {
     PaymentId     = paymentId;
     DiscardReason = discardReason;
     DiscardedAt   = discardedAt;
 }
Exemple #23
0
        /// <summary>
        /// Generates a new log evento with the specified data.
        /// </summary>
        /// <param name="coche"></param>
        /// <param name="dispositivo"></param>
        /// <param name="codigo"></param>
        /// <param name="inicio"></param>
        /// <param name="fin"></param>
        /// <param name="chofer"></param>
        /// <param name="discardReason"></param>
        /// <param name="dt"></param>
        /// <returns></returns>
        public void SaveLogEventoDescartado(Coche coche, Dispositivo dispositivo, String codigo, GPSPoint inicio, GPSPoint fin, Empleado chofer, DiscardReason discardReason, DateTime dt)
        {
            var mensaje = !String.IsNullOrEmpty(codigo) ? GetByCodigo(codigo, coche) : null;

            SaveLogEventoDescartado(coche, dispositivo, mensaje, inicio, fin, chofer, discardReason, dt);
        }
Exemple #24
0
        public void SaveLogEventoDescartado(Sensor sensor, Dispositivo dispositivo, String codigo, GPSPoint inicio, GPSPoint fin, DiscardReason discardReason, DateTime dt)
        {
            var mensaje = !String.IsNullOrEmpty(codigo) ? GetByCodigo(codigo, sensor) : null;

            SaveLogEventoDescartado(sensor, dispositivo, mensaje, inicio, fin, discardReason, dt);
        }
Exemple #25
0
        public void SaveLogEventoDescartado(Sensor sensor, Dispositivo dispositivo, MensajeVO mensaje, GPSPoint inicio, GPSPoint fin, DiscardReason discardReason, DateTime dt)
        {
            var log = new LogMensajeDescartado
            {
                Dispositivo    = dispositivo,
                Fecha          = inicio != null ? inicio.Date : dt,
                Expiracion     = DateTime.UtcNow.AddDays(1),
                Latitud        = inicio != null ? inicio.Lat : 0,
                Longitud       = inicio != null ? inicio.Lon : 0,
                FechaFin       = fin != null ? fin.Date : (DateTime?)null,
                LatitudFin     = fin != null ? new Double?(fin.Lat) : null,
                LongitudFin    = fin != null ? new Double?(fin.Lon) : null,
                Mensaje        = mensaje != null?DaoFactory.MensajeDAO.FindById(mensaje.Id) : null,
                MotivoDescarte = discardReason.GetNumericCode()
            };

            if (DaoFactory.Session.Transaction != null && DaoFactory.Session.Transaction.IsActive)
            {
                DaoFactory.LogMensajeDescartadoDAO.SaveWithoutTransaction(log);
            }
            else
            {
                DaoFactory.LogMensajeDescartadoDAO.Save(log);
            }
        }
Exemple #26
0
        public void Discard(string codigo, Dispositivo dispositivo, Coche coche, Empleado chofer, DateTime fecha, GPSPoint inicio, GPSPoint fin, DiscardReason discardReason)
        {
            var mensaje = DaoFactory.MensajeDAO.GetByCodigo(codigo, coche != null ? coche.Empresa : null, coche != null ? coche.Linea : null);

            DiscardEvent(mensaje, dispositivo, coche, chofer, fecha, inicio, fin, discardReason, codigo);
        }
Exemple #27
0
 private void DiscardEvent(string code, IGeoPoint message, DiscardReason discardReason)
 {
     MessageSaver.Discard(code, Dispositivo, Coche, GetChofer(message.GetRiderId()), message.GetDateTime(), message.GeoPoint, null, discardReason);
 }