Exemple #1
0
        public bool SaveData()
        {
            if (_representedObject == null)
            {
                hMailServer.TCPIPPorts tcpIPPorts = APICreator.TCPIPPortsSettings;
                _representedObject = tcpIPPorts.Add();
                Marshal.ReleaseComObject(tcpIPPorts);
            }

            _representedObject.Address            = textIPAddress.Text;
            _representedObject.PortNumber         = textTCPIPPort.Number;
            _representedObject.ConnectionSecurity = (eConnectionSecurity)comboConnectionSecurity.SelectedValue;
            _representedObject.Protocol           = (hMailServer.eSessionType)comboProtocol.SelectedValue;

            if (comboSSLCertificate.SelectedValue == null)
            {
                _representedObject.SSLCertificateID = 0;
            }
            else
            {
                _representedObject.SSLCertificateID = (int)comboSSLCertificate.SelectedValue;
            }

            _representedObject.Save();

            DirtyChecker.SetClean(this);

            Utility.RefreshNode(InternalNames.GetPortName(_representedObject));

            Utility.AskRestartServer();

            return(true);
        }
Exemple #2
0
        public ucAccount(int domainID, int accountID)
        {
            InitializeComponent();

            _domainID = domainID;

            hMailServer.Links links = APICreator.Links;

            hMailServer.Domain domain = links.get_Domain(_domainID);

            if (accountID > 0)
            {
                _representedAccount = links.get_Account(accountID);
            }

            textAddress.Text = "@" + domain.Name;

            Marshal.ReleaseComObject(domain);
            Marshal.ReleaseComObject(links);

            comboAdministrationLevel.AddItem(InternalNames.GetAdministrationLevelName(eAdminLevel.hAdminLevelNormal), eAdminLevel.hAdminLevelNormal);
            comboAdministrationLevel.AddItem(InternalNames.GetAdministrationLevelName(eAdminLevel.hAdminLevelDomainAdmin), eAdminLevel.hAdminLevelDomainAdmin);
            comboAdministrationLevel.AddItem(InternalNames.GetAdministrationLevelName(eAdminLevel.hAdminLevelServerAdmin), eAdminLevel.hAdminLevelServerAdmin);
            comboAdministrationLevel.SelectedIndex = 0;

            dateVacationMessageExpiresDate.Value = DateTime.Now;

            DirtyChecker.SubscribeToChange(this, OnContentChanged);
            new TabOrderManager(this).SetTabOrder(TabOrderManager.TabScheme.AcrossFirst);
        }
Exemple #3
0
 public void AddName(string name)
 {
     if (!InternalNames.Contains(name))
     {
         InternalNames.Add(name);
     }
 }
Exemple #4
0
        protected override void LoadList()
        {
            listObjects.Items.Clear();

            hMailServer.TCPIPPorts tcpIPPorts = APICreator.TCPIPPortsSettings;
            for (int i = 0; i < tcpIPPorts.Count; i++)
            {
                hMailServer.TCPIPPort tcpIPPort = tcpIPPorts[i];
                ListViewItem          item      = listObjects.Items.Add(InternalNames.GetPortName(tcpIPPort));
                item.Tag = tcpIPPort.ID;

                Marshal.ReleaseComObject(tcpIPPort);
            }

            Marshal.ReleaseComObject(tcpIPPorts);
        }
Exemple #5
0
        public bool SaveData()
        {
            if (_representedObject == null)
            {
                hMailServer.TCPIPPorts tcpIPPorts = APICreator.TCPIPPortsSettings;
                _representedObject = tcpIPPorts.Add();
                Marshal.ReleaseComObject(tcpIPPorts);
            }

            _representedObject.Address    = textIPAddress.Text;
            _representedObject.PortNumber = textTCPIPPort.Number;
            _representedObject.UseSSL     = checkEnableSSL.Checked;
            _representedObject.Protocol   = (hMailServer.eSessionType)comboProtocol.SelectedValue;

            if (comboSSLCertificate.SelectedValue == null)
            {
                _representedObject.SSLCertificateID = 0;
            }
            else
            {
                _representedObject.SSLCertificateID = (int)comboSSLCertificate.SelectedValue;
            }

            _representedObject.Save();

            DirtyChecker.SetClean(this);

            Utility.RefreshNode(InternalNames.GetPortName(_representedObject));

            if (MessageBox.Show(Strings.Localize("hMailServer needs to be restarted for the changes to take effect.") + Environment.NewLine +
                                Strings.Localize("Do you want to restart hMailServer now?"), EnumStrings.hMailServerAdministrator, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                using (new WaitCursor())
                {
                    hMailServer.Application application = APICreator.Application;
                    application.Stop();
                    application.Start();

                    MessageBox.Show(Strings.Localize("The hMailServer server has been restarted."), EnumStrings.hMailServerAdministrator, MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }

            return(true);
        }
Exemple #6
0
        public void LoadData()
        {
            _application = APICreator.Application;

            labelVersion.Text = string.Format("{0} ({1})", _application.Version, _application.VersionArchitecture);

            ShowStatistics();

            hMailServer.Database database = _application.Database;

            labelServerType.Text = InternalNames.GetDatabaseServerTypeName(database.DatabaseType);

            if (database.ServerName.Length > 0)
            {
                labelServerHost.Text = database.ServerName;
            }
            else
            {
                labelServerHost.Text = "-";
            }

            if (database.DatabaseName.Length > 0 && database.DatabaseType != eDBtype.hDBTypeMSSQLCE)
            {
                labelName.Text = database.DatabaseName;
            }
            else
            {
                labelName.Text = "-";
            }

            labelDBVersion.Text = database.CurrentVersion.ToString();

            Marshal.ReleaseComObject(database);

            hMailServer.Settings settings = _application.Settings;
            _logging = settings.Logging;
            Marshal.ReleaseComObject(settings);


            DisplayServerState();
            DisplayWarnings();
        }
Exemple #7
0
 /// <summary>
 /// Returns the <see cref="ProficiencyType"/> that uses the given internal name.
 /// </summary>
 /// <param name="internalName"></param>
 /// <returns></returns>
 public static ProficiencyType FromInternalName(string internalName)
 {
     return(InternalNames.FirstOrDefault(x => x.Value == internalName).Key);
 }
Exemple #8
0
 /// <summary>
 /// Returns the <see cref="Location"/> that uses the given internal name.
 /// </summary>
 /// <param name="internalName"></param>
 /// <returns></returns>
 public static Location FromInternalName(string internalName)
 {
     return(InternalNames.FirstOrDefault(x => x.Value == internalName).Key);
 }
Exemple #9
0
 /// <summary>
 /// Returns a <see cref="CharacterClassType"/> from an internal name used by a save.
 /// </summary>
 /// <param name="internalName"></param>
 /// <returns></returns>
 public static CharacterClassType FromInternalName(string internalName)
 {
     return(InternalNames.FirstOrDefault(x => x.Value == internalName).Key);
 }
Exemple #10
0
        public static IDictionary <string, IList <CitrinaMethod> > Process()
        {
            var result = new Dictionary <string, IList <CitrinaMethod> >();

            var apiSchema = new VKApiSchema();
            var methods   = apiSchema.GetMethodsAsync().Result.Methods;

            foreach (var method in methods)
            {
                if (method.AccessTokenTypes == null)
                {
                    method.AccessTokenTypes = new[] { ApiAccessTokenType.Open };
                }

                foreach (var accessTokenType in method.AccessTokenTypes)
                {
                    var excludedParameters = method.Responses.Select(r => r.Name.Replace("Response", "")).ToArray();

                    foreach (var response in method.Responses)
                    {
                        if (response.Reference == null)
                        {
                            // Waiting for fixes to come...
                            continue;
                        }

                        var methodNamePostfix = response.Name.Replace("Response", "");

                        var methodParameters  = new List <string>();
                        var mappingParameters = new List <string>();
                        var needAccessToken   = true;

                        switch (accessTokenType)
                        {
                        case ApiAccessTokenType.User:
                            methodParameters.Add("UserAccessToken accessToken");
                            mappingParameters.Add("[\"access_token\"] = accessToken?.Value");
                            break;

                        case ApiAccessTokenType.Group:
                            methodParameters.Add("GroupAccessToken accessToken");
                            mappingParameters.Add("[\"access_token\"] = accessToken?.Value");
                            break;

                        case ApiAccessTokenType.Service:
                            methodParameters.Add("ServiceAccessToken accessToken");
                            mappingParameters.Add("[\"access_token\"] = accessToken?.Value");
                            break;

                        default:
                            needAccessToken = false;
                            break;
                        }

                        if (method.Parameters != null)
                        {
                            foreach (var parameter in method.Parameters)
                            {
                                var parameterName         = parameter.Name;
                                var originalParameterName = parameter.OriginalName;
                                var parameterType         = TypesResolver.ResolveType(parameter);

                                if (!parameterName.Equals(methodNamePostfix) && excludedParameters.Contains(parameterName))
                                {
                                    continue;
                                }

                                parameterName = parameterName[0].ToString().ToLower() + string.Join("", parameterName.Skip(1));

                                if (InternalNames.Contains(parameterName))
                                {
                                    parameterName         = "@" + parameterName;
                                    originalParameterName = "@" + originalParameterName;
                                }

                                methodParameters.Add($"{parameterType} {parameterName} = null");

                                mappingParameters.Add(GetDictionaryParameter(parameterType, originalParameterName, parameterName));
                            }
                        }

                        var citrinaMethod = new CitrinaMethod
                        {
                            Name              = $"{method.Name}{methodNamePostfix}",
                            OriginalName      = method.OriginalName,
                            Description       = method.Description,
                            InlineParameters  = string.Join(", ", methodParameters),
                            MappingParameters = mappingParameters,
                            ReturnType        = TypesResolver.ResolveType(response.Reference),
                            NeedAccessToken   = needAccessToken
                        };

                        if (result.ContainsKey(method.MethodGroup))
                        {
                            result[method.MethodGroup].Add(citrinaMethod);
                        }
                        else
                        {
                            result.Add(method.MethodGroup, new List <CitrinaMethod> {
                                citrinaMethod
                            });
                        }
                    }
                }
            }

            return(result);
        }