public static bool RefundTicket(Int64 GymTicketId) { using (ConnectorBase conn = ConnectorBase.NewInstance()) { Query qry = Query.New <GymTicket>() .Update(GymTicket.Columns.Status, GymTicketStatus.Refunded) .Update(GymTicket.Columns.RedeemDate, DateTime.UtcNow) .Where(GymTicket.Columns.GymTicketId, GymTicketId) .AND(GymTicket.Columns.Status, dg.Sql.WhereComparision.NotEqualsTo, GymTicketStatus.Refunded); bool result = qry.Execute(conn) == 1; if (result) { decimal Amount = 0m; Int64 AppUserId = 0; using (DataReaderBase reader = Query.New <GymTicket>() .Select(GymTicket.Columns.Amount) .AddSelect(GymTicket.Columns.AppUserId) .Where(GymTicket.Columns.GymTicketId, GymTicketId) .LimitRows(1) .ExecuteReader(conn)) { if (reader.Read()) { Amount = reader.GetDecimal(0); AppUserId = reader.GetInt64(1); } } if (AppUserId > 0) { AppUserCreditController.AddCreditToAppUser(AppUserId, Amount); } } return(result); } }