//Ganesh on 30nov09
 //This method will insert a new job in AutomationJob table.
 public void insertAutomationJob(AutomationMaster objAutomationMaster, string ScheduledTime, string sendType, Int64 campaignMasterID)
 {
     AutomationJob objAutomationJob = new AutomationJob(ConnectionString);
     objAutomationJob.CampaignMasterID = campaignMasterID;
     objAutomationJob.CreatedDatetime = DateTime.Now;
     objAutomationJob.ScheduledDatetime = Convert.ToDateTime(ScheduledTime);
     objAutomationJob.AutomationScheduledDate = Convert.ToDateTime(ScheduledTime);
     objAutomationJob.SendType = sendType;
     objAutomationJob.Status = 1;
     objAutomationJob.Insert();
 }
        public void insertAutomationJobUpdateCampaignMaster(AutomationMaster objAutomationMaster, string ScheduledTime, int CampaignMasterID)
        {
            //int CampaignMasterID = insertCampainMaster(objAutomationMaster);
            if (CampaignMasterID != 0)
            {
                AutomationJob objAutomationJob = new AutomationJob(ConnectionString);
                //objCampaignJob.CampaignMasterID = CampaignMasterID;
                //objCampaignJob.CreatedDatetime = DateTime.Now;
                objAutomationJob.ScheduledDatetime = Convert.ToDateTime(ScheduledTime);
                objAutomationJob.AutomationScheduledDate = Convert.ToDateTime(ScheduledTime);
                //objCampaignJob.ModifiedDate = Convert.ToDateTime(DateTime.Now);
                //objCampaignJob.Status = 1;
                objAutomationJob.Update();

            }
        }
        public void bindGrid(string fillflag)
        {
            try
            {
                string sortdir = (fillflag == "sort" ? GetSortDirection() : GridViewSortDirection);
                AutomationJob objAutomationJob = new AutomationJob(ConnectionString);
                DataTable automationjobs = objAutomationJob.getAllCampaigns(ConnectionString, GridSortExpression, sortdir);

                automationjobs.AsEnumerable().ToList().ForEach(delegate(DataRow row) { if (row["CampaignName"].ToString().Contains("""))row["CampaignName"] = Server.HtmlEncode(row["CampaignName"].ToString()); });

                //DataView dv = new DataView(campaignJobs);
                //dv.Sort = GridSortExpression + " " + (fillflag == "sort" ? GetSortDirection() : GridViewSortDirection);
                grdAutomation.DataSource = automationjobs;
                grdAutomation.DataBind();
                GridPrevSortExpression = GridSortExpression;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// This method will return an object representing the record matching the primary key information specified.
        /// </summary>
        ///
        /// <param name="pk" type="CampaignJobPrimaryKey">Primary Key information based on which data is to be fetched.</param>
        ///
        /// <returns>object of class CampaignJob</returns>
        ///
        /// <remarks>
        ///
        /// <RevisionHistory>
        /// Author				Date			Description
        /// DLGenerator			2/3/2010 4:14:00 PM		Created function
        /// 
        /// </RevisionHistory>
        ///
        /// </remarks>
        ///
        public static AutomationJob SelectOne(AutomationJobPrimaryKey pk, String ConnectionString)
        {
            DatabaseHelper oDatabaseHelper = new DatabaseHelper(ConnectionString);
            bool ExecutionState = false;

            // Pass the values of all key parameters to the stored procedure.
            System.Collections.Specialized.NameValueCollection nvc = pk.GetKeysAndValues();
            foreach (string key in nvc.Keys)
            {
                oDatabaseHelper.AddParameter("@" + key, nvc[key]);
            }
            // The parameter '@ErrorCode' will contain the status after execution of the stored procedure.
            oDatabaseHelper.AddParameter("@ErrorCode", -1, System.Data.ParameterDirection.Output);

            IDataReader dr = oDatabaseHelper.ExecuteReader("sp_AutomationJob_SelectByPrimaryKey", ref ExecutionState);
            if (dr.Read())
            {
                AutomationJob obj = new AutomationJob(ConnectionString);
                PopulateObjectFromReader(obj, dr);
                dr.Close();
                oDatabaseHelper.Dispose();
                return obj;
            }
            else
            {
                dr.Close();
                oDatabaseHelper.Dispose();
                return null;
            }
        }
        /// <summary>
        /// Populates the fields for multiple objects from the columns found in an open reader.
        /// </summary>
        ///
        /// <param name="rdr" type="IDataReader">An object that implements the IDataReader interface</param>
        ///
        /// <returns>Object of CampaignJobs</returns>
        ///
        /// <remarks>
        ///
        /// <RevisionHistory>
        /// Author				Date			Description
        /// DLGenerator			2/3/2010 4:14:00 PM		Created function
        /// 
        /// </RevisionHistory>
        ///
        /// </remarks>
        ///
        internal static AutomationJobs PopulateObjectsFromReaderWithCheckingReader(IDataReader rdr, DatabaseHelper oDatabaseHelper, string ConnectionString)
        {
            AutomationJobs list = new AutomationJobs();

            if (rdr.Read())
            {
                AutomationJob obj = new AutomationJob(ConnectionString);
                PopulateObjectFromReader(obj, rdr);
                list.Add(obj);
                while (rdr.Read())
                {
                    obj = new AutomationJob(ConnectionString);
                    PopulateObjectFromReader(obj, rdr);
                    list.Add(obj);
                }
                oDatabaseHelper.Dispose();
                return list;
            }
            else
            {
                oDatabaseHelper.Dispose();
                return null;
            }
        }
        internal static AutomationJobs PopulateObjectsFromReaderNew(IDataReader rdr, string ConnectionString)
        {
            AutomationJobs list = new AutomationJobs();

            while (rdr.Read())
            {
                AutomationJob obj = new AutomationJob(ConnectionString);
                PopulateObjectFromReaderNew(obj, rdr);
                list.Add(obj);
            }
            return list;
        }