/// <summary> /// Loads the company settings. /// </summary> private void LoadCompanySettings() { IConfigurator configurator = this.CompanyScopeNode.GetCompanyConfigurator(); ICompanyInfo companyInfo = configurator.GetCompanyInfo((string)this.CompanyScopeNode.Tag); // Read Company Info AddCompanySettingNode(SnapInResources.CompanyListView_Column_Status, companyInfo.IsActive ? SnapInResources.Company_ActiveStatusName : SnapInResources.Company_InactiveStatusName); AddCompanySettingNode(SnapInResources.CompanyListView_Column_Ssl, companyInfo.Scheme); AddCompanySettingNode(SnapInResources.CompanyListView_Column_PrimaryDomain, companyInfo.Host); AddCompanySettingNode(SnapInResources.CompanyListView_Column_Port, companyInfo.Port); AddCompanySettingNode(SnapInResources.CompanyListView_Column_Build, companyInfo.CodeVersion.ToString(CultureInfo.CurrentUICulture)); AddCompanySettingNode(SnapInResources.CompanyListView_Column_DatabaseName, companyInfo.Database); AddCompanySettingNode(SnapInResources.CompanyListView_Column_DatabaseVersion, companyInfo.DatabaseVersion.ToString(CultureInfo.CurrentUICulture)); AddCompanySettingNode(SnapInResources.CompanyListView_Column_CodePath, companyInfo.CodePath); AddCompanySettingNode(SnapInResources.CompanyListView_Column_SiteId, companyInfo.SiteId.ToString(CultureInfo.CurrentUICulture)); AddCompanySettingNode(SnapInResources.CompanyListView_Column_IMPool, companyInfo.IMPool); AddCompanySettingNode(SnapInResources.CompanyListView_Column_PortalPool, companyInfo.PortalPool); AddCompanySettingNode(SnapInResources.CompanyListView_Column_DatabaseState, companyInfo.DatabaseState.ToString(CultureInfo.CurrentUICulture)); AddCompanySettingNode(SnapInResources.CompanyListView_Column_DefaultLanguage, companyInfo.DefaultLanguage.FriendlyName); AddCompanySettingNode(SnapInResources.CompanyListView_Column_DatabaseSize, companyInfo.DatabaseSize.ToString(CultureInfo.CurrentUICulture)); AddCompanySettingNode(SnapInResources.CompanyListView_Column_UsersCount, companyInfo.InternalUsersCount.ToString(CultureInfo.CurrentUICulture)); // Load foreach (IConfigurationParameter param in this.CompanyScopeNode.GetCompanyConfigurator().ListCompanyProperties(companyInfo.Id)) { AddCompanySettingNode(param.Name, param.Value, 18); } }
protected void TariffList_SelectedIndexChanged(object sender, EventArgs e) { if (TariffList.SelectedValue == "-1") { string companyId = CompanyUid.ToString(); IConfigurator config = Configurator.Create(); ICompanyInfo info = config.GetCompanyInfo(companyId); MaxDiskSpaceValue.Text = config.GetCompanyPropertyValue(companyId, CManage.keyCompanyDatabaseSize); MaxUsersValue.Text = config.GetCompanyPropertyValue(companyId, CManage.keyCompanyMaxUsers); MaxExternalUsersValue.Text = config.GetCompanyPropertyValue(companyId, CManage.keyCompanyMaxExternalUsers); BalanceRow.Visible = false; DiscountRow.Visible = false; CreditLimitRow.Visible = false; AlertThresholdRow.Visible = false; } else { using (IDataReader reader = Tariff.GetTariff(int.Parse(TariffList.SelectedValue), 0)) { if (reader.Read()) { MaxDiskSpaceValue.Text = reader["maxHdd"].ToString(); MaxUsersValue.Text = reader["maxUsers"].ToString(); MaxExternalUsersValue.Text = reader["maxExternalUsers"].ToString(); } } BalanceRow.Visible = true; DiscountRow.Visible = true; CreditLimitRow.Visible = true; AlertThresholdRow.Visible = true; } }
private void BindError() { IConfigurator config = Configurator.Create(); ICompanyInfo company = config.GetCompanyInfo(CompanyUid.ToString()); string installPath = config.InstallPath; string companyCodePath = Path.Combine(installPath, company.CodePath); string errorsPath = Path.Combine(companyCodePath, @"Web\Portal\Admin\Log\Error"); string FilePath = Path.Combine(errorsPath, FileName + ".html"); if (!File.Exists(FilePath)) { FilePath = FilePath.Replace(".html", ".aspx"); } if (!File.Exists(FilePath)) { return; } StreamReader sr = File.OpenText(FilePath); string sTemp = sr.ReadToEnd(); sr.Close(); lblError.Text = sTemp.Replace("../../../Admin/errorlog.aspx", "../Pages/SiteErrorLog.aspx?id=" + CompanyUid.ToString()); }
protected void Page_Load(object sender, EventArgs e) { Guid companyUid = new Guid(Request["companyUid"].ToString()); int principalId = int.Parse(Request["principalId"]); string ticket = ""; string login = ""; using (IDataReader reader = CManage.CreateUserTicket(companyUid, principalId)) { if (reader.Read()) { login = reader["Login"].ToString(); ticket = reader["Ticket"].ToString(); } } ICompanyInfo company = Configurator.Create().GetCompanyInfo(companyUid.ToString()); string qs = String.Concat( "?login="******"&ticket=", ticket, "&redirect=", Server.UrlEncode("Workspace/default.aspx")); int port = (string.IsNullOrEmpty(company.Port) ? -1 : int.Parse(company.Port, CultureInfo.InvariantCulture)); UriBuilder uriBuilder = new UriBuilder(company.Scheme, company.Host, port, "Public/default.aspx", qs); Response.Clear(); Response.Write(uriBuilder.ToString()); Response.End(); }
/// <summary> /// Gets the company connection string. /// </summary> /// <param name="url">The URL.</param> /// <param name="company">The company.</param> /// <returns></returns> private string GetCompanyConnectionString(string url, ICompanyInfo company) { // Open Web Config try { string webConfigPath = Path.Combine(Path.Combine(InstallDir, company.CodePath), @"Web\Portal\Web.config"); XmlDocument webConfig = new XmlDocument(); webConfig.Load(webConfigPath); XmlNode connectionStringNode = webConfig.SelectSingleNode("configuration/appSettings/add[@key='ConnectionString']/@value"); if (connectionStringNode == null) { throw new ScheduleServiceException("Cannot find database connection string in portal web.config."); } return(connectionStringNode.Value); } catch (Exception ex) { // Save Error string msg = string.Format("SchedulerService.CheckCompanyRequiredPush() failed.\r\nURL: {0}\r\nException: {1}", url, ex); System.Diagnostics.Trace.WriteLine(msg); Log.WriteEntry(msg, EventLogEntryType.Error); } return(string.Empty); }
/// <summary> /// Initializes a new instance of the <see cref="CompanyScopeNode"/> class. /// </summary> public CompanyScopeNode(ICompanyInfo companyInfo) { this.CompanyInfo = companyInfo; // Init Data LoadCompanyInfo(); // Init Actions this.DataElementType = DataElementType.Company; this.EnabledStandardVerbs = StandardVerbs.Delete | StandardVerbs.Refresh; this.StartAction = new SyncAction(SnapInResources.CompanyScopeNode_Action_Start_Name, SnapInResources.CompanyScopeNode_Action_Start_Description, 10); this.StopAction = new SyncAction(SnapInResources.CompanyScopeNode_Action_Stop_Name, SnapInResources.CompanyScopeNode_Action_Stop_Description, 11); this.ChangeDomainAction = new SyncAction(SnapInResources.CompanyScopeNode_Action_UpdateAddress_Name, SnapInResources.CompanyScopeNode_Action_ChangeDomain_Description, 12); this.UpgradeAction = new SyncAction(SnapInResources.CompanyScopeNode_Action_Upgrade_Name, SnapInResources.CompanyScopeNode_Action_Upgrade_Description, 6); this.BrowseAction = new SyncAction(SnapInResources.CompanyScopeNode_Action_Browse_Name, SnapInResources.CompanyScopeNode_Action_Browse_Description, 16); this.EnableSchedulerServiceAction = new SyncAction(SnapInResources.CompanyScopeNode_Action_EnableSchedulerService_Name, SnapInResources.CompanyScopeNode_Action_EnableSchedulerService_Description, 27); this.DisableSchedulerServiceAction = new SyncAction(SnapInResources.CompanyScopeNode_Action_DisableSchedulerService_Name, SnapInResources.CompanyScopeNode_Action_DisableSchedulerService_Description, 28); this.ChangePortalPool = new SyncAction(SnapInResources.CompanyScopeNode_Action_ChangePortalPool_Name, SnapInResources.CompanyScopeNode_Action_ChangePortalPool_Description, 29); this.ActionsPaneItems.Add(this.BrowseAction); this.ActionsPaneItems.Add(new ActionSeparator()); this.ActionsPaneItems.Add(this.StartAction); this.ActionsPaneItems.Add(this.StopAction); this.ActionsPaneItems.Add(new ActionSeparator()); this.ActionsPaneItems.Add(this.ChangeDomainAction); this.ActionsPaneItems.Add(this.ChangePortalPool); this.ActionsPaneItems.Add(this.UpgradeAction); this.ActionsPaneItems.Add(new ActionSeparator()); // Not Implemented yet //this.UpgradeAction.Enabled = false; // Init view MmcListViewDescription lvd = new MmcListViewDescription(); lvd.DisplayName = SnapInResources.CompanySettingsListView_DisplayName; lvd.ViewType = typeof(CompanySettingsListView); lvd.Options = MmcListViewOptions.ExcludeScopeNodes; // Attach the view to the root node this.ViewDescriptions.Add(lvd); this.ViewDescriptions.DefaultIndex = 0; // disable actions + Images RefreshCompanyStatus(); }
/// <summary> /// Initializes a new instance of the <see cref="CompanyScopeNode"/> class. /// </summary> public CompanyScopeNode(ICompanyInfo companyInfo) { this.CompanyInfo = companyInfo; // Init Data LoadCompanyInfo(); // Init Actions this.DataElementType = DataElementType.Company; this.EnabledStandardVerbs = StandardVerbs.Delete| StandardVerbs.Refresh; this.StartAction = new SyncAction(SnapInResources.CompanyScopeNode_Action_Start_Name, SnapInResources.CompanyScopeNode_Action_Start_Description, 10); this.StopAction = new SyncAction(SnapInResources.CompanyScopeNode_Action_Stop_Name, SnapInResources.CompanyScopeNode_Action_Stop_Description, 11); this.ChangeDomainAction = new SyncAction(SnapInResources.CompanyScopeNode_Action_UpdateAddress_Name, SnapInResources.CompanyScopeNode_Action_ChangeDomain_Description, 12); this.UpgradeAction = new SyncAction(SnapInResources.CompanyScopeNode_Action_Upgrade_Name, SnapInResources.CompanyScopeNode_Action_Upgrade_Description, 6); this.BrowseAction = new SyncAction(SnapInResources.CompanyScopeNode_Action_Browse_Name, SnapInResources.CompanyScopeNode_Action_Browse_Description, 16); this.EnableSchedulerServiceAction = new SyncAction(SnapInResources.CompanyScopeNode_Action_EnableSchedulerService_Name, SnapInResources.CompanyScopeNode_Action_EnableSchedulerService_Description, 27); this.DisableSchedulerServiceAction = new SyncAction(SnapInResources.CompanyScopeNode_Action_DisableSchedulerService_Name, SnapInResources.CompanyScopeNode_Action_DisableSchedulerService_Description, 28); this.ChangePortalPool = new SyncAction(SnapInResources.CompanyScopeNode_Action_ChangePortalPool_Name, SnapInResources.CompanyScopeNode_Action_ChangePortalPool_Description, 29); this.ActionsPaneItems.Add(this.BrowseAction); this.ActionsPaneItems.Add(new ActionSeparator()); this.ActionsPaneItems.Add(this.StartAction); this.ActionsPaneItems.Add(this.StopAction); this.ActionsPaneItems.Add(new ActionSeparator()); this.ActionsPaneItems.Add(this.ChangeDomainAction); this.ActionsPaneItems.Add(this.ChangePortalPool); this.ActionsPaneItems.Add(this.UpgradeAction); this.ActionsPaneItems.Add(new ActionSeparator()); // Not Implemented yet //this.UpgradeAction.Enabled = false; // Init view MmcListViewDescription lvd = new MmcListViewDescription(); lvd.DisplayName = SnapInResources.CompanySettingsListView_DisplayName; lvd.ViewType = typeof(CompanySettingsListView); lvd.Options = MmcListViewOptions.ExcludeScopeNodes; // Attach the view to the root node this.ViewDescriptions.Add(lvd); this.ViewDescriptions.DefaultIndex = 0; // disable actions + Images RefreshCompanyStatus(); }
/// <summary> /// Initializes a new instance of the <see cref="UpdateCompanyForm"/> class. /// </summary> /// <param name="serverConfigurator">The server configurator.</param> public UpdateCompanyForm(IConfigurator configurator, ICompanyInfo companyInfo) { InitializeComponent(); #if RADIUS this.Icon = SnapInResources.portal_RS; #endif this.Configurator = configurator; this.CompanyInfo = companyInfo; InitializePage1(); }
private void BinddgErrors() { DataTable dt = new DataTable(); dt.Columns.Add("ErrorID"); dt.Columns.Add("CreationTime", typeof(DateTime)); IConfigurator config = Configurator.Create(); ICompanyInfo company = config.GetCompanyInfo(CompanyUid.ToString()); string installPath = config.InstallPath; string companyCodePath = Path.Combine(installPath, company.CodePath); string errorsPath = Path.Combine(companyCodePath, @"Web\Portal\Admin\Log\Error"); DirectoryInfo dir = new DirectoryInfo(errorsPath); foreach (FileInfo fileinfo in dir.GetFiles()) { string ErrorLink = fileinfo.Name; string ext = ""; if (ErrorLink.IndexOf(".aspx") >= 0) { ext = ".aspx"; } else if (ErrorLink.IndexOf(".html") >= 0) { ext = ".html"; } else { continue; } string PureName = ErrorLink.Substring(0, ErrorLink.IndexOf(ext)); string ErrorID = PureName.Substring(PureName.LastIndexOf("_") + 1); DataRow dr = dt.NewRow(); dr["ErrorID"] = "<a href='SiteErrorLog.aspx?id=" + CompanyUid.ToString() + "&fileName=" + PureName + "'>" + ErrorID + "</a>"; dr["CreationTime"] = fileinfo.CreationTime; dt.Rows.Add(dr); } DataView dv = dt.DefaultView; dv.Sort = "CreationTime DESC"; dgErrors.DataSource = dv; dgErrors.DataBind(); }
public void UpdateTrial( string companyId, string companyName, bool isActive, int maxUsers, int maxExternalUsers, int maxDiskSpace, string contactName, string contactPhone, string contactEmail, DateTime trialStartDate, DateTime trialEndDate ) { IConfigurator config = Configurator.Create(); ICompanyInfo company = config.GetCompanyInfo(companyId); int tariffId = -1; decimal balance = 0m; int discount = 0; decimal creditLimit = 0m; bool sendSpam = true; using (IDataReader reader = CManage.GetCompany(new Guid(companyId))) { if (reader.Read()) { if (reader["tariffId"] != DBNull.Value) { tariffId = (int)reader["tariffId"]; } balance = (decimal)reader["balance"]; discount = (int)reader["discount"]; creditLimit = (decimal)reader["creditLimit"]; sendSpam = (bool)reader["send_spam"]; } } CManage.UpdateTrialCompany(new Guid(companyId), companyName, company.Host, company.Scheme, company.Port, 1, trialStartDate, trialEndDate, isActive, contactName, contactPhone, contactEmail, maxUsers, maxExternalUsers, maxDiskSpace, sendSpam, false); }
/// <summary> /// Initializes a new instance of the <see cref="ChangeDomainForm"/> class. /// </summary> /// <param name="configurator">The configurator.</param> public EditDefaultAddressForm(IConfigurator serverConfigurator, string companyId) { InitializeComponent(); #if RADIUS this.Icon = SnapInResources.portal_RS; #endif this.Configurator = serverConfigurator; this.CompanyId = companyId; this.ValidBackColor = Color.FromKnownColor(System.Drawing.KnownColor.Window); this.InvalidBackColor = Color.FromArgb(255, 192, 192); ICompanyInfo companyInfo = this.Configurator.GetCompanyInfo(companyId); comboBoxSchema.SelectedIndex = companyInfo.Scheme == "https" ? 1 : 0; textHostName.Text = companyInfo.Host; textBoxIisPort.Text = companyInfo.Port; }
private IProductOrderInfo GetProductOrder(DateTime date, ICompanyInfo company, IProductItem item, double quantity) { SharedUtility.ThrowIfNull(date, "date"); SharedUtility.ThrowIfNull(company, "company"); SharedUtility.ThrowIfNull(item, "item"); ProductOrderInfo order = new ProductOrderInfo(); order.OrderDate = date; order.ProductItem = item; order.Quantity = quantity; order.Company = company; return order; }
public TestController(string userTag, string loginSessionId, IViewModelFactory viewModelFactory, ICompanyInfo routingGroupInfo) : base(viewModelFactory, routingGroupInfo) { RoomService.CreateClient(); LocalUserVm.UserTag = userTag; LocalUserVm.LoginSession = new LoginSession() { UserId = LocalUserVm.UserId, LoginSessionId = loginSessionId }; RoomVm = viewModelFactory.GetViewModel <RoomViewModel>(); ContactController = new ContactController(RoomService); ContactData = ContactData.GetContactData(ContactController, LocalUserVm.UserId, LocalUserVm.LoginSession); SocialData = new SocialData(RoomService, LocalUserVm.Model); ContactAccessors = new ObservableCollection <ContactAccessUi>(); }
private void DeleteCompanyWeb(ICompanyInfo company, string context) { if (company != null) { string codeRoot = Path.Combine(InstallPath, company.CodePath); string webPath = Path.Combine(codeRoot, "Web"); IIisManager iisManager = IisManager.Create(webPath); // Delete web site try { iisManager.DeleteSite(company.SiteId); } catch (Exception ex) { Log.WriteException(context, ex); } if (iisManager.IsApplicationPoolSupported) { // Delete portal application pool try { if (company.IsPortalPoolCreated) iisManager.DeleteApplicationPool(company.PortalPool); } catch (Exception ex) { Log.WriteException(context, ex); } // Delete IM application pool try { iisManager.DeleteApplicationPool(company.IMPool); } catch (Exception ex) { Log.WriteException(context, ex); } } // Delete ISAPI extension try { iisManager.DeleteIsapiExtension(); } catch (Exception ex) { Log.WriteException(context, ex); } // Delete code directory try { Directory.Delete(codeRoot, true); } catch { } } }
private void BindData() { ListItem li; AspSettings settings = AspSettings.Load(); string companyId = CompanyUid.ToString(); IConfigurator config = Configurator.Create(); ICompanyInfo info = config.GetCompanyInfo(companyId); txtOccupiedDiskSpace.Text = info.DatabaseSize.ToString(CultureInfo.CurrentUICulture); MaxDiskSpaceValue.Text = config.GetCompanyPropertyValue(companyId, CManage.keyCompanyDatabaseSize); txtActiveInternalUsers.Text = info.InternalUsersCount.ToString(CultureInfo.CurrentUICulture); MaxUsersValue.Text = config.GetCompanyPropertyValue(companyId, CManage.keyCompanyMaxUsers); txtActiveExternalUsers.Text = info.ExternalUsersCount.ToString(CultureInfo.CurrentUICulture); MaxExternalUsersValue.Text = config.GetCompanyPropertyValue(companyId, CManage.keyCompanyMaxExternalUsers); txtDomain.Text = info.Host; IsActive.Checked = info.IsActive; li = SchemeList.Items.FindByValue(info.Scheme); if (li != null) { li.Selected = true; } PortValue.Text = info.Port; using (IDataReader reader = CManage.GetCompany(CompanyUid)) { if (reader.Read()) { txtCompanyName.Text = reader["company_name"].ToString(); if (reader["contact_name"] != DBNull.Value) { txtContactName.Text = reader["contact_name"].ToString(); } if (reader["contact_phone"] != DBNull.Value) { txtContactPhone.Text = reader["contact_phone"].ToString(); } if (reader["contact_email"] != DBNull.Value) { txtContactEmail.Text = reader["contact_email"].ToString(); } bool showTariffInfo = true; if (config.GetCompanyPropertyValue(companyId, CManage.keyCompanyType) == ((byte)CompanyType.Trial).ToString()) { TypeList.Items.FindByValue(((byte)CompanyType.Trial).ToString()).Selected = true; txtDateFrom.Text = ((DateTime)reader["start_date"]).ToShortDateString(); string endDateString = config.GetCompanyPropertyValue(companyId, CManage.keyCompanyEndDate); if (!String.IsNullOrEmpty(endDateString)) { txtDateTo.Text = DateTime.Parse(endDateString, CultureInfo.InvariantCulture).ToShortDateString(); } TariffRow.Visible = false; showTariffInfo = false; } else { TypeList.Items.FindByValue(((byte)CompanyType.Billable).ToString()).Selected = true; txtDateFrom.Text = DateTime.Now.Date.ToShortDateString(); txtDateTo.Text = DateTime.Now.Date.AddDays(settings.TrialPeriod).ToShortDateString(); DateFromRow.Visible = false; DateToRow.Visible = false; } SendSpamCheckBox.Checked = (bool)reader["send_spam"]; if (reader["tariffId"] != DBNull.Value) { li = TariffList.Items.FindByValue(reader["tariffId"].ToString()); if (li != null) { li.Selected = true; } } else { showTariffInfo = false; } BalanceValue.Text = ((decimal)reader["Balance"]).ToString("f"); DiscountValue.Text = reader["Discount"].ToString(); CreditLimitValue.Text = ((decimal)reader["CreditLimit"]).ToString("f"); AlertThresholdValue.Text = ((decimal)reader["AlertThreshold"]).ToString("f"); if (!showTariffInfo) { BalanceRow.Visible = false; DiscountRow.Visible = false; CreditLimitRow.Visible = false; AlertThresholdRow.Visible = false; } } } }
public static void AddPayment(Guid companyUid, DateTime dt, decimal amount, decimal bonus, string orderNo, bool checkUnicity) { if (amount + bonus <= 0) { throw new ArgumentException("Wrong value", "amount"); } IConfigurator config = Configurator.Create(); ICompanyInfo company = config.GetCompanyInfo(companyUid.ToString()); if (company == null) { throw new ArgumentException(String.Concat("CompanyUid = ", companyUid, " doesn't exist.")); } if (checkUnicity && !string.IsNullOrEmpty(orderNo) && CheckPaymentOrderNo(companyUid, orderNo) > 0) { throw new Exception(String.Concat("Order # ", orderNo, " already registered.")); } bool newTran = DBHelper.BeginTransaction(); try { DBHelper.RunSP("ASP_PAYMENT_ADD", DBHelper.mp("@companyUid", SqlDbType.UniqueIdentifier, companyUid), DBHelper.mp("@dt", SqlDbType.DateTime, dt), DBHelper.mp("@amount", SqlDbType.Money, amount), DBHelper.mp("@bonus", SqlDbType.Money, bonus), DBHelper.mp("@orderNo", SqlDbType.NVarChar, 50, orderNo)); UpdateBalance(companyUid, amount + bonus); // Activate inactive company if (!company.IsActive) { DBHelper.RunSP("ASP_COMPANY_UPDATE_IS_ACTIVE", DBHelper.mp("@company_uid", SqlDbType.UniqueIdentifier, companyUid), DBHelper.mp("@is_active", SqlDbType.Bit, true)); config.ActivateCompany(companyUid.ToString(), true, false); } #region Change company type from trial to billable if (int.Parse(config.GetCompanyPropertyValue(companyUid.ToString(), CManage.keyCompanyType)) == (int)CompanyType.Trial) { bool tariffIsValid = false; int maxUsers = -1; int maxExternalUsers = -1; int maxDiskSpace = -1; AspSettings settings = AspSettings.Load(); if (settings.UseTariffs && settings.DefaultTariff > 0) { using (IDataReader reader = GetTariff(settings.DefaultTariff, 0)) { if (reader.Read()) { tariffIsValid = true; maxUsers = (int)reader["maxUsers"]; maxExternalUsers = (int)reader["maxExternalUsers"]; maxDiskSpace = (int)reader["maxHdd"]; } } } if (tariffIsValid) { config.SetCompanyPropertyValue(companyUid.ToString(), CManage.keyCompanyMaxUsers, maxUsers.ToString()); config.SetCompanyPropertyValue(companyUid.ToString(), CManage.keyCompanyMaxExternalUsers, maxExternalUsers.ToString()); config.SetCompanyPropertyValue(companyUid.ToString(), CManage.keyCompanyDatabaseSize, maxDiskSpace.ToString()); DBHelper.RunSP("ASP_COMPANY_UPDATE_TARIFF", DBHelper.mp("@companyUid", SqlDbType.UniqueIdentifier, companyUid), DBHelper.mp("@tariffId", SqlDbType.Int, settings.DefaultTariff)); } config.SetCompanyPropertyValue(companyUid.ToString(), CManage.keyCompanyType, ((int)CompanyType.Billable).ToString()); CManage.UpdateCompanyType(companyUid, (byte)CompanyType.Billable); } #endregion // Ensure, that the unpaid period is recalculated RecalculateBalance(); TemplateVariables vars = CManage.CompanyGetVariables(companyUid); if (!string.IsNullOrEmpty(vars["ContactEmail"])) { vars["Amount"] = amount.ToString("f"); vars["Bonus"] = bonus.ToString("f"); vars["Total"] = (amount + bonus).ToString("f"); CManage.SendEmail(vars["ContactEmail"], EmailType.ClientBalanceUp, vars); } DBHelper.Commit(newTran); } catch (Exception) { DBHelper.Rollback(newTran); throw; } }
/// <summary> /// Gets the company connection string. /// </summary> /// <param name="url">The URL.</param> /// <param name="company">The company.</param> /// <returns></returns> private string GetCompanyConnectionString(string url, ICompanyInfo company) { // Open Web Config try { string webConfigPath = Path.Combine(Path.Combine(InstallDir, company.CodePath), @"Web\Portal\Web.config"); XmlDocument webConfig = new XmlDocument(); webConfig.Load(webConfigPath); XmlNode connectionStringNode = webConfig.SelectSingleNode("configuration/appSettings/add[@key='ConnectionString']/@value"); if (connectionStringNode == null) throw new ScheduleServiceException("Cannot find database connection string in portal web.config."); return connectionStringNode.Value; } catch (Exception ex) { // Save Error string msg = string.Format("SchedulerService.CheckCompanyRequiredPush() failed.\r\nURL: {0}\r\nException: {1}", url, ex); System.Diagnostics.Trace.WriteLine(msg); Log.WriteEntry(msg, EventLogEntryType.Error); } return string.Empty; }
private void BindData() { string companyId = CompanyUid.ToString(); IConfigurator config = Configurator.Create(); ICompanyInfo company = config.GetCompanyInfo(companyId); int dbSize = company.DatabaseSize; int maxDbSize = int.Parse(config.GetCompanyPropertyValue(companyId, CManage.keyCompanyDatabaseSize)); lblOccupiedDiskSpace.Text = dbSize.ToString(); lblMaxDiskSpace.Text = maxDbSize.ToString(); if (maxDbSize == -1) { lblMaxDiskSpace.Text = LocRM.GetString("unlimited"); } else if (dbSize >= maxDbSize) { lblOccupiedDiskSpace.CssClass = "ibn-error"; } BindUsersCount(lblActiveUsers, lblAllowedUsers, company.InternalUsersCount, CManage.keyCompanyMaxUsers, companyId, config); BindUsersCount(lblActiveExternalUsers, lblAllowedExternalUsers, company.ExternalUsersCount, CManage.keyCompanyMaxExternalUsers, companyId, config); int port = (string.IsNullOrEmpty(company.Port) ? -1 : int.Parse(company.Port, CultureInfo.InvariantCulture)); UriBuilder uriBuilder = new UriBuilder(company.Scheme, company.Host, port); PortalLink.Text = uriBuilder.ToString(); PortalLink.NavigateUrl = PortalLink.Text; if (company.IsActive) { lblIsActive.Text = string.Concat("<img alt='' src='../layouts/images/accept.gif'/> ", LocRM.GetString("Yes")); } else { lblIsActive.Text = LocRM.GetString("No"); } DatabaseLabel.Text = company.Database; using (IDataReader reader = CManage.GetCompany(CompanyUid)) { if (reader.Read()) { lblCompanyName.Text = reader["company_name"].ToString(); if (reader["contact_name"] != DBNull.Value) { ContactNameLabel.Text = reader["contact_name"].ToString(); } if (reader["contact_phone"] != DBNull.Value) { ContactPhoneLabel.Text = reader["contact_phone"].ToString(); } if (reader["contact_email"] != DBNull.Value && reader["contact_email"].ToString() != string.Empty) { ContactEmailLabel.Text = String.Format(CultureInfo.InvariantCulture, "<a href=\"mailto:{0}\">{0}</a>", reader["contact_email"].ToString()); } if ((bool)reader["send_spam"]) { SendSpamLabel.Text = string.Concat("<img alt='' src='../layouts/images/accept.gif'/> ", LocRM.GetString("Yes")); } else { SendSpamLabel.Text = LocRM.GetString("No"); } if (config.GetCompanyPropertyValue(companyId, CManage.keyCompanyType) == ((byte)CompanyType.Trial).ToString()) { lblType.Text = "Trial"; string endDateString = config.GetCompanyPropertyValue(companyId, CManage.keyCompanyEndDate); if (!String.IsNullOrEmpty(endDateString)) { lblDateTo.Text = DateTime.Parse(endDateString, CultureInfo.InvariantCulture).ToShortDateString(); } TariffDelimiterRow.Visible = false; TariffRow.Visible = false; BalanceRow.Visible = false; DiscountRow.Visible = false; PaidTillRow.Visible = false; CreditLimitRow.Visible = false; AlertThresholdRow.Visible = false; } else { lblType.Text = "Billable"; trStart.Visible = false; trEnd.Visible = false; lblDateTo.Text = ""; if (reader["tariffName"] != DBNull.Value) { TariffValue.Text = reader["tariffName"].ToString(); TariffValue.NavigateUrl = "~/Pages/TariffEdit.aspx?TariffId=" + reader["tariffId"].ToString(); BalanceValue.Text = ((decimal)reader["Balance"]).ToString("f"); DiscountValue.Text = reader["Discount"].ToString(); CreditLimitValue.Text = ((decimal)reader["CreditLimit"]).ToString("f"); AlertThresholdValue.Text = ((decimal)reader["AlertThreshold"]).ToString("f"); decimal credit = (decimal)reader["CreditLimit"]; decimal balance = (decimal)reader["balance"]; decimal dailyCost = (decimal)reader["dailyCost30"]; int discount = (int)reader["discount"]; try { int daysBeforeEnd = (int)((credit + balance) / (dailyCost - dailyCost * discount / 100m)); PaidTillValue.Text = DateTime.Now.AddDays(daysBeforeEnd).ToShortDateString(); if (daysBeforeEnd < 0) { PaidTillValue.Text = String.Concat("<span class='ibn-alerttext'>", PaidTillValue.Text, "</span>"); } } catch (Exception) { } if (reader["symbol"] != DBNull.Value) { BalanceValue.Text = String.Concat(BalanceValue.Text, " ", reader["symbol"].ToString()); CreditLimitValue.Text = String.Concat(CreditLimitValue.Text, " ", reader["symbol"].ToString()); AlertThresholdValue.Text = String.Concat(AlertThresholdValue.Text, " ", reader["symbol"].ToString()); } } else { TariffValue.Text = LocRM.GetString("NoTariff"); BalanceRow.Visible = false; DiscountRow.Visible = false; PaidTillRow.Visible = false; CreditLimitRow.Visible = false; AlertThresholdRow.Visible = false; } } if (reader["start_date"] != DBNull.Value) { lblDateFrom.Text = ((DateTime)reader["start_date"]).ToShortDateString(); } } } }
private string GetOrderKey(DateTime date, ICompanyInfo company) { SharedUtility.ThrowIfNull(date, "date"); SharedUtility.ThrowIfNull(company, "company"); return date.ToShortDateString() + company.NickName + company.Id; }
private void OnSwitchingCompany(ICompanyInfo originalCompany, ICompanyInfo newCompany) { SharedUtility.ThrowIfNull(newCompany, "newCompany"); if (_selectedCompany == null) return; // store orders for original company string key = GetOrderKey(dateTimePicker1.Value, originalCompany); orders[key] = currentOrders; currentOrders = null; // Clear the list view orderListView.Items.Clear(); // retrieve orders for new company key = GetOrderKey(dateTimePicker1.Value, newCompany); if (orders.ContainsKey(key) && orders[key] != null) { foreach(ProductOrderInfo orderInfo in orders[key]) { orderListView.Items.Add(this.GetListViewItem(orderInfo.ProductItem, orderInfo.Quantity)); } currentOrders = orders[key]; } }
public CompanyInfoController(ICompanyInfo companyInfo) { _companyInfo = companyInfo; }