//بدنه ایونت ایجاد پست جدید #region btnCreatePost_Click(object sender, EventArgs e) /// <summary> /// ایونت ایجاد پست جدید /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnCreatePost_Click(object sender, EventArgs e) { try { //با استفاده از دیتا تیبل و تیبل آدابتور یک خط جدید ایجاد میکنیم DataAccessLayer.DataSet.PostsDataTable oPostDataTable = new DataAccessLayer.DataSet.PostsDataTable(); DataAccessLayer.DataSetTableAdapters.PostsTableAdapter oPostTableAdapter = new DataAccessLayer.DataSetTableAdapters.PostsTableAdapter(); DataAccessLayer.DataSet.PostsRow oPostRow = oPostDataTable.NewPostsRow(); System.DateTime dtmNow = Tools.Utility.GetNow(); //مقدار دهی به خط ایجاد شده oPostRow.Body = txtPost.Text; oPostRow.ExtendedBody = string.Empty;; oPostRow.InsertTime = dtmNow; oPostRow.UpdateTime = dtmNow; oPostRow.PostCategoryId = Convert.ToInt32(txtPostCategoryId.Text); oPostRow.PostTypeId = Convert.ToInt32(txtPostTypeId.Text); oPostRow.Title = txtTitle.Text; oPostRow.UserId = (int)Session["UserID"]; oPostRow.PublishTime = dtmNow; oPostRow.PostVisitedCount = 1; oPostRow.Keywords = txtKeyword1.Text; if (chkIsHot.Checked == true) { oPostRow.IsHot = true; } else { oPostRow.IsHot = false; } if (chkIsPostActive.Checked == true) { oPostRow.IsPostActive = true; } else { oPostRow.IsPostActive = false; } if (chkIsCommentEnabled.Checked == true) { oPostRow.IsCommentEnabled = true; } else { oPostRow.IsCommentEnabled = false; } //خط جدید مقدار دهی شده را به دیتا تیبل اد میکنیم oPostDataTable.AddPostsRow(oPostRow); //تیبل آدابتر و بروز رسانی دیتا بیس oPostTableAdapter.Update(oPostDataTable); //نمایش پیام موفقیت string strInformationMessage = Resources.Messages.InformationMessage012; DisplayInformationMessage(strInformationMessage); } catch (ApplicationException ex0) { //متغیر ای ایکس را لاگ کنید throw (new ApplicationException(Resources.Messages.ErrorMessage020)); } catch (Exception ex) { //متغیر ای ایکس را لاگ کنید string strErrorMessage = string.Format(Resources.Messages.ErrorMessage020); DisplayErrorMessage(strErrorMessage); return; } }
//بدنه ایجاد پست فارسی #region btnSubmit_Click(object sender, EventArgs e) /// <summary> /// ایونت ایجاد پست /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnSubmit_Click(object sender, EventArgs e) { //ایجاد یک شی از کلاس استریم رایتر System.IO.StreamWriter oStreamWriter = null; //اگر وجود داشت از استریم ریدر یک شی میسازیم تا محتویات فایل را بخوانیم System.IO.StreamReader oStreamReader = null; try { //با استفاده از دیتا تیبل و تیبل آدابتور یک خط جدید ایجاد میکنیم DataAccessLayer.DataSet.PostsDataTable oPostDataTable = new DataAccessLayer.DataSet.PostsDataTable(); DataAccessLayer.DataSetTableAdapters.PostsTableAdapter oPostTableAdapter = new DataAccessLayer.DataSetTableAdapters.PostsTableAdapter(); DataAccessLayer.DataSet.PostsRow oPostRow = oPostDataTable.NewPostsRow(); //Sava To Database1 //########################################################################### //مقدار دهی به خط ایجاد شده oPostRow.Body = txtPost.Text; oPostRow.ExtendedBody = imgAvatar.ImageUrl; System.DateTime dtmNow = Tools.Utility.GetNow(); oPostRow.InsertTime = dtmNow; oPostRow.UpdateTime = dtmNow; oPostRow.PostCategoryId = 1; //Farsi oPostRow.PostTypeId = 28; //Akhbar oPostRow.Title = txtSubject.Text; oPostRow.UserId = (int)Session["UserID"]; oPostRow.PublishTime = dtmNow; oPostRow.PostVisitedCount = 0; oPostRow.Keywords = txtKeyword1.Text; oPostRow.Password = string.Empty; oPostRow.IsHot = false; oPostRow.IsPostActive = true; oPostRow.IsCommentEnabled = false; //خط جدید مقدار دهی شده را به دیتا تیبل اد میکنیم oPostDataTable.AddPostsRow(oPostRow); //تیبل آدابتر و بروز رسانی دیتا بیس oPostTableAdapter.Update(oPostDataTable); //نمایش پیام موفقیت string strInformationMessage = Resources.Messages.InformationMessage012; DisplayInformationMessage(strInformationMessage); } catch (ApplicationException ex0) { //متغیر ای ایکس را لاگ کنید throw (new ApplicationException(Resources.Messages.ErrorMessage020)); } catch (Exception ex) { //متغیر ای ایکس را لاگ کنید string strErrorMessage = string.Format(Resources.Messages.ErrorMessage020); DisplayErrorMessage(strErrorMessage); return; } finally { if (oStreamReader != null) { oStreamReader.Dispose(); oStreamReader = null; } if (oStreamWriter != null) { oStreamWriter.Dispose(); oStreamWriter = null; } } }
//بدنه مربوط به متد اینیشیالایز #region Initialize() /// <summary> /// متد ذیل در هنگام بارگزاری صفحه اتفاق میفتد /// </summary> private void Initialize() { // تکميل فيلد {0} الزامی است rfvPost.ErrorMessage = string.Format(Resources.Messages.ErrorMessage002, Resources.Captions.Post); // تکميل فيلد {0} الزامی است rfvPostTypeId.ErrorMessage = string.Format(Resources.Messages.ErrorMessage002, Resources.Captions.PostTypeId); // تکميل فيلد {0} الزامی است rfvPostCategoryId.ErrorMessage = string.Format(Resources.Messages.ErrorMessage002, Resources.Captions.PostCategoryId); // تکميل فيلد {0} الزامی است rfvTitle.ErrorMessage = string.Format(Resources.Messages.ErrorMessage002, Resources.Captions.Title); // تکميل فيلد {0} الزامی است rfvKeyword1.ErrorMessage = string.Format(Resources.Messages.ErrorMessage002, Resources.Captions.Keyword); try { //تعریف یک رشته که حاوی یوزر آی دی از آدرس بار میباشد string strPostId = Request.Params["PostId"]; txtPostID.Text = strPostId; //با استفاده از دیتا تیبل و تیبل آدابتر مقادیر را در صورت وجود از دیتا بیس خوانده و در یک خط قرار میدهیم DataAccessLayer.DataSet.PostsDataTable oPostDataTable = new DataAccessLayer.DataSet.PostsDataTable(); DataAccessLayer.DataSetTableAdapters.PostsTableAdapter oPostTableAdapter = new DataAccessLayer.DataSetTableAdapters.PostsTableAdapter(); oPostTableAdapter.FillByPostId(oPostDataTable, Convert.ToInt32(strPostId)); if (oPostDataTable.Count == 0) { string strErrorMessage = string.Format(Resources.Messages.ErrorMessage020); DisplayErrorMessage(strErrorMessage); return; } DataAccessLayer.DataSet.PostsRow oPostRow = oPostDataTable[0]; ////مقدار دهی کنترل های صفحه از دیتابیس توسط خط ایجاد شده txtPost.Text = oPostRow.Body; txtTitle.Text = oPostRow.Title; txtPostTypeId.Text = oPostRow.PostTypeId.ToString(); txtPostCategoryId.Text = oPostRow.PostCategoryId.ToString(); txtKeyword1.Text = oPostRow.Keywords; txtPublishTime.Text = oPostRow.PublishTime.ToString(); txtUpdateTime.Text = oPostRow.UpdateTime.ToString(); txtInsertTime.Text = oPostRow.InsertTime.ToString(); chkIsCommentEnabled.Checked = oPostRow.IsCommentEnabled; chkIsHot.Checked = oPostRow.IsHot; chkIsPostActive.Checked = oPostRow.IsPostActive; ddlPostCategory.SelectedIndex = oPostRow.PostCategoryId; ddlPostType.SelectedIndex = oPostRow.PostTypeId; //بروز رسانی تیبل آدابتر و بانک اطلاعات oPostTableAdapter.Update(oPostDataTable); } catch (ApplicationException ex0) { //متغیر ای ایکس را لاگ کنید throw (new ApplicationException(Resources.Messages.ErrorMessage020)); } catch (Exception ex) { //متغیر ای ایکس را لاگ کنید string strErrorMessage = string.Format(Resources.Messages.ErrorMessage020); DisplayErrorMessage(strErrorMessage); return; } }
//بدنه ایجاد خبرنامه #region btnSubmit_Click(object sender, EventArgs e) /// <summary> /// ایونت ایجاد پست /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnCreateNewsletter_Click(object sender, EventArgs e) { //اگر وجود داشت از استریم ریدر یک شی میسازیم تا محتویات فایل را بخوانیم try { //با استفاده از دیتا تیبل و تیبل آدابتور یک خط جدید ایجاد میکنیم DataAccessLayer.DataSet.PostsDataTable oPostDataTable = new DataAccessLayer.DataSet.PostsDataTable(); DataAccessLayer.DataSetTableAdapters.PostsTableAdapter oPostTableAdapter = new DataAccessLayer.DataSetTableAdapters.PostsTableAdapter(); DataAccessLayer.DataSet.PostsRow oPostRow = oPostDataTable.NewPostsRow(); DataAccessLayer.DataSet.UsersDataTable oUserDataTable = new DataAccessLayer.DataSet.UsersDataTable(); DataAccessLayer.DataSetTableAdapters.UsersTableAdapter oUserTableAdapters = new DataAccessLayer.DataSetTableAdapters.UsersTableAdapter(); oUserTableAdapters.Fill(oUserDataTable); //Sava To Database1 //########################################################################### //مقدار دهی به خط ایجاد شده oPostRow.Body = txtPost.Text; oPostRow.ExtendedBody = ""; System.DateTime dtmNow = Tools.Utility.GetNow(); oPostRow.InsertTime = dtmNow; oPostRow.UpdateTime = dtmNow; oPostRow.PostCategoryId = 1; oPostRow.PostTypeId = 29; oPostRow.Title = txtSubject.Text; oPostRow.UserId = (int)Session["UserId"]; oPostRow.PublishTime = dtmNow; oPostRow.PostVisitedCount = 0; oPostRow.Keywords = "خبرنامه "; oPostRow.Password = string.Empty; oPostRow.IsHot = false; oPostRow.IsPostActive = true; oPostRow.IsCommentEnabled = true; //خط جدید مقدار دهی شده را به دیتا تیبل اد میکنیم oPostDataTable.AddPostsRow(oPostRow); //تیبل آدابتر و بروز رسانی دیتا بیس oPostTableAdapter.Update(oPostDataTable); string strPathName = System.Web.HttpContext.Current.Server.MapPath("~/App_Data/LocalizedEmailTemplates/News.htm"); string strEmailBody = Tools.File.Read(strPathName); //جایگذاری اطلاعات کاربر با قالب strEmailBody = strEmailBody .Replace("[Subject]", oPostRow.Title) .Replace("[Body]", oPostRow.Body); if (oUserDataTable.Count != 0) { for (int i = 0; i < oUserDataTable.Count; i++) { //ایجاد شی از میل آدرس System.Net.Mail.MailAddress oMailAddress = new System.Net.Mail.MailAddress(oUserDataTable[i].UserEmail); //################################ //کدهای مربوط به ارسال ایمیل //################################ } } //نمایش پیام موفقیت string strInformationMessage = Resources.Messages.InformationMessage012; DisplayInformationMessage(strInformationMessage); } catch (ApplicationException ex0) { //متغیر ای ایکس را لاگ کنید throw (new ApplicationException(Resources.Messages.ErrorMessage020)); } catch (Exception ex) { //متغیر ای ایکس را لاگ کنید string strErrorMessage = string.Format(Resources.Messages.ErrorMessage020); DisplayErrorMessage(strErrorMessage); return; } }