///<Summary>
        /// Gets the answer
        ///</Summary>
        public void Execute(IJobExecutionContext context)
        {
            try
            {
                DateTime DT_test = DateTime.Now.ToUniversalTime();

                CallTrackingDBContext _db = new CallTrackingDBContext();

                string interval = System.Configuration.ConfigurationManager.AppSettings["interval"].ToString();

                using (MySqlConnection objConn = new MySqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["CallTrackingDBContext"].ConnectionString))
                {
                    objConn.Open();
                    MySqlCommand objVisitorDeactivate = new MySqlCommand("VisitorDeactivate", objConn);
                    objVisitorDeactivate.CommandType = CommandType.StoredProcedure;
                    objVisitorDeactivate.Parameters.Add("@interval_", MySqlDbType.String).Value = interval;
                    objVisitorDeactivate.ExecuteNonQuery();
                    objConn.Close();
                }

                using (MySqlConnection objConn = new MySqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["CallTrackingDBContext"].ConnectionString))
                {
                    objConn.Open();
                    MySqlCommand objVisitorDeactivate = new MySqlCommand("VisitorDeactivate", objConn);
                    objVisitorDeactivate.CommandType = CommandType.StoredProcedure;
                    objVisitorDeactivate.Parameters.Add("@interval_", MySqlDbType.String).Value = interval;
                    objVisitorDeactivate.ExecuteNonQuery();
                    objConn.Close();
                }

                _db.Database.Connection.Close();
                Log.Info("VisitoirDeactivateJob запущен!");

                Log.Info("VisitoirDeactivateJob успешно выполнен!");
                Console.WriteLine("VisitoirDeactivateJob is running....." + DateTime.Now.ToString());
            }
            catch (Exception ex)
            {
                Log.Error(String.Format(@"Message: {0}, Source: {1}, TargetSite: {2}, Trace: {3} ", ex.Message, ex.Source, ex.TargetSite, ex.StackTrace));
                Console.WriteLine("VisitoirDeactivateJob is running with error....." + DateTime.Now.ToString());

                Console.WriteLine(String.Format(@"Message: {0}, Source: {1}, TargetSite: {2}, Trace: {3} ", ex.Message, ex.Source, ex.TargetSite, ex.StackTrace));
            }
        }
        ///<Summary>
        /// Gets the answer
        ///</Summary>
        public void Execute(IJobExecutionContext context)
        {
            try
               {
               DateTime DT_test = DateTime.Now.ToUniversalTime();

               CallTrackingDBContext _db = new CallTrackingDBContext();

               string interval = System.Configuration.ConfigurationManager.AppSettings["interval"].ToString();

               using (MySqlConnection objConn = new MySqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["CallTrackingDBContext"].ConnectionString))
               {
                   objConn.Open();
                   MySqlCommand objVisitorDeactivate = new MySqlCommand("VisitorDeactivate", objConn);
                   objVisitorDeactivate.CommandType = CommandType.StoredProcedure;
                   objVisitorDeactivate.Parameters.Add("@interval_", MySqlDbType.String).Value = interval;
                   objVisitorDeactivate.ExecuteNonQuery();
                   objConn.Close();
               }

               using (MySqlConnection objConn = new MySqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["CallTrackingDBContext"].ConnectionString))
               {
                   objConn.Open();
                   MySqlCommand objVisitorDeactivate = new MySqlCommand("VisitorDeactivate", objConn);
                   objVisitorDeactivate.CommandType = CommandType.StoredProcedure;
                   objVisitorDeactivate.Parameters.Add("@interval_", MySqlDbType.String).Value = interval;
                   objVisitorDeactivate.ExecuteNonQuery();
                   objConn.Close();
               }

               _db.Database.Connection.Close();
               Log.Info("VisitoirDeactivateJob запущен!");

               Log.Info("VisitoirDeactivateJob успешно выполнен!");
               Console.WriteLine("VisitoirDeactivateJob is running....." + DateTime.Now.ToString());
               }
               catch (Exception ex)
               {
               Log.Error(String.Format(@"Message: {0}, Source: {1}, TargetSite: {2}, Trace: {3} ", ex.Message, ex.Source, ex.TargetSite, ex.StackTrace));
               Console.WriteLine("VisitoirDeactivateJob is running with error....." + DateTime.Now.ToString());

               Console.WriteLine(String.Format(@"Message: {0}, Source: {1}, TargetSite: {2}, Trace: {3} ", ex.Message, ex.Source, ex.TargetSite, ex.StackTrace));
               }
        }
Example #3
0
        ///<Summary>
        /// Gets the answer
        ///</Summary>
        public void Execute(IJobExecutionContext context)
        {
            try
            {
                using (CallTrackingDBContext _db = new CallTrackingDBContext())
                {
                      Log.Info("SetCallInfoJob запущен!");
                    //получаем дату и время последнего запуска Job-а
                    string date = "";
                    JobsInfo JobsInfoQuery = _jobsinfoRep.GetLastActionDateForJob(Constants.SetCallInfoJob);//_db.jobsInfo.FirstOrDefault(t => t.job.Id == Constants.SetCallInfoJob);
                    if (JobsInfoQuery !=null)
                    {
                        //date = JobsInfoQuery.lastactiondate.ToString("YYYY-M-dd hh:");
                        date = JobsInfoQuery.lastactiondate.Year + "-" + JobsInfoQuery.lastactiondate.Month + "-"
                                + JobsInfoQuery.lastactiondate.Day + " " + JobsInfoQuery.lastactiondate.Hour + ":"
                                + JobsInfoQuery.lastactiondate.Minute + ":" + JobsInfoQuery.lastactiondate.Second;
                    }
                    else //если Job не запускался, то делаем работу за весь период
                    {
                       DateTime calldate = DateTime.Parse("2012-05-01");
                       date = calldate.Year + "-" + calldate.Month + "-"
                           + calldate.Day + " " + calldate.Hour + ":"
                            + calldate.Minute + ":" + calldate.Second;
                    }

                    //

                    using (MySqlConnection objConn = new MySqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["CallTrackingDBContext"].ConnectionString))
                    {
                        objConn.Open();
                        MySqlCommand objSetCallInfo = new MySqlCommand("SetCallInfo", objConn);
                        objSetCallInfo.CommandType = CommandType.StoredProcedure;
                        objSetCallInfo.CommandTimeout = int.MaxValue;
                        objSetCallInfo.Parameters.Add("@date_", MySqlDbType.Datetime).Value = DateTime.Parse(date);
                        objSetCallInfo.ExecuteNonQuery();
                        objConn.Close();
                    }

                    /*_db.Database.ExecuteSqlCommand(String.Format(@"update Cdr c, Visits v
                                                                   set c.VisitsId=v.Id
                                                                   where
                                                                   c.VisitsId is null
                                                                   and
                                                                   c.calldate>Date('{0}')
                                                                   and
                                                                   c.dcontext='frw_in'
                                                                   and
                                                                   c.dst=v.UserNumber
                                                                   and
                                                                   c.calldate between v.datetime and v.lastupdate", date));// + interval 3 minute */

                    JobsInfo new_jobs_info = new JobsInfo() { status = true, lastactiondate = DateTime.Now.ToUniversalTime(), jobId = Constants.SetCallInfoJob };//поставить еще jobId! ( также в классе JobsInfo )
                    _jobsinfoRep.Add(new_jobs_info);
                    _jobsinfoRep.Save();

                    Console.WriteLine("SetCallInfoJob is running....." + DateTime.Now.ToString());
                    Log.Info("SetCallInfoJob успешно выполнен!");
                }
            }
            catch (Exception ex)
            {
                while (ex.InnerException != null)
                    ex = ex.InnerException;
               //JobsInfo new_jobs_info = new JobsInfo() { status = false, lastactiondate = DateTime.Now.ToUniversalTime(), ExceptionText = String.Format(@"Message: {0}, Source: {1}, TargetSite: {2}, Trace: {3} ", ex.Message, ex.Source, ex.TargetSite, ex.StackTrace) };//поставить еще jobId! ( также в классе JobsInfo )
               // _jobsinfoRep.Add(new_jobs_info);
               // _jobsinfoRep.Save();
                 Log.Error(String.Format(@"Message: {0}, Source: {1}, TargetSite: {2}, Trace: {3} ", ex.Message, ex.Source, ex.TargetSite, ex.StackTrace));
                 Console.WriteLine("SetCallInfoJob is running with error....." + DateTime.Now.ToString());

                 Console.WriteLine(String.Format(@"Message: {0}, Source: {1}, TargetSite: {2}, Trace: {3} ", ex.Message, ex.Source, ex.TargetSite, ex.StackTrace));
            }
        }
Example #4
0
        ///<Summary>
        /// Gets the answer
        ///</Summary>
        public void Execute(IJobExecutionContext context)
        {
            try
            {
                using (CallTrackingDBContext _db = new CallTrackingDBContext())
                {
                    Log.Info("SetCallInfoJob запущен!");
                    //получаем дату и время последнего запуска Job-а
                    string   date          = "";
                    JobsInfo JobsInfoQuery = _jobsinfoRep.GetLastActionDateForJob(Constants.SetCallInfoJob);//_db.jobsInfo.FirstOrDefault(t => t.job.Id == Constants.SetCallInfoJob);
                    if (JobsInfoQuery != null)
                    {
                        //date = JobsInfoQuery.lastactiondate.ToString("YYYY-M-dd hh:");
                        date = JobsInfoQuery.lastactiondate.Year + "-" + JobsInfoQuery.lastactiondate.Month + "-"
                               + JobsInfoQuery.lastactiondate.Day + " " + JobsInfoQuery.lastactiondate.Hour + ":"
                               + JobsInfoQuery.lastactiondate.Minute + ":" + JobsInfoQuery.lastactiondate.Second;
                    }
                    else //если Job не запускался, то делаем работу за весь период
                    {
                        DateTime calldate = DateTime.Parse("2012-05-01");
                        date = calldate.Year + "-" + calldate.Month + "-"
                               + calldate.Day + " " + calldate.Hour + ":"
                               + calldate.Minute + ":" + calldate.Second;
                    }

                    //

                    using (MySqlConnection objConn = new MySqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["CallTrackingDBContext"].ConnectionString))
                    {
                        objConn.Open();
                        MySqlCommand objSetCallInfo = new MySqlCommand("SetCallInfo", objConn);
                        objSetCallInfo.CommandType    = CommandType.StoredProcedure;
                        objSetCallInfo.CommandTimeout = int.MaxValue;
                        objSetCallInfo.Parameters.Add("@date_", MySqlDbType.Datetime).Value = DateTime.Parse(date);
                        objSetCallInfo.ExecuteNonQuery();
                        objConn.Close();
                    }


                    /*_db.Database.ExecuteSqlCommand(String.Format(@"update Cdr c, Visits v
                     *                                             set c.VisitsId=v.Id
                     *                                             where
                     *                                             c.VisitsId is null
                     *                                             and
                     *                                             c.calldate>Date('{0}')
                     *                                             and
                     *                                             c.dcontext='frw_in'
                     *                                             and
                     *                                             c.dst=v.UserNumber
                     *                                             and
                     *                                             c.calldate between v.datetime and v.lastupdate", date));// + interval 3 minute */

                    JobsInfo new_jobs_info = new JobsInfo()
                    {
                        status = true, lastactiondate = DateTime.Now.ToUniversalTime(), jobId = Constants.SetCallInfoJob
                    };                                                                                                                                           //поставить еще jobId! ( также в классе JobsInfo )
                    _jobsinfoRep.Add(new_jobs_info);
                    _jobsinfoRep.Save();

                    Console.WriteLine("SetCallInfoJob is running....." + DateTime.Now.ToString());
                    Log.Info("SetCallInfoJob успешно выполнен!");
                }
            }
            catch (Exception ex)
            {
                while (ex.InnerException != null)
                {
                    ex = ex.InnerException;
                }
                //JobsInfo new_jobs_info = new JobsInfo() { status = false, lastactiondate = DateTime.Now.ToUniversalTime(), ExceptionText = String.Format(@"Message: {0}, Source: {1}, TargetSite: {2}, Trace: {3} ", ex.Message, ex.Source, ex.TargetSite, ex.StackTrace) };//поставить еще jobId! ( также в классе JobsInfo )
                // _jobsinfoRep.Add(new_jobs_info);
                // _jobsinfoRep.Save();
                Log.Error(String.Format(@"Message: {0}, Source: {1}, TargetSite: {2}, Trace: {3} ", ex.Message, ex.Source, ex.TargetSite, ex.StackTrace));
                Console.WriteLine("SetCallInfoJob is running with error....." + DateTime.Now.ToString());

                Console.WriteLine(String.Format(@"Message: {0}, Source: {1}, TargetSite: {2}, Trace: {3} ", ex.Message, ex.Source, ex.TargetSite, ex.StackTrace));
            }
        }