/// <summary> /// Populate drum /// </summary> /// <param name="promoId"></param> /// <param name="bucketId"></param> /// <param name="drawingDateTime"></param> /// <param name="currentDate"></param> /// <param name="checkInStart"></param> /// <param name="checkInEnd"></param> /// <returns></returns> public static String PopulateDrum(Int32 promoId, Int32 bucketId, DateTime drawingDateTime, DateTime currentDate, DateTime checkInStart, DateTime checkInEnd, Int32 userID) { String errMessage = String.Empty; try { //// DRAW_SET_COUNTDOWN_START //DataAccess.ExecuteNonQuerySP("DRAW_SET_COUNTDOWN_START", null); // TR_SET_DRAWING_IN_PROGRESS DataAccess.ExecuteNonQuerySP("TR_SET_DRAWING_IN_PROGRESS", null); // PROMOTION_POINTS_PARTICIPATION_RULES_GetByKey List <SqlParameter> spParams = new List <SqlParameter>(); spParams.Add(new SqlParameter("@PromotionID", promoId)); DataSet results1 = DataAccess.ExecuteQuerySP("PROMOTION_POINTS_PARTICIPATION_RULES_GetByKey", spParams); if (results1.Tables.Count > 0) { //string checkInRequired = results1.Tables[0].Rows[0]["CheckInReqd"].ToString(); //string implicitRequired = results1.Tables[0].Rows[0]["ImplicitCheckinSupported"].ToString(); // If CheckIn Is Required? if (results1.Tables[0].Rows[0]["CheckInReqd"].ToString() == "True") { // If Implicit CheckIn Is Supported? if (results1.Tables[0].Rows[0]["ImplicitCheckinSupported"].ToString() == "True") { // PROMOTION_DRAWING_EVENT_ImplicitCheckIn spParams = new List <SqlParameter>(); spParams.Add(new SqlParameter("@PromotionID", promoId)); spParams.Add(new SqlParameter("@BucketID", bucketId)); spParams.Add(new SqlParameter("@DrawingDateTime", drawingDateTime)); spParams.Add(new SqlParameter("@CurrentDate", currentDate)); spParams.Add(new SqlParameter("@CheckInStart", checkInStart)); spParams.Add(new SqlParameter("@CheckInEnd", checkInEnd)); DataAccess.ExecuteNonQuerySP("PROMOTION_DRAWING_EVENT_ImplicitCheckIn", spParams); } } // PROMOTION_DRUM_GetPopulationEntries // Iterate through this to create standard entries. spParams = new List <SqlParameter>(); spParams.Add(new SqlParameter("@promotionID", promoId)); spParams.Add(new SqlParameter("@bucketID", bucketId)); DataSet results2 = DataAccess.ExecuteQuerySP("PROMOTION_DRUM_GetPopulationEntries", spParams); // PROMOTION_DRUM_ReturnEligibleCount spParams = new List <SqlParameter>(); spParams.Add(new SqlParameter("@promotionID", promoId)); spParams.Add(new SqlParameter("@bucketID", bucketId)); // EligibleCount DataSet result3 = DataAccess.ExecuteQuerySP("PROMOTION_DRUM_ReturnEligibleCount", spParams); Int32 totalPlayers = Int32.Parse(result3.Tables[0].Rows[0][0].ToString()); // DRAW_SET_POPULATION_VARIABLES spParams = new List <SqlParameter>(); spParams.Add(new SqlParameter("@totalPlayers", totalPlayers)); DataAccess.ExecuteNonQuerySP("DRAW_SET_POPULATION_VARIABLES", spParams); // TR_SET_DRAWING_IN_PROGRESS DataAccess.ExecuteNonQuerySP("TR_SET_DRAWING_IN_PROGRESS", null); // For Each Row In results2 (PROMOTION_DRUM_GetPopulationEntries) Populate standard entry & call DRAW_SET_CURRENT_POPULATED ++ 1 foreach (DataRow row in results2.Tables[0].Rows) { // PROMOTION_DRUM_PopulateStandardEntry spParams = new List <SqlParameter>(); spParams.Add(new SqlParameter("@promoID", promoId)); spParams.Add(new SqlParameter("@BucketID", bucketId)); spParams.Add(new SqlParameter("@PlayerAccountNum", row["PlayerAccountNum"].ToString())); spParams.Add(new SqlParameter("@CMSPlayerID", row["CMSPlayerID"].ToString())); spParams.Add(new SqlParameter("@Entries", row["Entries"].ToString())); spParams.Add(new SqlParameter("@userID", userID)); DataAccess.ExecuteNonQuerySP("PROMOTION_DRUM_PopulateStandardEntry", spParams); // exec DRAW_SET_CURRENT_POPULATED spParams = new List <SqlParameter>(); spParams.Add(new SqlParameter("@populatedPlayers", promoId)); DataAccess.ExecuteNonQuerySP("DRAW_SET_CURRENT_POPULATED", spParams); } // DRAW_RESET_TEMPDRUM DataAccess.ExecuteNonQuerySP("DRAW_RESET_TEMPDRUM", null); // DRAW_SET_POPULATION_COMPLETE DataAccess.ExecuteNonQuerySP("DRAW_SET_POPULATION_COMPLETE", null); // TR_CLEAR_DRAWING_IN_PROGRESS DataAccess.ExecuteNonQuerySP("TR_CLEAR_DRAWING_IN_PROGRESS", null); DrawingGroup group = BusinessLogic.GetDrawingGroup(promoId); // PROMOTION_DRUM_InsertDrumHistory //spParams = new List<SqlParameter>(); //spParams.Add(new SqlParameter("@PromotionID", promoId)); //spParams.Add(new SqlParameter("@BucketID", bucketId)); //spParams.Add(new SqlParameter("@DrumTimeStamp", group.Drum.LastPopulated)); //spParams.Add(new SqlParameter("@NumberOfEntries", group.Drum.NumberOfEntries)); //spParams.Add(new SqlParameter("@NumberOfPlayers", group.Drum.NumberOfPlayers)); //DataAccess.ExecuteNonQuerySP("PROMOTION_DRUM_InsertDrumHistory", spParams); } } catch (SqlException ex) { errMessage = ex.Message; } return(errMessage); }
public static DrawingGroup CompleteDrawing(Int32 promotionId, Int32 bucketId, DateTime drawingDateTime, Int32 userId) { try { // DRAW_RESET_CHECK DataAccess.ExecuteNonQuerySP("DRAW_RESET_CHECK", null); // DRAW_CLOSE_MASSANIMATION DataAccess.ExecuteNonQuerySP("DRAW_CLOSE_MASSANIMATION", null); // PROMOTION_DRAWING_EVENT_MarkComplete List <SqlParameter> spParams = new List <SqlParameter>(); spParams.Add(new SqlParameter("@promotionID", promotionId)); spParams.Add(new SqlParameter("@bucketID", bucketId)); spParams.Add(new SqlParameter("@drawingDateTime", drawingDateTime)); spParams.Add(new SqlParameter("@userID", userId)); DataAccess.ExecuteNonQuerySP("PROMOTION_DRAWING_EVENT_MarkComplete", spParams); // PROMOTION_DRAWING_EVENT_RecordPermanentWinners spParams = new List <SqlParameter>(); spParams.Add(new SqlParameter("@promoid", promotionId)); spParams.Add(new SqlParameter("@bucketid", bucketId)); spParams.Add(new SqlParameter("@drawingdate", drawingDateTime)); DataAccess.ExecuteNonQuerySP("PROMOTION_DRAWING_EVENT_RecordPermanentWinners", spParams); // PROMOTION_DRUM_Clear spParams = new List <SqlParameter>(); spParams.Add(new SqlParameter("@promotionID", promotionId)); spParams.Add(new SqlParameter("@bucketID", bucketId)); DataAccess.ExecuteNonQuerySP("PROMOTION_DRUM_Clear", spParams); // PROMOTION_DRAWING_EVENT_GetNextAvailable DataSet result = new DataSet(); spParams = new List <SqlParameter>(); spParams.Add(new SqlParameter("@promoid", promotionId)); spParams.Add(new SqlParameter("@bucketid", bucketId)); spParams.Add(new SqlParameter("@drawingdate", drawingDateTime)); result = DataAccess.ExecuteQuerySP("PROMOTION_DRAWING_EVENT_GetNextAvailable", spParams); if (result.Tables[0].Rows.Count == 0) { // PROMOTION_DRAWING_ListByEvent DataSet results = new DataSet(); spParams = new List <SqlParameter>(); spParams.Add(new SqlParameter("@promoid", promotionId)); spParams.Add(new SqlParameter("@bucketid", bucketId)); spParams.Add(new SqlParameter("@drawingdatetime", drawingDateTime)); results = DataAccess.ExecuteQuerySP("PROMOTION_DRAWING_ListByEvent_v2", spParams); // PROMOTION_DRAWING_EVENT_GetNextAvailableForPromo DataSet result2 = new DataSet(); spParams = new List <SqlParameter>(); spParams.Add(new SqlParameter("@promoid", promotionId)); result2 = DataAccess.ExecuteQuerySP("PROMOTION_DRAWING_EVENT_GetNextAvailableForPromo", spParams); // PROMOTION_DRAWING_GetNextForEvent DataSet result3 = new DataSet(); spParams = new List <SqlParameter>(); spParams.Add(new SqlParameter("@promoid", promotionId)); spParams.Add(new SqlParameter("@bucketid", bucketId)); spParams.Add(new SqlParameter("@drawingdatetime", drawingDateTime)); result3 = DataAccess.ExecuteQuerySP("PROMOTION_DRAWING_GetNextForEvent", spParams); // PROMOTION_DRUM_GetByKey DataSet result4 = new DataSet(); spParams = new List <SqlParameter>(); spParams.Add(new SqlParameter("@promoid", promotionId)); spParams.Add(new SqlParameter("@bucketid", bucketId)); result4 = DataAccess.ExecuteQuerySP("PROMOTION_DRUM_GetByKey", spParams); // PROMOTION_DRUM_GetEntryCount DataSet result5 = new DataSet(); spParams = new List <SqlParameter>(); spParams.Add(new SqlParameter("@promoid", promotionId)); spParams.Add(new SqlParameter("@bucketid", bucketId)); result5 = DataAccess.ExecuteQuerySP("PROMOTION_DRUM_GetEntryCount", spParams); // PROMOTION_DRUM_GetPlayerCount DataSet result6 = new DataSet(); spParams = new List <SqlParameter>(); spParams.Add(new SqlParameter("@promoid", promotionId)); spParams.Add(new SqlParameter("@bucketid", bucketId)); result6 = DataAccess.ExecuteQuerySP("PROMOTION_DRUM_GetPlayerCount", spParams); // PROMOTION_DRAWING_ListByEvent DataSet result7 = new DataSet(); spParams = new List <SqlParameter>(); spParams.Add(new SqlParameter("@promoid", promotionId)); spParams.Add(new SqlParameter("@bucketid", bucketId)); spParams.Add(new SqlParameter("@drawingdatetime", drawingDateTime)); result7 = DataAccess.ExecuteQuerySP("PROMOTION_DRAWING_ListByEvent", spParams); Int32 drawingId = Convert.ToInt32(result3.Tables[0].Rows[0]["DrawingID"].ToString()); // PROMOTION_DRAWING_GetCurrentWinner DataSet result8 = new DataSet(); spParams = new List <SqlParameter>(); spParams.Add(new SqlParameter("@promoid", promotionId)); spParams.Add(new SqlParameter("@bucketid", bucketId)); spParams.Add(new SqlParameter("@drawingid", drawingId)); result8 = DataAccess.ExecuteQuerySP("PROMOTION_DRAWING_GetCurrentWinner", spParams); // PROMOTION_DRAWING_GetNextForEvent DataSet result9 = new DataSet(); spParams = new List <SqlParameter>(); spParams.Add(new SqlParameter("@promoid", promotionId)); spParams.Add(new SqlParameter("@bucketid", bucketId)); spParams.Add(new SqlParameter("@drawingdatetime", drawingDateTime)); result9 = DataAccess.ExecuteQuerySP("PROMOTION_DRAWING_GetNextForEvent", spParams); return(null); } else { return(BusinessLogic.GetDrawingGroup(promotionId)); } } catch (Exception ex) { return(null); } }