Exemplo n.º 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";
        }