protected override IConfigurable ConvertDataObjectToPresentationObject(IConfigurable dataObject) { if (dataObject == null) { return(null); } ADUser aduser = (ADUser)dataObject; if (null != aduser.MasterAccountSid) { aduser.LinkedMasterAccount = SecurityPrincipalIdParameter.GetFriendlyUserName(aduser.MasterAccountSid, new Task.TaskVerboseLoggingDelegate(base.WriteVerbose)); aduser.ResetChangeTracking(); } MailboxPlan mailboxPlan = new MailboxPlan(aduser); mailboxPlan.Database = ADObjectIdResolutionHelper.ResolveDN(mailboxPlan.Database); return(mailboxPlan); }
/// <summary> /// Gets a list of mailbox plans /// </summary> /// <returns></returns> public static List<MailboxPlan> GetMailboxPlans() { // Initialize new collection List<MailboxPlan> plans = new List<MailboxPlan>(); // Initialize SQL SqlConnection sql = new SqlConnection(ConfigurationManager.ConnectionStrings["DB"].ConnectionString); SqlCommand cmd = new SqlCommand("SELECT * FROM Plans_ExchangeMailbox ORDER BY CompanyCode DESC", sql); try { // Open Connection sql.Open(); // Read data SqlDataReader r = cmd.ExecuteReader(); while (r.Read()) { MailboxPlan tmp = new MailboxPlan(); tmp.PlanID = int.Parse(r["MailboxPlanID"].ToString()); tmp.DisplayName = r["MailboxPlanName"].ToString(); tmp.SizeInMB = int.Parse(r["MailboxSizeMB"].ToString()); tmp.MaxSendSizeInKB = int.Parse(r["MaxSendKB"].ToString()); tmp.MaxReceiveSizeInKB = int.Parse(r["MaxReceiveKB"].ToString()); tmp.MaxRecipients = int.Parse(r["MaxRecipients"].ToString()); tmp.POP3Enabled = bool.Parse(r["EnablePOP3"].ToString()); tmp.IMAPEnabled = bool.Parse(r["EnableIMAP"].ToString()); tmp.OWAEnabled= bool.Parse(r["EnableOWA"].ToString()); tmp.MAPIEnabled = bool.Parse(r["EnableMAPI"].ToString()); tmp.ActiveSyncEnabled = bool.Parse(r["EnableAS"].ToString()); tmp.ECPEnabled = bool.Parse(r["EnableECP"].ToString()); tmp.KeepDeletedItemsInDays = int.Parse(r["MaxKeepDeletedItems"].ToString()); if (r["MaxMailboxSizeMB"] != DBNull.Value) tmp.MaximumSizeInMB = int.Parse(r["MaxMailboxSizeMB"].ToString()); else tmp.MaximumSizeInMB = tmp.SizeInMB; if (r["Price"] != DBNull.Value) tmp.Price = r["Price"].ToString(); else tmp.Price = "0.00"; if (r["AdditionalGBPrice"] != DBNull.Value) tmp.AdditionalGBPrice = r["AdditionalGBPrice"].ToString(); else tmp.AdditionalGBPrice = "0.00"; if (r["MailboxPlanDesc"] != DBNull.Value) tmp.Description = r["MailboxPlanDesc"].ToString(); if (r["CompanyCode"] != DBNull.Value) tmp.CompanyCode = r["CompanyCode"].ToString(); // Add to our list plans.Add(tmp); } // Close and dispose r.Close(); r.Dispose(); } catch (Exception) { throw; } finally { cmd.Dispose(); sql.Dispose(); } // Return our collection return plans; }
/// <summary> /// Gets a specific mailbox plan from the database /// </summary> /// <param name="planId"></param> /// <returns></returns> public static MailboxPlan GetMailboxPlan(int planId) { // Initialize new collection MailboxPlan plan = new MailboxPlan(); // Initialize SQL SqlConnection sql = new SqlConnection(ConfigurationManager.ConnectionStrings["DB"].ConnectionString); SqlCommand cmd = new SqlCommand("SELECT * FROM Plans_ExchangeMailbox WHERE MailboxPlanID=@MailboxPlanID", sql); try { // Add parameter cmd.Parameters.AddWithValue("@MailboxPlanID", planId); // Open Connection sql.Open(); // Read data SqlDataReader r = cmd.ExecuteReader(); while (r.Read()) { plan.PlanID = int.Parse(r["MailboxPlanID"].ToString()); plan.DisplayName = r["MailboxPlanName"].ToString(); plan.SizeInMB = int.Parse(r["MailboxSizeMB"].ToString()); plan.MaxSendSizeInKB = int.Parse(r["MaxSendKB"].ToString()); plan.MaxReceiveSizeInKB = int.Parse(r["MaxReceiveKB"].ToString()); plan.MaxRecipients = int.Parse(r["MaxRecipients"].ToString()); plan.POP3Enabled = bool.Parse(r["EnablePOP3"].ToString()); plan.IMAPEnabled = bool.Parse(r["EnableIMAP"].ToString()); plan.OWAEnabled = bool.Parse(r["EnableOWA"].ToString()); plan.MAPIEnabled = bool.Parse(r["EnableMAPI"].ToString()); plan.ActiveSyncEnabled = bool.Parse(r["EnableAS"].ToString()); plan.ECPEnabled = bool.Parse(r["EnableECP"].ToString()); plan.KeepDeletedItemsInDays = int.Parse(r["MaxKeepDeletedItems"].ToString()); if (r["Cost"] != DBNull.Value) plan.Cost = r["Cost"].ToString(); else plan.Cost = "0.00"; if (r["Price"] != DBNull.Value) plan.Price = r["Price"].ToString(); else plan.Price = "0.00"; if (r["AdditionalGBPrice"] != DBNull.Value) plan.AdditionalGBPrice = r["AdditionalGBPrice"].ToString(); else plan.AdditionalGBPrice = "0.00"; if (r["MaxMailboxSizeMB"] != DBNull.Value) plan.MaximumSizeInMB = int.Parse(r["MaxMailboxSizeMB"].ToString()); else plan.MaximumSizeInMB = plan.SizeInMB; if (r["MailboxPlanDesc"] != DBNull.Value) plan.Description = r["MailboxPlanDesc"].ToString(); if (r["CompanyCode"] != DBNull.Value) plan.CompanyCode = r["CompanyCode"].ToString(); } // Close and dispose r.Close(); r.Dispose(); } catch (Exception) { throw; } finally { cmd.Dispose(); sql.Dispose(); } // Return our object return plan; }
// Token: 0x06000A91 RID: 2705 RVA: 0x00022C69 File Offset: 0x00020E69 public MailboxPlanIdParameter(MailboxPlan mailboxPlan) : base(mailboxPlan.Id) { }
/// <summary> /// Used for the import feature /// </summary> /// <param name="user"></param> /// <param name="plan"></param> public static void UpdateUserMailbox(ADUser user, MailboxPlan plan) { SqlConnection sql = new SqlConnection(ConfigurationManager.ConnectionStrings["DB"].ConnectionString); SqlCommand cmd = new SqlCommand(@"UPDATE Users SET MailboxPlan=@MailboxPlan, AdditionalMB=@AdditionalMB WHERE UserPrincipalName=@UserPrincipalName", sql); try { // Add our parameters cmd.Parameters.AddWithValue("@MailboxPlan", plan.PlanID); cmd.Parameters.AddWithValue("@AdditionalMB", plan.AdditionalMBAdded); cmd.Parameters.AddWithValue("@UserPrincipalName", user.UserPrincipalName); // Open connection sql.Open(); // Insert data cmd.ExecuteNonQuery(); // Close sql.Close(); } catch (Exception) { throw; } finally { cmd.Dispose(); sql.Dispose(); } }
/// <summary> /// /// </summary> /// <param name="user"></param> /// <param name="plan"></param> public static void UpdateUserMailbox(MailboxUser user, MailboxPlan plan) { SqlConnection sql = new SqlConnection(ConfigurationManager.ConnectionStrings["DB"].ConnectionString); SqlCommand cmd = new SqlCommand(@"UPDATE Users SET MailboxPlan=@MailboxPlan, Email=@Email, AdditionalMB=@AdditionalMB WHERE UserPrincipalName=@UserPrincipalName", sql); try { // Check if the ActiveSync plan is not null if (!string.IsNullOrEmpty(user.ActiveSyncMailboxPolicy)) { cmd.CommandText = @"UPDATE Users SET MailboxPlan=@MailboxPlan, Email=@Email, AdditionalMB=@AdditionalMB, ActiveSyncPlan=(SELECT TOP 1 ASID FROM Plans_ExchangeActiveSync WHERE DisplayName=@ActiveSyncPlan) WHERE UserPrincipalName=@UserPrincipalName"; cmd.Parameters.AddWithValue("@ActiveSyncPlan", user.ActiveSyncMailboxPolicy); } else cmd.Parameters.AddWithValue("@ActiveSyncPlan", DBNull.Value); // Add our parameters cmd.Parameters.AddWithValue("@MailboxPlan", plan.PlanID); cmd.Parameters.AddWithValue("@Email", user.PrimarySmtpAddress); cmd.Parameters.AddWithValue("@AdditionalMB", plan.AdditionalMBAdded); cmd.Parameters.AddWithValue("@UserPrincipalName", user.UserPrincipalName); // Open connection sql.Open(); // Insert data cmd.ExecuteNonQuery(); // Close sql.Close(); } catch (Exception) { throw; } finally { cmd.Dispose(); sql.Dispose(); } }