public static int CreateVote(VoteInfo vote) { int num = 0; VoteDao voteDao = new VoteDao(); long num3 = vote.VoteId = voteDao.Add(vote, null); if (num3 > 0) { num = 1; if (vote.VoteItems != null) { foreach (VoteItemInfo voteItem in vote.VoteItems) { voteItem.VoteId = num3; voteItem.ItemCount = 0; num += (int)voteDao.Add(voteItem, null); } } } return(num); }
public static bool UpdateVote(VoteInfo vote) { Database database = DatabaseFactory.CreateDatabase(); using (DbConnection dbConnection = database.CreateConnection()) { VoteDao voteDao = new VoteDao(); dbConnection.Open(); DbTransaction dbTransaction = dbConnection.BeginTransaction(); try { if (!voteDao.Update(vote, null)) { dbTransaction.Rollback(); return(false); } if (!voteDao.DeleteVoteItem(vote.VoteId, dbTransaction)) { dbTransaction.Rollback(); return(false); } int num = 0; if (vote.VoteItems != null) { foreach (VoteItemInfo voteItem in vote.VoteItems) { voteItem.VoteId = vote.VoteId; voteItem.ItemCount = 0; num += (int)voteDao.Add(voteItem, null); } if (num < vote.VoteItems.Count) { dbTransaction.Rollback(); return(false); } } dbTransaction.Commit(); return(true); } catch (Exception) { dbTransaction.Rollback(); return(false); } finally { dbConnection.Close(); } } }