Пример #1
0
 public IEnumerable <DtoModule> GetAllModules(DtoModuleSearchFilter filter)
 {
     Request.Method = Method.POST;
     Request.AddJsonBody(filter);
     Request.Resource = string.Format("{0}/GetAllModules/", Resource);
     return(new ApiRequest().Execute <List <DtoModule> >(Request));
 }
Пример #2
0
 public IEnumerable <EntityPolicyModules> GetAssignedModules(int id, DtoModuleSearchFilter filter)
 {
     Request.Method   = Method.POST;
     Request.Resource = string.Format("{0}/GetAssignedModules/{1}", Resource, id);
     Request.AddJsonBody(filter);
     return(new ApiRequest().Execute <List <EntityPolicyModules> >(Request));
 }
Пример #3
0
        protected void PopulateGrid()
        {
            var limit = 0;

            limit = ddlLimit.Text == "All" ? int.MaxValue : Convert.ToInt32(ddlLimit.Text);

            var filter = new DtoModuleSearchFilter();

            filter.Limit             = limit;
            filter.Searchstring      = txtSearch.Text;
            filter.IncludePrinter    = chkPrinter.Checked;
            filter.IncludeSoftware   = chkSoftware.Checked;
            filter.IncludeCommand    = chkCommand.Checked;
            filter.IncludeFileCopy   = chkFile.Checked;
            filter.IncludeScript     = chkScript.Checked;
            filter.IncludeWu         = chkWu.Checked;
            filter.IncludeUnassigned = chkUnassigned.Checked;
            filter.IncludeMessage    = chkMessage.Checked;

            var modules = Call.PolicyApi.GetAllModules(filter);

            gvModules.DataSource = modules;
            gvModules.DataBind();

            // lblTotal.Text = gvModules.Rows.Count + " Result(s) / " + Call.PolicyApi.GetCount() + " Policy(s)";
        }
Пример #4
0
        public DtoClientPolicy Create(int policyId)
        {
            _policy = _policyService.GetPolicy(policyId);
            Policy();
            DtoModuleSearchFilter filter = new DtoModuleSearchFilter();

            filter.IncludeCommand  = true;
            filter.IncludeFileCopy = true;
            filter.IncludePrinter  = true;
            filter.IncludeScript   = true;
            filter.IncludeSoftware = true;
            filter.IncludeWu       = true;
            filter.IncludeMessage  = true;
            filter.Limit           = Int32.MaxValue;
            var policyModules = _policyService.SearchAssignedPolicyModules(policyId, filter);

            foreach (var policyModule in policyModules.OrderBy(x => x.Name))
            {
                if (policyModule.ModuleType == EnumModule.ModuleType.Command)
                {
                    CommandModule(policyModule);
                }
                else if (policyModule.ModuleType == EnumModule.ModuleType.FileCopy)
                {
                    FileCopyModule(policyModule);
                }
                else if (policyModule.ModuleType == EnumModule.ModuleType.Script)
                {
                    ScriptModule(policyModule);
                }
                else if (policyModule.ModuleType == EnumModule.ModuleType.Printer)
                {
                    PrinterModule(policyModule);
                }
                else if (policyModule.ModuleType == EnumModule.ModuleType.Software)
                {
                    SoftwareModule(policyModule);
                }
                else if (policyModule.ModuleType == EnumModule.ModuleType.Wupdate)
                {
                    WuModule(policyModule);
                }
                else if (policyModule.ModuleType == EnumModule.ModuleType.Message)
                {
                    MessageModule(policyModule);
                }
            }

            return(_clientPolicy);
        }
Пример #5
0
 public ValidatePolicy()
 {
     _result                 = new DtoActionResult();
     _policyService          = new ServicePolicy();
     _filter                 = new DtoModuleSearchFilter();
     _filter.IncludeCommand  = true;
     _filter.IncludeFileCopy = true;
     _filter.IncludePrinter  = true;
     _filter.IncludeScript   = true;
     _filter.IncludeSoftware = true;
     _filter.IncludeWu       = true;
     _filter.IncludeMessage  = true;
     _filter.Limit           = Int32.MaxValue;
 }
Пример #6
0
 public ExportPolicy()
 {
     _policyService          = new ServicePolicy();
     _filter                 = new DtoModuleSearchFilter();
     _policyExport           = new DtoPolicyExport();
     _filter.IncludeCommand  = true;
     _filter.IncludeFileCopy = true;
     _filter.IncludePrinter  = true;
     _filter.IncludeScript   = true;
     _filter.IncludeSoftware = true;
     _filter.IncludeWu       = true;
     _filter.IncludeMessage  = true;
     _filter.Limit           = Int32.MaxValue;
 }
Пример #7
0
        protected void PopulateGrid()
        {
            var filter = new DtoModuleSearchFilter();

            filter.Limit             = Int32.MaxValue;
            filter.Searchstring      = txtSearch.Text;
            filter.IncludePrinter    = chkPrinter.Checked;
            filter.IncludeSoftware   = chkSoftware.Checked;
            filter.IncludeCommand    = chkCommand.Checked;
            filter.IncludeFileCopy   = chkFile.Checked;
            filter.IncludeScript     = chkScript.Checked;
            filter.IncludeWu         = chkWu.Checked;
            filter.IncludeUnassigned = chkUnassigned.Checked;
            filter.IncludeMessage    = chkMessage.Checked;

            var modules = Call.PolicyApi.GetAllModules(filter);

            gvModules.DataSource = modules;
            gvModules.DataBind();
        }
Пример #8
0
        public List <EntityPolicyModules> SearchAssignedPolicyModules(int policyId, DtoModuleSearchFilter filter)
        {
            var list = new List <EntityPolicyModules>();

            if (filter.Limit == 0)
            {
                filter.Limit = int.MaxValue;
            }

            foreach (var module in _uow.PolicyModulesRepository.Get(x => x.PolicyId == policyId))
            {
                if (module.ModuleType == EnumModule.ModuleType.Printer)
                {
                    if (filter.IncludePrinter)
                    {
                        var pModule = new ServicePrinterModule().GetModule(module.ModuleId);
                        if (pModule != null)
                        {
                            module.Name = pModule.Name;
                            list.Add(module);
                        }
                    }
                }
                else if (module.ModuleType == EnumModule.ModuleType.Software)
                {
                    if (filter.IncludeSoftware)
                    {
                        var pModule = new ServiceSoftwareModule().GetModule(module.ModuleId);
                        if (pModule != null)
                        {
                            module.Name = pModule.Name;
                            list.Add(module);
                        }
                    }
                }
                else if (module.ModuleType == EnumModule.ModuleType.Command)
                {
                    if (filter.IncludeCommand)
                    {
                        var pModule = new ServiceCommandModule().GetModule(module.ModuleId);
                        if (pModule != null)
                        {
                            module.Name = pModule.Name;
                            list.Add(module);
                        }
                    }
                }
                else if (module.ModuleType == EnumModule.ModuleType.FileCopy)
                {
                    if (filter.IncludeFileCopy)
                    {
                        var pModule = new ServiceFileCopyModule().GetModule(module.ModuleId);
                        if (pModule != null)
                        {
                            module.Name = pModule.Name;
                            list.Add(module);
                        }
                    }
                }
                else if (module.ModuleType == EnumModule.ModuleType.Script)
                {
                    if (filter.IncludeScript)
                    {
                        var pModule = new ServiceScriptModule().GetModule(module.ModuleId);
                        if (pModule != null)
                        {
                            module.Name = pModule.Name;
                            list.Add(module);
                        }
                    }
                }
                else if (module.ModuleType == EnumModule.ModuleType.Wupdate)
                {
                    if (filter.IncludeWu)
                    {
                        var pModule = new ServiceWuModule().GetModule(module.ModuleId);
                        if (pModule != null)
                        {
                            module.Name = pModule.Name;
                            list.Add(module);
                        }
                    }
                }
                else if (module.ModuleType == EnumModule.ModuleType.Message)
                {
                    if (filter.IncludeMessage)
                    {
                        var pModule = new ServiceMessageModule().GetModule(module.ModuleId);
                        if (pModule != null)
                        {
                            module.Name = pModule.Name;
                            list.Add(module);
                        }
                    }
                }
            }

            if (string.IsNullOrEmpty(filter.Searchstring))
            {
                return(list.OrderBy(x => x.Order).ThenBy(x => x.Name).Take(filter.Limit).ToList());
            }
            else
            {
                return(list.Where(s => s.Name.Contains(filter.Searchstring)).OrderBy(x => x.Order).ThenBy(x => x.Name).Take(filter.Limit).ToList());
            }
        }
Пример #9
0
        public List <DtoModule> AllAvailableModules(DtoModuleSearchFilter filter)
        {
            var catfilter = new DtoSearchFilterCategories();

            catfilter.SearchText = filter.Searchstring;
            catfilter.Limit      = filter.Limit;

            var listModules = new List <DtoModule>();

            if (filter.Limit == 0)
            {
                filter.Limit = int.MaxValue;
            }
            if (filter.IncludePrinter)
            {
                listModules.AddRange(new ServicePrinterModule().SearchModules(catfilter).Select(printerModule => new DtoModule
                {
                    Id          = printerModule.Id,
                    Name        = printerModule.Name,
                    Description = printerModule.Description,
                    Guid        = printerModule.Guid,
                    ModuleType  = EnumModule.ModuleType.Printer
                }).ToList());
            }
            if (filter.IncludeSoftware)
            {
                listModules.AddRange(new ServiceSoftwareModule().SearchModules(catfilter).Select(softwareModule => new DtoModule
                {
                    Id          = softwareModule.Id,
                    Name        = softwareModule.Name,
                    Description = softwareModule.Description,
                    Guid        = softwareModule.Guid,
                    ModuleType  = EnumModule.ModuleType.Software
                }).ToList());
            }

            if (filter.IncludeCommand)
            {
                listModules.AddRange(new ServiceCommandModule().SearchModules(catfilter).Select(commandModule => new DtoModule
                {
                    Id          = commandModule.Id,
                    Name        = commandModule.Name,
                    Description = commandModule.Description,
                    Guid        = commandModule.Guid,
                    ModuleType  = EnumModule.ModuleType.Command
                }).ToList());
            }

            if (filter.IncludeFileCopy)
            {
                listModules.AddRange(new ServiceFileCopyModule().SearchModules(catfilter).Select(fileCopyModule => new DtoModule
                {
                    Id          = fileCopyModule.Id,
                    Name        = fileCopyModule.Name,
                    Description = fileCopyModule.Description,
                    Guid        = fileCopyModule.Guid,
                    ModuleType  = EnumModule.ModuleType.FileCopy
                }).ToList());
            }

            if (filter.IncludeMessage)
            {
                listModules.AddRange(new ServiceMessageModule().SearchModules(catfilter).Select(messageModule => new DtoModule
                {
                    Id          = messageModule.Id,
                    Name        = messageModule.Name,
                    Description = messageModule.Description,
                    Guid        = messageModule.Guid,
                    ModuleType  = EnumModule.ModuleType.Message
                }).ToList());
            }

            if (filter.IncludeScript)
            {
                listModules.AddRange(new ServiceScriptModule().SearchModules(catfilter).Select(scriptModule => new DtoModule
                {
                    Id          = scriptModule.Id,
                    Name        = scriptModule.Name,
                    Description = scriptModule.Description,
                    Guid        = scriptModule.Guid,
                    ModuleType  = EnumModule.ModuleType.Script
                }).ToList());
            }

            if (filter.IncludeWu)
            {
                listModules.AddRange(new ServiceWuModule().SearchModules(catfilter).Select(wuModule => new DtoModule
                {
                    Id          = wuModule.Id,
                    Name        = wuModule.Name,
                    Description = wuModule.Description,
                    Guid        = wuModule.Guid,
                    ModuleType  = EnumModule.ModuleType.Wupdate
                }).ToList());
            }

            if (filter.IncludeUnassigned) //actually is only unassigned
            {
                var modulesToRemove = new List <DtoModule>();
                var allPolicies     = _uow.PolicyRepository.Get();
                foreach (var policy in allPolicies)
                {
                    var policyDetailed = GetDetailed(policy.Id);
                    foreach (var mod in policyDetailed.CommandModules)
                    {
                        modulesToRemove.AddRange(listModules.Where(module => mod.Guid == module.Guid));
                    }

                    foreach (var mod in policyDetailed.FileCopyModules)
                    {
                        modulesToRemove.AddRange(listModules.Where(module => mod.Guid == module.Guid));
                    }

                    foreach (var mod in policyDetailed.SoftwareModules)
                    {
                        modulesToRemove.AddRange(listModules.Where(module => mod.Guid == module.Guid));
                    }
                    foreach (var mod in policyDetailed.PrinterModules)
                    {
                        modulesToRemove.AddRange(listModules.Where(module => mod.Guid == module.Guid));
                    }
                    foreach (var mod in policyDetailed.ScriptModules)
                    {
                        modulesToRemove.AddRange(listModules.Where(module => mod.Guid == module.Guid));
                    }
                    foreach (var mod in policyDetailed.MessageModules)
                    {
                        modulesToRemove.AddRange(listModules.Where(module => mod.Guid == module.Guid));
                    }
                    foreach (var mod in policyDetailed.WuModules)
                    {
                        modulesToRemove.AddRange(listModules.Where(module => mod.Guid == module.Guid));
                    }
                }

                foreach (var m in modulesToRemove)
                {
                    listModules.Remove(m);
                }
            }
            return(listModules);
        }
Пример #10
0
        public DtoActionResult ClonePolicy(int policyId)
        {
            var u = GetPolicy(policyId);

            if (u == null)
            {
                return new DtoActionResult {
                           ErrorMessage = "Policy Not Found", Id = 0
                }
            }
            ;


            string newName = string.Empty;

            for (var c = 1; c <= 100; c++)
            {
                if (c == 100)
                {
                    return new DtoActionResult()
                           {
                               ErrorMessage = "Could Not Determine A Policy Name"
                           }
                }
                ;

                newName = u.Name + "_" + c;
                if (!_uow.PolicyRepository.Exists(h => h.Name == newName))
                {
                    break;
                }
            }

            var existingPolicySerialized = JsonConvert.SerializeObject(u);
            var clonedPolicy             = JsonConvert.DeserializeObject <EntityPolicy>(existingPolicySerialized);

            clonedPolicy.Description += Environment.NewLine + "Cloned From " + u.Name;
            clonedPolicy.Name         = newName;

            var addResult = AddPolicy(clonedPolicy);

            if (!addResult.Success)
            {
                return new DtoActionResult {
                           ErrorMessage = addResult.ErrorMessage, Id = 0
                }
            }
            ;

            var searchFilter = new DtoModuleSearchFilter();

            searchFilter.IncludeCommand  = true;
            searchFilter.IncludeFileCopy = true;
            searchFilter.IncludePrinter  = true;
            searchFilter.IncludeScript   = true;
            searchFilter.IncludeSoftware = true;
            searchFilter.IncludeMessage  = true;
            searchFilter.IncludeWu       = true;

            foreach (var module in SearchAssignedPolicyModules(policyId, searchFilter))
            {
                module.PolicyId = clonedPolicy.Id;

                _uow.PolicyModulesRepository.Insert(module);
            }
            _uow.Save();

            var categories = GetPolicyCategories(u.Id);

            foreach (var cat in categories)
            {
                cat.PolicyId = clonedPolicy.Id;
            }
            new ServicePolicyCategory().AddOrUpdate(categories);


            if (u.PolicyComCondition == EnumPolicy.PolicyComCondition.Selective)
            {
                var comServers = GetPolicyComServers(u.Id);
                foreach (var com in comServers)
                {
                    com.PolicyId = clonedPolicy.Id;
                }

                new ServicePolicyComServer().AddOrUpdate(comServers);
            }
            return(new DtoActionResult()
            {
                Id = clonedPolicy.Id, Success = true
            });
        }
Пример #11
0
 public IEnumerable <EntityPolicyModules> GetAssignedModules(int id, DtoModuleSearchFilter filter)
 {
     return(_policyServices.SearchAssignedPolicyModules(id, filter));
 }
Пример #12
0
 public IEnumerable <DtoModule> GetAllModules(DtoModuleSearchFilter filter)
 {
     return(_policyServices.AllAvailableModules(filter));
 }