コード例 #1
0
        public string InitializeTimelinesExitPoll()
        {
            var db = new edayRoomEntities();

            db.ClearExitPoll();
            var centros = db.Centroes.Include("Movilizadors").Include("TestigoExitPolls").Where(c => c.exitPollActive ?? false).ToList();


            var tlExitPoll   = new List <ExitPollTimeline>();
            var exitPollList = new List <ExitPoll>();



            foreach (var c in centros)
            {
                if (c.exitPollActive ?? false)
                {
                    tlExitPoll.Add(new ExitPollTimeline
                    {
                        activa             = true,
                        id_centro          = c.id,
                        fecha              = DateTime.Now,
                        id_testigoExitPoll = c.TestigoExitPolls.First(t => t.activo).id,
                        id_parent          = null
                    });
                }
            }



            using (
                var con = new SqlConnection(ConfigurationManager.ConnectionStrings["dbConnSimple"].ConnectionString)
                )
            {
                con.Open();
                #region ExitPoll Timeline
                using (var tran = con.BeginTransaction())
                {
                    var bc = new SqlBulkCopy(con,
                                             SqlBulkCopyOptions.CheckConstraints |
                                             SqlBulkCopyOptions.FireTriggers |
                                             SqlBulkCopyOptions.KeepNulls, tran)
                    {
                        BatchSize = 1000, DestinationTableName = "exitpollTimeline"
                    };

                    bc.WriteToServer(tlExitPoll.AsDataReader());

                    tran.Commit();
                }
                #endregion
                con.Close();
            }



            return("todo inicializado, bien");
        }