示例#1
0
        public int Delete(List <int> ids)
        {
            foreach (int sn in ids)
            {
                Models.InterfaceModel model = this.infterfaceDAL.Get <InterfaceModel>(sn);
                model.SN = sn;
                int result = this.infterfaceDAL.Delete(model);

                if (this.routeDict.ContainsKey(model.Url))
                {
                    this.routeDict.Remove(model.Url);
                }
            }
            return(1);
        }
示例#2
0
        // GET: Interface
        public Models.InterfaceModel GetModel(Guid interfaceHash)
        {
            var allModules = modulesStorage.GetModules()
                             .Select(w => new Models.ModuleModel {
                Module = w
            })
                             .ToArray();

            var types = allModules
                        .Where(w => w.Module.ModuleBinds != null)
                        .SelectMany(w => w.Module.ModuleBinds)
                        .Select(w => w.FullName)
                        .Distinct()
                        .ToDictionary(w => md5Cache.ToMD5(w), w => w);

            var interfaceFullName = types[interfaceHash];

            var dependentModules = allModules
                                   .Where(w =>
                                          w.Module.InterfaceDependencies.Any(q => q.FullName == interfaceFullName) ||
                                          w.Module.ObjectDependencies.Any(q => q.FullName == interfaceFullName));

            var interfaceModules = allModules
                                   .Where(w => w.Module
                                          .ModuleBinds != null)
                                   .Where(w => w.Module.ModuleBinds
                                          .Any(q => q.FullName == interfaceFullName))
                                   .ToArray();

            var interfaceItem = interfaceModules
                                .SelectMany(q => q.Module.Interfaces)
                                .Select(q => (IndexBase.ModuleInterface?)q)
                                .Where(q => q.Value.TypeReference.FullName == interfaceFullName)
                                .FirstOrDefault();

            var model = new Models.InterfaceModel
            {
                Name             = interfaceFullName,
                InterfaceModules = interfaceModules,
                ModulesWithInterfaceDependencies = dependentModules,
                Interface = interfaceItem
            };

            return(model);
        }