Example #1
0
        /// <summary>
        /// Redeems the ticket.
        /// </summary>
        /// <param name="id">The id.</param>
        /// <returns></returns>
        public IRedeemResult RedeemTicket(int id)
        {
            SqlCeRedeemResult result = new SqlCeRedeemResult();

            TicketRecord ticket = GetTicket(id) as TicketRecord;

            if (ticket == null)
            {
                result.Type  = RedeemResultType.NotRedeemed;
                result.Error = "UNKNOW TICKET ID!";
            }
            else if (ticket.IsRedeemed)
            {
                result.Type = RedeemResultType.AlreadyRedeemed;
            }
            else
            {
                ticket.IsRedeemed = true;
                ticket.RedeemDate = DateTime.Now;
                try
                {
                    ticket.Save();
                    result.Type = RedeemResultType.Redeemed;
                }
                catch (Exception exp)
                {
                    result.Type  = RedeemResultType.NotRedeemed;
                    result.Error = exp.Message;
                }
            }

            if (PropertyChanged != null)
            {
                PropertyChanged(this, new PropertyChangedEventArgs("RedeemedCount"));
            }

            return(result);
        }