示例#1
0
        public ActionResult DeleteConnection(string Id)
        {
            ActionResult actionResult = new ActionResult();

            try
            {
                AzureConnector           AzureConnector = new AzureConnector();
                IEnumerable <IConnector> connectors     = AzureConnector.GetConnectors(PortalSettings.PortalId);

                IConnector connector = connectors.FirstOrDefault(c => c.Id == Id);
                if (connector != null)
                {
                    connector.DeleteConnector(PortalSettings.PortalId);
                    actionResult.IsSuccess = true;
                    actionResult.Data      = Manager.ConnectorsManager.GetAll(PortalSettings.PortalId);
                    return(actionResult);
                }
                actionResult.AddError("ErrConnectorNotFound", Localization.GetString("ErrConnectorNotFound.Text", Constants.LocalResourceFile));
                return(actionResult);
            }
            catch (Exception ex)
            {
                actionResult.AddError("InternalServerError", "InternalServerError", ex);
                return(actionResult);
            }
        }
示例#2
0
        public static ActionResult Save(Connector postData, int PortalId)
        {
            ActionResult actionResult = new ActionResult();

            try
            {
                string            name           = postData.Name;
                string            displayName    = postData.DisplayName;
                string            id             = postData.Id;
                AzureConnector    AzureConnector = new AzureConnector();
                List <IConnector> connectors     = AzureConnector.GetConnectors(PortalId).ToList();

                IConnector connector = connectors.FirstOrDefault(c => c.Id == id);

                if (connector == null && string.IsNullOrEmpty(id))
                {
                    connector = new AzureConnector
                    {
                        Id          = null,
                        DisplayName = null
                    };
                }
                if (connector != null && !string.IsNullOrEmpty(displayName) && connector.DisplayName != displayName)
                {
                    connector.DisplayName = string.IsNullOrEmpty(displayName) ? "" : displayName;
                }

                bool validated = false;
                if (connector != null)
                {
                    bool saved = connector.SaveConfig(PortalId, postData.Configurations, ref validated,
                                                      out string customErrorMessage);
                    if (!saved)
                    {
                        string Message = string.IsNullOrEmpty(customErrorMessage)
                                    ? Localization.GetString("ErrSavingConnectorSettings.Text", Components.Constants.LocalResourceFile)
                                    : customErrorMessage;
                        actionResult.AddError("ErrSavingConnectorSettings", Message);
                        return(actionResult);
                    }
                }
                actionResult.IsSuccess = true;
                actionResult.Data      = connector?.Id;
                return(actionResult);
            }
            catch (Exception ex)
            {
                Exceptions.LogException(ex);
                actionResult.AddError("InternalServerError", "InternalServerError", ex);
                return(actionResult);
            }
        }
示例#3
0
        public static Connector Get(int PortalId, string Id)
        {
            AzureConnector AzureConnector = new AzureConnector();
            IConnector     Connector      = AzureConnector.GetConnectors(PortalId).Where(c => c.Id == Id).FirstOrDefault();
            Connector      Connect        = new Connector();

            if (Connector != null)
            {
                Connect.Id               = Connector.Id;
                Connect.Name             = Connector.Name;
                Connect.Type             = Connector.Type;
                Connect.DisplayName      = Connector.DisplayName;
                Connect.Connected        = Connector.HasConfig(PortalId);
                Connect.IconUrl          = Globals.ResolveUrl(Connector.IconUrl);
                Connect.PluginFolder     = Globals.ResolveUrl(Connector.PluginFolder);
                Connect.Configurations   = Connector.GetConfig(PortalId);
                Connect.SupportsMultiple = Connector.SupportsMultiple;
            }
            return(Connect);
        }
示例#4
0
        public static List <Connector> GetAll(int PortalId)
        {
            List <Connector> Connectors     = new List <Connector>();
            AzureConnector   AzureConnector = new AzureConnector();

            foreach (IConnector con in AzureConnector.GetConnectors(PortalId).ToList())
            {
                Connector connector = new Connector
                {
                    Id          = con.Id,
                    Name        = con.Name,
                    Type        = con.Type,
                    DisplayName = con.DisplayName,
                    Connected   = con.HasConfig(PortalId),
                    IconUrl     = Globals.ResolveUrl(con.IconUrl)
                };
                Connectors.Add(connector);
            }
            return(Connectors);
        }