/// <summary> /// Adds a new mailbox plan to the database /// </summary> /// <param name="plan"></param> public static void AddMailboxPlan(BasePlanMailbox plan) { // Initialize SQL SqlConnection sql = new SqlConnection(ConfigurationManager.ConnectionStrings["DB"].ConnectionString); SqlCommand cmd = new SqlCommand(@"INSERT INTO Plans_ExchangeMailbox (MailboxPlanName, CompanyCode, MailboxSizeMB, MaxMailboxSizeMB, MaxSendKB, MaxReceiveKB, MaxRecipients, EnablePOP3, EnableIMAP, EnableOWA, EnableMAPI, EnableAS, EnableECP, MaxKeepDeletedItems, MailboxPlanDesc, Price, Cost, AdditionalGBPrice) VALUES (@MailboxPlanName, @CompanyCode, @MailboxSizeMB, @MaxMailboxSizeMB, @MaxSendKB, @MaxReceiveKB, @MaxRecipients, @EnablePOP3, @EnableIMAP, @EnableOWA, @EnableMAPI, @EnableAS, @EnableECP, @MaxKeepDeletedItems, @MailboxPlanDesc, @Price, @Cost, @AdditionalGBPrice)", sql); try { // Add parameter cmd.Parameters.AddWithValue("@MailboxPlanName", plan.MailboxPlanName); cmd.Parameters.AddWithValue("@CompanyCode", plan.CompanyCode); cmd.Parameters.AddWithValue("@MailboxSizeMB", plan.MailboxSize); cmd.Parameters.AddWithValue("@MaxMailboxSizeMB", plan.MaxMailboxSize); cmd.Parameters.AddWithValue("@MaxSendKB", plan.MaxSendKB); cmd.Parameters.AddWithValue("@MaxReceiveKB", plan.MaxReceiveKB); cmd.Parameters.AddWithValue("@MaxRecipients", plan.MaxRecipients); cmd.Parameters.AddWithValue("@EnablePOP3", plan.EnablePOP3); cmd.Parameters.AddWithValue("@EnableIMAP", plan.EnableIMAP); cmd.Parameters.AddWithValue("@EnableOWA", plan.EnableOWA); cmd.Parameters.AddWithValue("@EnableMAPI", plan.EnableMAPI); cmd.Parameters.AddWithValue("@EnableAS", plan.EnableAS); cmd.Parameters.AddWithValue("@EnableECP", plan.EnableECP); cmd.Parameters.AddWithValue("@MaxKeepDeletedItems", plan.MaxKeepDeletedItems); cmd.Parameters.AddWithValue("@MailboxPlanDesc", plan.MailboxPlanDesc); cmd.Parameters.AddWithValue("@Price", plan.Price); cmd.Parameters.AddWithValue("@Cost", plan.Cost); cmd.Parameters.AddWithValue("@AdditionalGBPrice", plan.AdditionalGBPrice); // Open Connection sql.Open(); // Insert cmd.ExecuteNonQuery(); // Close sql.Close(); } catch (Exception) { throw; } finally { cmd.Dispose(); sql.Dispose(); } }
/// <summary> /// Updates an existing mailbox plan /// </summary> /// <param name="plan"></param> public static void UpdateMailboxPlan(BasePlanMailbox plan) { // Initialize SQL SqlConnection sql = new SqlConnection(ConfigurationManager.ConnectionStrings["DB"].ConnectionString); SqlCommand cmd = new SqlCommand(@"UPDATE Plans_ExchangeMailbox SET MailboxPlanName=@MailboxPlanName, MailboxSizeMB=@MailboxSizeMB, MaxMailboxSizeMB=@MaxMailboxSizeMB, MaxSendKB=@MaxSendKB, MaxReceiveKB=@MaxReceiveKB, MaxRecipients=@MaxRecipients, EnablePOP3=@EnablePOP3, EnableIMAP=@EnableIMAP, EnableOWA=@EnableOWA, EnableMAPI=@EnableMAPI, EnableAS=@EnableAS, EnableECP=@EnableECP, MaxKeepDeletedItems=@MaxKeepDeletedItems, MailboxPlanDesc=@MailboxPlanDesc, Price=@Price, Cost=@Cost, AdditionalGBPrice=@AdditionalGBPrice WHERE MailboxPlanID=@MailboxPlanID", sql); try { // Add parameters cmd.Parameters.AddWithValue("@MailboxPlanID", plan.MailboxPlanID); cmd.Parameters.AddWithValue("@MailboxPlanName", plan.MailboxPlanName); cmd.Parameters.AddWithValue("@MailboxSizeMB", plan.MailboxSize); cmd.Parameters.AddWithValue("@MaxMailboxSizeMB", plan.MaxMailboxSize); cmd.Parameters.AddWithValue("@MaxSendKB", plan.MaxSendKB); cmd.Parameters.AddWithValue("@MaxReceiveKB", plan.MaxReceiveKB); cmd.Parameters.AddWithValue("@MaxRecipients", plan.MaxRecipients); cmd.Parameters.AddWithValue("@EnablePOP3", plan.EnablePOP3); cmd.Parameters.AddWithValue("@EnableIMAP", plan.EnableIMAP); cmd.Parameters.AddWithValue("@EnableOWA", plan.EnableOWA); cmd.Parameters.AddWithValue("@EnableMAPI", plan.EnableMAPI); cmd.Parameters.AddWithValue("@EnableAS", plan.EnableAS); cmd.Parameters.AddWithValue("@EnableECP", plan.EnableECP); cmd.Parameters.AddWithValue("@MaxKeepDeletedItems", plan.MaxKeepDeletedItems); cmd.Parameters.AddWithValue("@MailboxPlanDesc", plan.MailboxPlanDesc); cmd.Parameters.AddWithValue("@Price", plan.Price); cmd.Parameters.AddWithValue("@Cost", plan.Cost); cmd.Parameters.AddWithValue("@AdditionalGBPrice", plan.AdditionalGBPrice); // Open Connection sql.Open(); // Update cmd.ExecuteNonQuery(); // Close sql.Close(); } catch (Exception) { throw; } finally { cmd.Dispose(); sql.Dispose(); } }
/// <summary> /// Adds or updates new/existing mailbox plans /// </summary> protected void btnUpdatePlan_Click(object sender, EventArgs e) { try { // Gather our data BasePlanMailbox plan = new BasePlanMailbox(); plan.MailboxPlanName = txtPlanName.Text; plan.MailboxPlanDesc = txtDescription.Text; plan.MaxRecipients = int.Parse(txtMaxRecipients.Text); plan.MaxKeepDeletedItems = int.Parse(txtKeepDeletedItems.Text); plan.MailboxSize = int.Parse(txtMailboxSize.Text); plan.MaxMailboxSize = int.Parse(txtMaxMailboxSize.Text); plan.MaxSendKB = int.Parse(txtSendSize.Text); plan.MaxReceiveKB = int.Parse(txtReceiveSize.Text); plan.Cost = txtCost.Text; plan.Price = txtPrice.Text; plan.AdditionalGBPrice = txtPriceAdditionalGB.Text; plan.EnablePOP3 = cbEnablePOP3.Checked; plan.EnableIMAP = cbEnableIMAP.Checked; plan.EnableOWA = cbEnableOWA.Checked; plan.EnableMAPI = cbEnableMAPI.Checked; plan.EnableAS = cbEnableAS.Checked; plan.EnableECP = cbEnableECP.Checked; if (ddlSpecificCompany.SelectedIndex > 0) plan.CompanyCode = ddlSpecificCompany.SelectedValue; else plan.CompanyCode = string.Empty; if (ddlMailboxPlans.SelectedIndex > 0) { // We are updating an existing plan plan.MailboxPlanID = int.Parse(ddlMailboxPlans.SelectedValue); SQLPlans.UpdateMailboxPlan(plan); // Refresh GetMailboxPlans(); // Update notication notification1.SetMessage(controls.notification.MessageType.Success, "Successfully updated existing mailbox plan."); } else { // We are adding a new plan SQLPlans.AddMailboxPlan(plan); // Refresh GetMailboxPlans(); // Update notication notification1.SetMessage(controls.notification.MessageType.Success, "Successfully created new mailbox plan."); } } catch (Exception ex) { notification1.SetMessage(controls.notification.MessageType.Error, "Error: " + ex.Message); // Log // this.logger.Error("There was an error adding / updating mailbox plan.", ex); } }