Пример #1
0
        public ActionResult Edit(ModuleElementEdit moduleElementEdit)
        {
            ModuleElement moduleElement = ModuleElementServices
                                          .LoadFirst(r => r.ID == moduleElementEdit.ID.Value);

            if (moduleElement == null)
            {
                return(NotFound(new Result
                {
                    State = 0,
                    Message = "修改的角色不存在"
                }));
            }
            moduleElement = Mapper.Map(moduleElementEdit, moduleElement);
            if (ModuleElementServices.EditEntity(moduleElement))
            {
                return(Ok(new Result
                {
                    State = 1,
                    Message = "修改成功"
                }));
            }
            else
            {
                return(BadRequest(new Result
                {
                    State = 0,
                    Message = "修改失败"
                }));
            }
        }
Пример #2
0
        /// <summary>
        /// 新增菜单
        /// <para>当前登录用户的所有角色会自动分配菜单</para>
        /// </summary>
        public void AddMenu(ModuleElement model)
        {
            var loginContext = _auth.GetCurrentUser();

            if (loginContext == null)
            {
                throw new CommonException("登录已过期", Define.INVALID_TOKEN);
            }

            UnitWork.ExecuteWithTransaction(() =>
            {
                UnitWork.Add(model);

                //当前登录用户的所有角色自动分配菜单
                loginContext.Roles.ForEach(u =>
                {
                    _revelanceApp.Assign(new AssignReq
                    {
                        type    = Define.ROLEELEMENT,
                        firstId = u.Id,
                        secIds  = new[] { model.Id }
                    });
                });
                UnitWork.Save();
            });
        }
Пример #3
0
        public void AddOrUpdate(ModuleElement model)
        {
            var newbtn = new ModuleElement();

            model.CopyTo(newbtn);
            _moduleEleManService.AddOrUpdate(newbtn);
        }
Пример #4
0
        public async Task <ActionResult> Module(ModuleElementViewModel model)
        {
            var module = new ModuleElement
            {
                Attr     = model.Attr,
                ModuleId = model.ModuleId,
                Remark   = model.Remark,
                Name     = model.Name,
                Script   = model.Script
            };
            List <SelectListItem> MyList = new List <SelectListItem>();
            var moduleName = await this._moduleRepository.GetEntityListAsync <Module>(null);

            foreach (var item in moduleName)
            {
                var select = new SelectListItem();
                select.Text  = item.Name;
                select.Value = item.Id.ToString();
                MyList.Add(select);
            }
            ViewBag.ModuleName = MyList;

            var result = await this._moduleRepository.InsertModule(module);

            var entity = await this._moduleRepository.FindEntityAsync <Module>(t => t.Id == 1);

            var entities = entity.ToModel();

            return(View());
        }
Пример #5
0
        private ModuleElement ParseModule(string item)
        {
            ModuleElement mod = new ModuleElement();

            ParseGeneric(mod, item);

            return(mod);
        }
Пример #6
0
 public void AddOrUpdate(ModuleElement model)
 {
     if (model.Id == 0)
     {
         _unitWork.Add(model);
     }
     else
     {
         _unitWork.Update(model);
     }
 }
Пример #7
0
        public ActionResult Add(ModuleElementEdit moduleElementEdit)
        {
            ModuleElement moduleElement = Mapper.Map <ModuleElement>(moduleElementEdit);

            moduleElement = ModuleElementServices.AddEntity(moduleElement);
            return(Ok(new Result <int>
            {
                State = 1,
                Message = "添加成功",
                Data = moduleElement.ID
            }));
        }
Пример #8
0
        public void AddOrUpdate(ModuleElement model)
        {
            if (model.Id == Guid.Empty)
            {
                _unitWork.Add(model);
            }
            else
            {
                _unitWork.Update(model);
            }

            _unitWork.Save();
        }
Пример #9
0
 public string AddOrEditButton(ModuleElement button)
 {
     try
     {
         _app.AddOrUpdate(button);
     }
     catch (DbEntityValidationException e)
     {
         _bjuiResponse.statusCode = "300";
         _bjuiResponse.message    = e.Message;
     }
     return(JsonHelper.Instance.Serialize(_bjuiResponse));
 }
Пример #10
0
 public string AddOrEditButton(ModuleElement button)
 {
     try
     {
         _app.AddOrUpdate(button);
     }
     catch (DbEntityValidationException e)
     {
         Result.Status  = false;
         Result.Message = e.Message;
     }
     return(JsonHelper.Instance.Serialize(Result));
 }
Пример #11
0
        public Response UpdateMenu(ModuleElement obj)
        {
            var result = new Response();

            try {
                _app.UpdateMenu(obj);
            } catch (Exception ex) {
                result.Code    = 500;
                result.Message = ex.InnerException?.Message ?? ex.Message;
            }

            return(result);
        }
Пример #12
0
 public string UpdateMenu(ModuleElement model)
 {
     try
     {
         _app.UpdateMenu(model);
     }
     catch (Exception ex)
     {
         Result.Code    = 500;
         Result.Message = ex.Message;
     }
     return(JsonHelper.Instance.Serialize(Result));
 }
        public void AddOrUpdate(ModuleElement model)
        {
            var newbtn = new ModuleElement();

            model.CopyTo(newbtn);
            if (model.Id == 0)
            {
                _repository.Add(newbtn);
            }
            else
            {
                _repository.Update(newbtn);
            }
        }
Пример #14
0
 public virtual ModuleElement RewriteModuleElement(ModuleElement element)
 {
     if (element is DeclarationModuleElement)
     {
         return(RewriteDeclarationModuleElement((DeclarationModuleElement)element));
     }
     else if (element is RawModuleElement)
     {
         return(RewriteRawModuleElement((RawModuleElement)element));
     }
     else
     {
         throw NonVisitable(element, "module element {0}");
     }
 }
Пример #15
0
        public async Task <ResultJson> InsertModule(ModuleElement module)
        {
            ResultJson msg = new ResultJson();

            try
            {
                var entity = this._dbContext.Set <ModuleElement>().Add(module);
                var result = await this._dbContext.SaveChangeAsync();
            }
            catch (Exception ex)
            {
                msg.Message = ex.Message;
            }
            return(msg);
        }
Пример #16
0
 public virtual void Visit(ModuleElement element)
 {
     if (element is DeclarationModuleElement)
     {
         Visit((DeclarationModuleElement)element);
     }
     else if (element is RawModuleElement)
     {
         VisitRawModuleElement((RawModuleElement)element);
     }
     else
     {
         NonVisitable(element, "module element {0}");
     }
 }
 public ActionResult Edit(ModuleElementEdit moduleElementEdit)
 {
     if (ModelState.IsValid)
     {
         ModuleElement moduleElement = ModuleElementServices
                                       .LoadFirst(r => r.ID == moduleElementEdit.ID.Value);
         if (moduleElement == null)
         {
             return(Json(new Result
             {
                 State = 0,
                 Message = "修改的角色不存在"
             }));
         }
         moduleElement = Mapper.Map(moduleElementEdit, moduleElement);
         if (ModuleElementServices.EditEntity(moduleElement))
         {
             return(Json(new Result
             {
                 State = 1,
                 Message = "修改成功"
             }));
         }
         else
         {
             return(Json(new Result
             {
                 State = 0,
                 Message = "修改失败"
             }));
         }
     }
     else
     {
         IEnumerable <object> errors = ModelStateToJson();
         return(Json(new Result <object>
         {
             State = 0,
             Message = "错误",
             Data = errors
         }));
     }
 }
Пример #18
0
        public ActionResult Delete(int id)
        {
            ModuleElement moduleElement = ModuleElementServices
                                          .LoadFirst(u => u.ID == id);

            if (moduleElement == null)
            {
                return(NotFound(new Result
                {
                    State = 0,
                    Message = "模块元素不存在"
                }));
            }
            ModuleElementServices.DeleteEntity(moduleElement);
            return(Ok(new Result
            {
                State = 1,
                Message = "删除成功"
            }));
        }
Пример #19
0
        private bool IsEmptyDeclaration(ModuleElement me)
        {
            var e = me as DeclarationModuleElement;

            if (e == null)
            {
                return(false);
            }
            if (e.Declaration != null)
            {
                return(IsEmptyDeclaration(e.Declaration));
            }
            if (e.EnumDeclaration != null)
            {
                if (Exceptions.Contains(e.EnumDeclaration))
                {
                    return(false);
                }
                return(e.EnumDeclaration.Members.Count == 0);
            }
            return(false);
        }
 public ActionResult Add(ModuleElementEdit moduleElementEdit)
 {
     if (ModelState.IsValid)
     {
         ModuleElement moduleElement = Mapper.Map <ModuleElement>(moduleElementEdit);
         ModuleElementServices.AddEntity(moduleElement);
         return(Json(new Result <int>
         {
             State = 1,
             Message = "添加成功",
             Data = moduleElement.ID
         }));
     }
     else
     {
         IEnumerable <object> errors = ModelStateToJson();
         return(Json(new Result <object>
         {
             State = 0,
             Message = "错误",
             Data = errors
         }));
     }
 }
Пример #21
0
 public void UpdateMenu(ModuleElement model)
 {
     UnitWork.Update <ModuleElement>(model);
     UnitWork.Save();
 }
Пример #22
0
        public List <ModuleElement> GetUserMenus()
        {
            List <ModuleElement> elements = new List <ModuleElement>();
            ModuleElement        element  = new ModuleElement()
            {
                DomId    = "btnDel",
                Name     = "删除",
                Attr     = "",
                Script   = "del()",
                Class    = "layui-btn-danger",
                Icon     = "&#xe640;",
                Remark   = "刪除用户",
                Sort     = 2,
                ModuleId = 2,
                Id       = 2
            };

            elements.Add(element);
            element = new ModuleElement()
            {
                DomId    = "btnEdit",
                Name     = "编辑",
                Attr     = "",
                Script   = "edit()",
                Class    = "layui-btn-normal",
                Icon     = "&#xe642;",
                Remark   = "编辑用户",
                Sort     = 2,
                ModuleId = 2,
                Id       = 21
            };
            elements.Add(element);
            element = new ModuleElement()
            {
                DomId    = "btnAdd",
                Name     = "添加",
                Attr     = "",
                Script   = "add()",
                Class    = "layui-btn-normal",
                Icon     = "&#xe640;",
                Remark   = "添加用户",
                Sort     = 2,
                ModuleId = 2,
                Id       = 212
            };
            elements.Add(element);
            element = new ModuleElement()
            {
                DomId    = "btnAccessRole",
                Name     = "为用户分配角色",
                Attr     = "",
                Script   = "openUserRoleAccess(this)",
                Class    = "layui-btn-normal",
                Icon     = "&#xe640;",
                Remark   = "为用户分配角色",
                Sort     = 2,
                ModuleId = 2,
                Id       = 211
            };
            elements.Add(element);
            element = new ModuleElement()
            {
                DomId    = "btnRefresh",
                Name     = "刷新",
                Attr     = "",
                Script   = "refresh()",
                Class    = "layui-btn-normal",
                Icon     = "&#xe615;",
                Remark   = "刷新",
                Sort     = 2,
                ModuleId = 2,
                Id       = 2131
            };
            elements.Add(element);
            return(elements);
        }
Пример #23
0
 public void AddMenu(ModuleElement model)
 {
     UnitWork.Add(model);
     UnitWork.Save();
 }
Пример #24
0
        public List <ModuleElement> GetOrgMenus()
        {
            List <ModuleElement> elements = new List <ModuleElement>();
            ModuleElement        element  = new ModuleElement()
            {
                DomId    = "btnAdd",
                Name     = "添加",
                Attr     = "",
                Script   = "add()",
                Class    = "layui-btn-normal",
                Icon     = "&#xe654;",
                Remark   = "添加部门",
                Sort     = 2,
                ModuleId = 2,
                Id       = 21
            };

            elements.Add(element);
            element = new ModuleElement()
            {
                DomId    = "btnDel",
                Name     = "删除",
                Attr     = "",
                Script   = "del()",
                Class    = "layui-btn-danger",
                Icon     = "&#xe640;",
                Remark   = "刪除部门",
                Sort     = 2,
                ModuleId = 2,
                Id       = 210
            };
            elements.Add(element);
            //element = new ModuleElement()
            //{
            //    DomId = "btnDel",
            //    Name = "删除",
            //    Attr = "",
            //    Script = "del()",
            //    Class = "layui-btn-danger",
            //    Icon = "&#xe640;",
            //    Remark = "刪除部门",
            //    Sort = 2,
            //    ModuleId = 2,
            //    Id = 212
            //};
            //elements.Add(element);
            element = new ModuleElement()
            {
                DomId    = "btnEdit",
                Name     = "编辑",
                Attr     = "",
                Script   = "edit()",
                Class    = "layui-btn-normal",
                Icon     = "&#xe642;",
                Remark   = "编辑部门",
                Sort     = 2,
                ModuleId = 2,
                Id       = 213
            };
            elements.Add(element);
            element = new ModuleElement()
            {
                DomId    = "btnRefresh",
                Name     = "刷新",
                Attr     = "",
                Script   = "refresh()",
                Class    = "layui-btn-normal",
                Icon     = "&#xe615;",
                Remark   = "刷新",
                Sort     = 2,
                ModuleId = 2,
                Id       = 2131
            };
            elements.Add(element);
            return(elements);
        }
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            ClientScriptManager script = Page.ClientScript;
            Button btn = sender as Button;
            if (btn.Text == "Next" || hdnPrev.Value == "0")
            {
                string module = lbAvailableModules.SelectedItem.Value as string;
                BindFolderFilesDropDown(module);
                if (!script.IsClientScriptBlockRegistered(GetType(), "divShow1"))
                {
                    script.RegisterClientScriptBlock(this.GetType(), "divShow1", "<script>$(function(){$('#div1').hide();$('#div2').show(); counter=1;$('#' + NewPackage.Settings.next).val('Next');});</script>");

                }
                btn.Text = "Submit";
            }
            else if (btn.Text == "Submit" && hdnPrev.Value != "0")
            {
                string rootPath = HostingEnvironment.ApplicationPhysicalPath;
                ModuleInfoPackage package = new ModuleInfoPackage();
                package.Description = this.PackageDetails1.Description;
                package.Version = this.PackageDetails1.FirstVersion + "." + this.PackageDetails1.SecondVersion + "." + this.PackageDetails1.LastVersion;
                package.ReleaseNotes = this.PackageDetails1.ReleaseNotes;
                package.Owner = this.PackageDetails1.Owner;
                package.Organization = this.PackageDetails1.Organization;
                package.URL = this.PackageDetails1.Url;
                package.Email = this.PackageDetails1.Email;
                package.FriendlyName = this.txtfriendlyname.Text;
                package.ModuleName = this.txtmodulename.Text;
                package.BusinessControllerClass = this.txtbusinesscontrollerclass.Text;
                if (lbAvailableModules.SelectedItem != null)
                    package.FolderName = lbAvailableModules.SelectedItem.Value as string;
                package.License = this.PackageDetails1.License;
                package.CompatibleVersions = this.txtcompatibleversions.Text;
                //Populate ModuleElement and add to package
                ModuleElement moduleElement = new ModuleElement();
                moduleElement.FriendlyName = this.txtfriendlyname.Text;
                moduleElement.CacheTime = this.txtCacheTime.Text;
                moduleElement.Controls = GetControls();
                package.ModuleElements.Add(moduleElement);
                package.FileNames.AddRange(GetSelectedItems(this.lstAssembly, Path.Combine(rootPath, "bin\\")));
                package.FileNames.AddRange(GetSelectedItems(this.lstFolderFiles, Path.Combine(rootPath, "Modules\\" + package.FolderName + "\\")));
                string tempFolderPath = rootPath + GetTempPath();
                if (this.hdnInstallScriptFileName.Value != null && this.hdnInstallScriptFileName.Value.Length > 0)
                {
                    string InstalltempPath = Path.Combine(tempFolderPath, hdnInstallScriptFileName.Value);
                    StreamReader reader = new StreamReader(InstalltempPath);
                    string InstallScript = reader.ReadToEnd();
                    reader.Close();
                    string InstallfilePath = tempFolderPath + package.Version + ".SqlDataProvider";
                    StreamWriter writer = File.CreateText(InstallfilePath);
                    writer.Write(InstallScript);
                    writer.Flush();
                    writer.Close();
                    writer.Dispose();
                    package.FileNames.Add(InstallfilePath);
                }
                else if (!string.IsNullOrEmpty(this.InstallScriptTxt.Text))
                {
                    try
                    {
                        string filePath = tempFolderPath + package.Version + ".SqlDataProvider";
                        StreamWriter writer = File.CreateText(filePath);
                        writer.Write(this.InstallScriptTxt.Text);
                        writer.Flush();
                        writer.Close();
                        writer.Dispose();
                        package.FileNames.Add(filePath);
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                }
                if (this.hdnUnInstallSQLFileName.Value != null && this.hdnUnInstallSQLFileName.Value.Length > 0)
                {                   
                    string UnInstalltempPath = Path.Combine(tempFolderPath, hdnUnInstallSQLFileName.Value);
                    StreamReader reader = new StreamReader(UnInstalltempPath);
                    string UnInstallScript = reader.ReadToEnd();
                    reader.Close();
                    string UnInstallfilePath = tempFolderPath + "Uninstall.SqlDataProvider";
                    StreamWriter writer = File.CreateText(UnInstallfilePath);
                    writer.Write(UnInstallScript);
                    writer.Flush();
                    writer.Close();
                    writer.Dispose();
                    package.FileNames.Add(UnInstallfilePath);
                }
                else if (!string.IsNullOrEmpty(this.UnistallScriptTxt.Text))
                {
                    string filePath = tempFolderPath + "Uninstall.SqlDataProvider";
                    StreamWriter writer = File.CreateText(filePath);
                    writer.Write(this.UnistallScriptTxt.Text);
                    writer.Flush();
                    writer.Close();
                    writer.Dispose();
                    package.FileNames.Add(filePath);
                }

                if (!string.IsNullOrEmpty(this.hdnSrcZipFile.Value) && this.hdnSrcZipFile.Value.Trim().Length > 1)
                {
                    package.FileNames.Add(Path.Combine(tempFolderPath, this.hdnSrcZipFile.Value));
                }
                ModuleSfeWriter moduleWriter = new ModuleSfeWriter(package);
                try
                {
                    moduleWriter.CreatePackage(package.FolderName, "SFE_" + package.FolderName, package.FileNames, this.Context.Response, tempFolderPath, package);
                    if (script.IsClientScriptBlockRegistered(GetType(), "script1"))
                    {
                        script.RegisterClientScriptBlock(GetType(), "script1", "<script>$(function(){ counter=0;});</script>");
                    }
                }
                catch (Exception)
                {
                    //ReturnBack();
                }

                // ReturnBack();
            }
        }
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            ClientScriptManager script = Page.ClientScript;
            Button btn = sender as Button;

            if (btn.Text == "Next" || hdnPrev.Value == "0")
            {
                string module = lbAvailableModules.SelectedItem.Value as string;
                BindFolderFilesDropDown(module);
                if (!script.IsClientScriptBlockRegistered(GetType(), "divShow1"))
                {
                    script.RegisterClientScriptBlock(this.GetType(), "divShow1", "<script>$(function(){$('#div1').hide();$('#div2').show(); counter=1;$('#' + NewPackage.Settings.next).val('Next');});</script>");
                }
                btn.Text = "Submit";
            }
            else if (btn.Text == "Submit" && hdnPrev.Value != "0")
            {
                string            rootPath = HostingEnvironment.ApplicationPhysicalPath;
                ModuleInfoPackage package  = new ModuleInfoPackage();
                package.Description             = this.PackageDetails1.Description;
                package.Version                 = this.PackageDetails1.FirstVersion + "." + this.PackageDetails1.SecondVersion + "." + this.PackageDetails1.LastVersion;
                package.ReleaseNotes            = this.PackageDetails1.ReleaseNotes;
                package.Owner                   = this.PackageDetails1.Owner;
                package.Organization            = this.PackageDetails1.Organization;
                package.URL                     = this.PackageDetails1.Url;
                package.Email                   = this.PackageDetails1.Email;
                package.FriendlyName            = this.txtfriendlyname.Text;
                package.ModuleName              = this.txtmodulename.Text;
                package.BusinessControllerClass = this.txtbusinesscontrollerclass.Text;
                if (lbAvailableModules.SelectedItem != null)
                {
                    package.FolderName = lbAvailableModules.SelectedItem.Value as string;
                }
                package.License            = this.PackageDetails1.License;
                package.CompatibleVersions = this.txtcompatibleversions.Text;
                //Populate ModuleElement and add to package
                ModuleElement moduleElement = new ModuleElement();
                moduleElement.FriendlyName = this.txtfriendlyname.Text;
                moduleElement.CacheTime    = this.txtCacheTime.Text;
                moduleElement.Controls     = GetControls(package.FolderName);
                package.ModuleElements.Add(moduleElement);
                package.FileNames.AddRange(GetSelectedItems(this.lstAssembly, Path.Combine(rootPath, "bin\\")));
                package.FileNames.AddRange(GetSelectedItems(this.lstFolderFiles, Path.Combine(rootPath, "Modules\\" + package.FolderName + "\\")));
                string tempFolderPath = rootPath + GetTempPath();
                if (this.hdnInstallScriptFileName.Value != null && this.hdnInstallScriptFileName.Value.Length > 0)
                {
                    string       InstalltempPath = Path.Combine(tempFolderPath, hdnInstallScriptFileName.Value);
                    StreamReader reader          = new StreamReader(InstalltempPath);
                    string       InstallScript   = reader.ReadToEnd();
                    reader.Close();
                    string       InstallfilePath = tempFolderPath + package.Version + ".SqlDataProvider";
                    StreamWriter writer          = File.CreateText(InstallfilePath);
                    writer.Write(InstallScript);
                    writer.Flush();
                    writer.Close();
                    writer.Dispose();
                    package.FileNames.Add(InstallfilePath);
                }
                else if (!string.IsNullOrEmpty(this.InstallScriptTxt.Text))
                {
                    try
                    {
                        string       filePath = tempFolderPath + package.Version + ".SqlDataProvider";
                        StreamWriter writer   = File.CreateText(filePath);
                        writer.Write(this.InstallScriptTxt.Text);
                        writer.Flush();
                        writer.Close();
                        writer.Dispose();
                        package.FileNames.Add(filePath);
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                }
                if (this.hdnUnInstallSQLFileName.Value != null && this.hdnUnInstallSQLFileName.Value.Length > 0)
                {
                    string       UnInstalltempPath = Path.Combine(tempFolderPath, hdnUnInstallSQLFileName.Value);
                    StreamReader reader            = new StreamReader(UnInstalltempPath);
                    string       UnInstallScript   = reader.ReadToEnd();
                    reader.Close();
                    string       UnInstallfilePath = tempFolderPath + "Uninstall.SqlDataProvider";
                    StreamWriter writer            = File.CreateText(UnInstallfilePath);
                    writer.Write(UnInstallScript);
                    writer.Flush();
                    writer.Close();
                    writer.Dispose();
                    package.FileNames.Add(UnInstallfilePath);
                }
                else if (!string.IsNullOrEmpty(this.UnistallScriptTxt.Text))
                {
                    string       filePath = tempFolderPath + "Uninstall.SqlDataProvider";
                    StreamWriter writer   = File.CreateText(filePath);
                    writer.Write(this.UnistallScriptTxt.Text);
                    writer.Flush();
                    writer.Close();
                    writer.Dispose();
                    package.FileNames.Add(filePath);
                }

                if (!string.IsNullOrEmpty(this.hdnSrcZipFile.Value) && this.hdnSrcZipFile.Value.Trim().Length > 1)
                {
                    package.FileNames.Add(Path.Combine(tempFolderPath, this.hdnSrcZipFile.Value));
                }
                ModuleSfeWriter moduleWriter = new ModuleSfeWriter(package);
                try
                {
                    moduleWriter.CreatePackage(package.FolderName, "SFE_" + package.FolderName, package.FileNames, this.Context.Response, tempFolderPath, package);
                    if (script.IsClientScriptBlockRegistered(GetType(), "script1"))
                    {
                        script.RegisterClientScriptBlock(GetType(), "script1", "<script>$(function(){ counter=0;});</script>");
                    }
                }
                catch (Exception)
                {
                    //ReturnBack();
                }

                // ReturnBack();
            }
        }
Пример #27
0
 public void AddMenu(ModuleElement model)
 {
     _moduleElementRepository.Add(model);
     UnitWork.Save();
 }
Пример #28
0
 public void UpdateMenu(ModuleElement model)
 {
     _moduleElementRepository.Update(model);
     UnitWork.Save();
 }
        /// <summary>
        ///异步验证
        /// </summary>
        public static async Task DoValidationAsync(IModuleElementRespository moduleElementRespository, ModuleElement moduleElement, string validatorType)
        {
            var moduleElementValidator = new ModuleElementValidator(moduleElementRespository);
            var validatorReresult      = await moduleElementValidator.DoValidateAsync(moduleElement, validatorType);

            if (!validatorReresult.IsValid)
            {
                throw new DomainException(validatorReresult);
            }
        }
Пример #30
0
        /// <remarks>
        /// Loads the cboSource control list with locations of controls.
        /// </remarks>
        private void InstallManifest(string strManifest)
        {
            XmlDocument doc = new XmlDocument();

            try
            {
                doc.Load(strManifest);

                XmlNode dnnRoot = doc.DocumentElement;
                foreach (XmlElement FolderElement in dnnRoot.SelectNodes("folders/folder"))
                {
                    DesktopModuleController objDesktopModules = new DesktopModuleController();
                    DesktopModuleInfo       objDesktopModule  = new DesktopModuleInfo();

                    objDesktopModule.DesktopModuleID = Null.NullInteger;
                    objDesktopModule.ModuleName      = XmlUtils.GetNodeValue(FolderElement, "modulename", "");
                    objDesktopModule.FolderName      = XmlUtils.GetNodeValue(FolderElement, "foldername", "");
                    objDesktopModule.FriendlyName    = XmlUtils.GetNodeValue(FolderElement, "friendlyname", "");
                    if (objDesktopModule.FolderName == "")
                    {
                        objDesktopModule.FolderName = objDesktopModule.ModuleName;
                    }
                    objDesktopModule.Description             = XmlUtils.GetNodeValue(FolderElement, "description", "");
                    objDesktopModule.IsPremium               = false;
                    objDesktopModule.IsAdmin                 = false;
                    objDesktopModule.Version                 = XmlUtils.GetNodeValue(FolderElement, "version", "");
                    objDesktopModule.BusinessControllerClass = XmlUtils.GetNodeValue(FolderElement, "businesscontrollerclass", "");
                    objDesktopModule.CompatibleVersions      = XmlUtils.GetNodeValue(FolderElement, "compatibleversions", "");
                    objDesktopModule.DesktopModuleID         = objDesktopModules.AddDesktopModule(objDesktopModule);

                    foreach (XmlElement ModuleElement in FolderElement.SelectNodes("modules/module"))
                    {
                        ModuleDefinitionController objModuleDefinitions = new ModuleDefinitionController();
                        ModuleDefinitionInfo       objModuleDefinition  = new ModuleDefinitionInfo();

                        objModuleDefinition.ModuleDefID      = Null.NullInteger;
                        objModuleDefinition.DesktopModuleID  = objDesktopModule.DesktopModuleID;
                        objModuleDefinition.FriendlyName     = XmlUtils.GetNodeValue(ModuleElement, "friendlyname", "");
                        objModuleDefinition.DefaultCacheTime = XmlUtils.GetNodeValueInt(ModuleElement, "cachetime", 0);

                        objModuleDefinition.ModuleDefID = objModuleDefinitions.AddModuleDefinition(objModuleDefinition);

                        foreach (XmlElement ControlElement in ModuleElement.SelectNodes("controls/control"))
                        {
                            ModuleControlController objModuleControls = new ModuleControlController();
                            ModuleControlInfo       objModuleControl  = new ModuleControlInfo();

                            objModuleControl.ModuleControlID = Null.NullInteger;
                            objModuleControl.ModuleDefID     = objModuleDefinition.ModuleDefID;
                            objModuleControl.ControlKey      = XmlUtils.GetNodeValue(ControlElement, "key", "");
                            objModuleControl.ControlSrc      = XmlUtils.GetNodeValue(ControlElement, "src", "");
                            objModuleControl.ControlTitle    = XmlUtils.GetNodeValue(ControlElement, "title", "");
                            switch (XmlUtils.GetNodeValue(ControlElement, "type", ""))
                            {
                            case "Anonymous":

                                objModuleControl.ControlType = SecurityAccessLevel.Anonymous;
                                break;

                            case "View":

                                objModuleControl.ControlType = SecurityAccessLevel.View;
                                break;

                            case "Edit":

                                objModuleControl.ControlType = SecurityAccessLevel.Edit;
                                break;

                            case "Admin":

                                objModuleControl.ControlType = SecurityAccessLevel.Admin;
                                break;

                            case "Host":

                                objModuleControl.ControlType = SecurityAccessLevel.Host;
                                break;
                            }
                            objModuleControl.HelpURL   = XmlUtils.GetNodeValue(ControlElement, "helpurl", "");
                            objModuleControl.IconFile  = XmlUtils.GetNodeValue(ControlElement, "iconfile", "");
                            objModuleControl.ViewOrder = XmlUtils.GetNodeValueInt(ControlElement, "vieworder", 0);

                            objModuleControls.AddModuleControl(objModuleControl);
                        }
                    }
                    // update interfaces
                    UpdateModuleInterfaces(objDesktopModule.BusinessControllerClass);
                }

                Response.Redirect(Globals.NavigateURL(), true);
            }
            catch
            {
                // can not open manifest
                UI.Skins.Skin.AddModuleMessage(this, Localization.GetString("InstallManifest.ErrorMessage", this.LocalResourceFile), ModuleMessageType.RedError);
            }
        }
        public Report Parse(string file)
        {
            var coverageReport = new Report
            {
                ModuleElements = new List <ModuleElement>()
            };

            var report  = XDocument.Load(file);
            var modules = report.Root.Elements("Modules").SelectMany(x => x.Elements("Module"));

            foreach (var module in modules)
            {
                var moduleInfo = new ModuleElement
                {
                    FilesList      = GetProjectFilesList(module.Element("Files")?.Elements("File")),
                    ClassCoverages = new List <ClassCoverage>()
                };

                var classes = module.Element("Classes").Elements("Class");

                foreach (var projectClass in classes)
                {
                    var summaryElem = projectClass.Element("Summary");
                    if (summaryElem == null)
                    {
                        continue;
                    }

                    var coverageInfo = new ClassCoverage
                    {
                        SequenceCoverage = Convert.ToDouble(summaryElem.Attribute("sequenceCoverage").Value, CultureInfo.InvariantCulture)
                    };

                    int?fileId         = null;
                    var methodCoverage = new List <LineCoverage>();

                    var methods = projectClass.Element("Methods");
                    if (methods != null && methods.Elements("Method").Any())
                    {
                        foreach (var method in methods.Elements("Method"))
                        {
                            if (method.Element("FileRef") == null)
                            {
                                continue;
                            }

                            fileId = Convert.ToInt32(method.Element("FileRef").Attribute("uid").Value);
                            var lines = method.Element("SequencePoints");
                            if (lines != null && lines.Elements("SequencePoint").Any())
                            {
                                foreach (var line in lines.Elements("SequencePoint"))
                                {
                                    methodCoverage.Add(new LineCoverage
                                    {
                                        LineNumber = Convert.ToInt32(line.Attribute("sl").Value),
                                        VisitCount = Convert.ToInt32(line.Attribute("vc").Value)
                                    });
                                }
                            }
                        }
                    }

                    if (fileId != null && moduleInfo.FilesList.ContainsKey(fileId.Value))
                    {
                        coverageInfo.FileId       = fileId.Value;
                        coverageInfo.CoveredLines = methodCoverage.ToList();
                        moduleInfo.ClassCoverages.Add(coverageInfo);
                    }
                }

                coverageReport.ModuleElements.Add(moduleInfo);
            }

            return(coverageReport);
        }