private static ScheduledAnnouncement[] Fetch(int? id, User.eGender? gender, bool? paidMember, bool? hasPhotos, bool? hasProfile, int? languageID, string country, string region, eType? type) { using (SqlConnection conn = Config.DB.Open()) { SqlDataReader reader = (SqlDataReader) SqlHelper.GetDB().ExecuteReader( "FetchScheduledAnnouncement", id, gender, paidMember, hasPhotos, hasProfile, languageID, country, region, type); List<ScheduledAnnouncement> lScheduledAnnouncements = new List<ScheduledAnnouncement>(); while (reader.Read()) { ScheduledAnnouncement scheduledAnnouncement = new ScheduledAnnouncement(); scheduledAnnouncement.id = (int)reader["ID"]; scheduledAnnouncement.name = (string) reader["Name"]; scheduledAnnouncement.subject = (string)reader["Subject"]; scheduledAnnouncement.body = (string)reader["Body"]; scheduledAnnouncement.gender = reader["Gender"] != DBNull.Value ? (User.eGender?) ((int) reader["Gender"]) : null; scheduledAnnouncement.paidMember = reader["PaidMember"] != DBNull.Value ? (bool?) reader["PaidMember"] : null; scheduledAnnouncement.hasPhotos = reader["HasPhotos"] != DBNull.Value ? (bool?)reader["HasPhotos"] : null; scheduledAnnouncement.hasProfile = reader["HasProfile"] != DBNull.Value ? (bool?)reader["HasProfile"] : null; scheduledAnnouncement.languageID = reader["LanguageID"] != DBNull.Value ? (int?)reader["LanguageID"] : null; scheduledAnnouncement.country = reader["Country"] != DBNull.Value ? (string)reader["Country"] : null; scheduledAnnouncement.region = reader["Region"] != DBNull.Value ? (string)reader["Region"] : null; scheduledAnnouncement.type = (eType) reader["Type"]; scheduledAnnouncement.date = reader["Date"] != DBNull.Value ? (DateTime?)reader["Date"] : null; scheduledAnnouncement.days = reader["Days"] != DBNull.Value ? (int?)reader["Days"] : null; lScheduledAnnouncements.Add(scheduledAnnouncement); } return lScheduledAnnouncements.ToArray(); } }
protected void btnSave_Click(object sender, EventArgs e) { if (!HasWriteAccess) return; string name = txtName.Text.Trim(); string subject = txtSubject.Text.Trim(); string body = htmlEditor != null ? htmlEditor.Content : ckeditor.Text; User.eGender? gender = null; bool? paidMember = null; bool? hasPhotos = null; bool? hasProfile = null; int? languageID = null; string country = null; string region = null; ScheduledAnnouncement.eType type; DateTime? date = null; int? days = null; if (ddType.SelectedIndex == 0) { Messagebox1.Show(Lang.TransA("Please select a type!"), Misc.MessageType.Error); return; } if (name.Length == 0) { Messagebox1.Show(Lang.TransA("Please enter name!"), Misc.MessageType.Error); return; } if (subject.Length == 0) { Messagebox1.Show(Lang.TransA("Please enter subject!"), Misc.MessageType.Error); return; } if (body.Length == 0) { Messagebox1.Show(Lang.TransA("Please enter body!"), Misc.MessageType.Error); return; } if (pnlDate.Visible && !datePicker1.ValidDateEntered) { Messagebox1.Show(Lang.TransA("Please select valid date!"), Misc.MessageType.Error); return; } if (pnlInactivity.Visible) { int inactivityDays; if (!Int32.TryParse(txtInactivity.Text.Trim(), out inactivityDays)) { Messagebox1.Show(Lang.TransA("Please enter a number!"), Misc.MessageType.Error); return; } days = inactivityDays; } if (pnlAfterRegistration.Visible) { int daysAfterRegistration; if (!Int32.TryParse(txtAfterRegistration.Text.Trim(), out daysAfterRegistration)) { Messagebox1.Show(Lang.TransA("Please enter a number!"), Misc.MessageType.Error); return; } days = daysAfterRegistration; } if (pnlBeforeSubscriptionEnd.Visible) { int daysBeforeEnd; if (!Int32.TryParse(txtBeforeSubscriptionEnd.Text.Trim(), out daysBeforeEnd)) { Messagebox1.Show(Lang.TransA("Please enter a number!"), Misc.MessageType.Error); return; } days = daysBeforeEnd; } if (ddGender.SelectedIndex > 0) gender = (User.eGender?) Convert.ToInt32(ddGender.SelectedValue); if (ddPaid.SelectedIndex > 0) paidMember = ddPaid.SelectedIndex == 1; if (ddHasPhotos.SelectedIndex > 0) hasPhotos = ddHasPhotos.SelectedIndex == 1; if (ddHasProfile.SelectedIndex > 0) hasProfile = ddHasProfile.SelectedIndex == 1; if (ddLanguage.SelectedIndex > 0) languageID = Convert.ToInt32(ddLanguage.SelectedValue); if (ddCountry.SelectedValue.Trim().Length > 0) country = ddCountry.SelectedValue.Trim(); if (ddRegion.SelectedValue.Trim().Length > 0) region = ddRegion.SelectedValue.Trim(); type = (ScheduledAnnouncement.eType) Convert.ToInt32(ddType.SelectedValue); if (pnlDate.Visible) date = datePicker1.SelectedDate; ScheduledAnnouncement announcement = null; if (!CurrentAnnouncementID.HasValue) // add new announcement = new ScheduledAnnouncement(); else announcement = ScheduledAnnouncement.Fetch(CurrentAnnouncementID.Value); announcement.Name = name; announcement.Subject = subject; announcement.Body = body; announcement.Gender = gender; announcement.PaidMember = paidMember; announcement.HasPhotos = hasPhotos; announcement.HasProfile = hasProfile; announcement.LanguageId = languageID; announcement.Country = country; announcement.Region = region; announcement.Type = type; announcement.Date = date; announcement.Days = days; announcement.Save(); Messagebox1.Show(Lang.TransA("Announcements has been updated successfully!"), Misc.MessageType.Success); pnlAnnouncement.Visible = false; pnlAnnouncements.Visible = true; LoadAnnouncements(); }