public void GetXmlTest()
        {
            string expected = @"<?xml version=""1.0"" encoding=""utf-8""?>
<function controlid=""unittest"">
    <delete_department departmentid=""D1234"" />
</function>";

            Stream            stream      = new MemoryStream();
            XmlWriterSettings xmlSettings = new XmlWriterSettings();

            xmlSettings.Encoding    = Encoding.UTF8;
            xmlSettings.Indent      = true;
            xmlSettings.IndentChars = "    ";

            IaXmlWriter xml = new IaXmlWriter(stream, xmlSettings);

            DepartmentDelete record = new DepartmentDelete("unittest");

            record.DepartmentId = "D1234";

            record.WriteXml(ref xml);

            xml.Flush();
            stream.Position = 0;
            StreamReader reader = new StreamReader(stream);

            Diff xmlDiff = DiffBuilder.Compare(expected).WithTest(reader.ReadToEnd())
                           .WithDifferenceEvaluator(DifferenceEvaluators.Default)
                           .Build();

            Assert.IsFalse(xmlDiff.HasDifferences(), xmlDiff.ToString());
        }
Пример #2
0
        /// <summary>
        /// 同步部门
        /// </summary>
        /// <param name="organizeListJson">机构列表Json</param>
        /// <returns></returns>
        public void Synchronization(string organizeListJson)
        {
            List <WeChatDeptRelationEntity> weChatDeptRelationList = new List <WeChatDeptRelationEntity>();
            List <OrganizeEntity>           organizelist           = organizeListJson.ToList <OrganizeEntity>();

            #region  除
            IEnumerable <WeChatDeptRelationEntity> DeletedList = this.GetDeletedList(organizelist);
            foreach (var item in DeletedList)
            {
                DepartmentDelete departmentDelete = new DepartmentDelete();
                departmentDelete.id = item.WeChatDeptId.ToString();
                int IsOk = departmentDelete.Send().errcode;
                if (IsOk == 0)
                {
                    service.RemoveForm(item.DeptRelationId);
                }
            }
            #endregion

            #region 添加、编辑
            foreach (OrganizeEntity departmentEntity in organizelist)
            {
                WeChatDeptRelationEntity weChatDeptRelationEntity = service.GetEntity(departmentEntity.OrganizeId);
                if (weChatDeptRelationEntity == null)
                {
                    #region 添加
                    DepartmentCreate departmentCreate = new DepartmentCreate();
                    departmentCreate.name     = departmentEntity.FullName;
                    departmentCreate.parentid = departmentEntity.ParentId == "0" ? "1" : weChatDeptRelationList.Find(t => t.DeptId == departmentEntity.ParentId).WeChatDeptId.ToString();
                    string WeChatDeptId = departmentCreate.Send().id;
                    if (WeChatDeptId != null)
                    {
                        weChatDeptRelationEntity = new WeChatDeptRelationEntity();
                        weChatDeptRelationEntity.DeptRelationId = departmentEntity.OrganizeId;
                        weChatDeptRelationEntity.DeptId         = departmentEntity.OrganizeId;
                        weChatDeptRelationEntity.DeptName       = departmentEntity.FullName;
                        weChatDeptRelationEntity.WeChatDeptId   = WeChatDeptId.ToInt();//企业号创建部门的返回Id
                        weChatDeptRelationList.Add(weChatDeptRelationEntity);
                        service.SaveForm("", weChatDeptRelationEntity);
                    }
                    #endregion
                }
                else
                {
                    #region 编辑
                    weChatDeptRelationList.Add(weChatDeptRelationEntity);
                    DepartmentUpdate departmentUpdate = new DepartmentUpdate();
                    departmentUpdate.name     = departmentEntity.FullName;
                    departmentUpdate.parentid = departmentEntity.ParentId == "0" ? "1" : weChatDeptRelationList.Find(t => t.DeptId == departmentEntity.ParentId).WeChatDeptId.ToString();
                    departmentUpdate.id       = weChatDeptRelationEntity.WeChatDeptId.ToString();
                    int IsOk = departmentUpdate.Send().errcode;
                    if (IsOk == 0)
                    {
                        service.SaveForm(weChatDeptRelationEntity.DeptRelationId, weChatDeptRelationEntity);
                    }
                    #endregion
                }
            }
            #endregion
        }
Пример #3
0
 public void DeleteDepartmentApplication()
 {
     DepartmentDelete.ClickOn();
     softAssert.VerifyElementPresentInsideWindow(BtnApproveDelete, BusinessClose);
     BtnApproveDelete.ClickOn();
     softAssert.VerifyElementHasEqualInsideWindow(utility.TableCount(departmentTableCount), Constant.tmpTableCount, DepartmentCloseButton);
 }
        public void GetXmlTest()
        {
            string expected = @"<?xml version=""1.0"" encoding=""utf-8""?>
<function controlid=""unittest"">
    <delete_department departmentid=""D1234"" />
</function>";

            DepartmentDelete record = new DepartmentDelete("unittest")
            {
                DepartmentId = "D1234"
            };

            this.CompareXml(expected, record);
        }
        public async Task<ActionResult> Delete(DepartmentDelete.CommandModel commandModel)
        {
            var request = new DepartmentDelete.Request(SystemPrincipal.Name, commandModel);
            var response = await DomainServices.DispatchAsync<DepartmentDelete.Response>(request);

            if (!response.HasValidationIssues)
                return RedirectToAction("Index");

            if (response.HasConcurrencyError.Value)
                RedirectToAction("Delete", new { concurrencyError = true, id = commandModel.DepartmentID });

            ModelState.AddModelError(string.Empty, "Unable to delete. Try again, and if the problem persists contact your system administrator.");
            return View(commandModel);
        }
        // Delete Department
        public static DepartmentDelete.Response Handle(IRepository repository, DepartmentDelete.Request request)
        {
            var validationDetails = Validator.ValidateRequest(request, repository);
            if (validationDetails.HasValidationIssues)
                return new DepartmentDelete.Response(validationDetails);

            var department = repository.GetEntity<Department>(
                p => p.DepartmentID == request.CommandModel.DepartmentID,
                new EagerLoadingQueryStrategy<Department>(
                    p => p.Administrator));

            var hasConcurrencyError = false;
            var container = department.Delete();
            validationDetails = repository.Save(container, dbUpdateConcurrencyExceptionFunc: dbUpdateEx =>
            {
                hasConcurrencyError = true;
                return new ValidationMessageCollection(new ValidationMessage(string.Empty, dbUpdateEx.ToString()));
            });

            return new DepartmentDelete.Response(validationDetails, hasConcurrencyError);
        }
Пример #7
0
        public void DeleteActiveDepartmentApplication()
        {
            DepartmentCloseButton.ClickOn();
            SelectBusinessFromList.ClickOn();
            if (Browser.Driver.FindElement(By.XPath("//span[@class='k-switch km-switch k-widget km-widget k-switch-off km-switch-off']")).Displayed)
            {
                DepartmentEnableMark.ClickOn();
                DepartmentManagement.ClickOn();

                if (DepartmentDelete.IsDisplayed("department delete"))
                {
                    Thread.Sleep(500);
                    Log.Error("Delete is displayed on Active Department - FAIL");
                    // Assert.Fail();
                }
                else
                {
                    Thread.Sleep(500);
                    Browser.Driver.FindElement(By.Id("btnDepartmentManagerCancel")).ClickOn();
                    Log.Info("Test Pass");
                    // Assert.Pass();
                }
            }
            else if (Browser.Driver.FindElement(By.XPath("//span[@class='k-switch km-switch k-widget km-widget k-switch-off km-switch-on']")).Displayed)
            {
                DepartmentManagement.ClickOn();
                if (DepartmentDelete.IsDisplayed("department delete"))
                {
                    Log.Error("Delete is displayed on Active Department - FAIL");
                    Assert.Fail();
                }
                else
                {
                    DepartmentCloseButton.ClickOn();
                    Log.Info("Test Pass");
                    Assert.Pass();
                }
            }
            DepartmentCloseButton.ClickOn();
        }