public bool EditAdminUnit(AdminUnit adminUnit) { _unitOfWork.AdminUnitRepository.Edit(adminUnit); _unitOfWork.Save(); return true; }
public bool DeleteAdminUnit(AdminUnit adminUnit) { if (adminUnit == null) return false; _unitOfWork.AdminUnitRepository.Delete(adminUnit); _unitOfWork.Save(); return true; }
public ActionResult Edit(int id, AdminUnit unit) { if (ModelState.IsValid) { _adminUnitService.EditAdminUnit(unit); return(Json(new { success = true })); } return(PartialView("Edit", unit)); }
public void FindAdminUnitByIdTest() { string AdminUnitName = "Tigray"; // Try finding a product by id AdminUnit actual = this.MockAdminUnitsRepository.FindById(2); Assert.IsNotNull(actual); // Test if null Assert.IsInstanceOfType(actual, typeof(AdminUnit)); // Test type Assert.AreEqual(AdminUnitName, actual.Name); // Verify it is the right product }
public AURoleMemberExecutor(AUOperationType opType, AUSchemaRole role, AdminUnit unit, SCUser[] users) : base(opType) { role.NullCheck("role"); users.NullCheck("users"); unit.NullCheck("unit"); this.schemaRole = role; this.users = users; this.unit = unit; }
public void CreateAdminUnitTest1() { int adminUnitID = 0; // TODO: Initialize to an appropriate value AdminUnit expected = null; // TODO: Initialize to an appropriate value AdminUnit actual; actual = AdminUnit.CreateAdminUnit(adminUnitID); Assert.AreEqual(expected, actual); Assert.Inconclusive("Verify the correctness of this test method."); }
public static AdminUnitViewModel BindAdminUnitViewModel(AdminUnit adminUnit) { return(new AdminUnitViewModel() { AdminUnitID = adminUnit.AdminUnitID, AdminUnitName = adminUnit.Name, AdminUnitTypeID = adminUnit.AdminUnitTypeID ?? 0, ParentID = adminUnit.ParentID ?? 0 }); }
public bool DeleteAdminUnit(AdminUnit adminUnit) { if (adminUnit == null) { return(false); } _unitOfWork.AdminUnitRepository.Delete(adminUnit); _unitOfWork.Save(); return(true); }
public static AdminUnit BindAdminUnit(AdminUnitViewModel adminUnitViewModel, AdminUnit adminUnit = null) { return(adminUnit ?? new AdminUnit() { AdminUnitID = adminUnitViewModel.AdminUnitID, Name = adminUnitViewModel.AdminUnitName, AdminUnitTypeID = adminUnitViewModel.AdminUnitTypeID, ParentID = adminUnitViewModel.ParentID }); }
public void NameTest() { AdminUnit target = new AdminUnit(); // TODO: Initialize to an appropriate value string expected = string.Empty; // TODO: Initialize to an appropriate value string actual; target.Name = expected; actual = target.Name; Assert.AreEqual(expected, actual); Assert.Inconclusive("Verify the correctness of this test method."); }
public void AdminUnit1Test() { AdminUnit target = new AdminUnit(); // TODO: Initialize to an appropriate value EntityCollection <AdminUnit> expected = null; // TODO: Initialize to an appropriate value EntityCollection <AdminUnit> actual; target.AdminUnit1 = expected; actual = target.AdminUnit1; Assert.AreEqual(expected, actual); Assert.Inconclusive("Verify the correctness of this test method."); }
public void AdminUnitIDTest() { AdminUnit target = new AdminUnit(); // TODO: Initialize to an appropriate value int expected = 0; // TODO: Initialize to an appropriate value int actual; target.AdminUnitID = expected; actual = target.AdminUnitID; Assert.AreEqual(expected, actual); Assert.Inconclusive("Verify the correctness of this test method."); }
public void AdminUnitTypeReferenceTest() { AdminUnit target = new AdminUnit(); // TODO: Initialize to an appropriate value EntityReference <AdminUnitType> expected = null; // TODO: Initialize to an appropriate value EntityReference <AdminUnitType> actual; target.AdminUnitTypeReference = expected; actual = target.AdminUnitTypeReference; Assert.AreEqual(expected, actual); Assert.Inconclusive("Verify the correctness of this test method."); }
public void ReplaceUsersInRole(SCUser[] users, AdminUnit unit, AUSchemaRole role) { CheckUnitPermission(AUOperationType.RemoveUserFromRole, "EditRoleMembers", unit); AURoleMemberExecutor executor = new AURoleMemberExecutor(AUOperationType.RemoveUserFromRole, role, unit, users) { NeedStatusCheck = this.NeedValidationAndStatusCheck, NeedContainerStatusCheck = this.NeedValidationAndStatusCheck }; ExecuteWithActions(AUOperationType.RemoveUserFromRole, () => SCActionContext.Current.DoActions(() => executor.Execute())); }
public void CanDoDeletePostBack() { //ACT var adminUnit = new AdminUnit { AdminUnitID = 1, Name = "Region", ParentID = null, AdminUnitTypeID = 2 }; dynamic result = _adminUnitController.Delete(1, adminUnit) as JsonResult; //ASSERT Assert.IsNotNull(result); Assert.AreEqual("AdminUnit/Index", result.redirect); }
public ActionResult Delete(int id, AdminUnit unit) { try { _adminUnitService.DeleteAdminUnit(unit); return(RedirectToAction("Index")); } catch { return(View("Delete")); } }
public void AddAdminUnit(ClientAdminUnit unit, ClientAdminUnit parent) { EnsureID(unit); if (parent != null) { CheckIDProvided(parent); } AdminUnit auParent = parent != null ? (AdminUnit)parent.ToSchemaObject(true) : null; this.Facade.AddAdminUnit((AdminUnit)unit.ToSchemaObject(false), auParent); }
public void CanDoEditPostback() { //ACT var adminUnit = new AdminUnit { AdminUnitID = 1, Name = "Region", ParentID = null, AdminUnitTypeID = 2 }; var jsonResult = _adminUnitController.Edit(1, adminUnit) as JsonResult; //ASSERT Assert.IsNotNull(jsonResult); dynamic data = jsonResult.Data; Assert.AreEqual(true, data.success); }
public void UpdateAdminUnit(AdminUnit unit) { CheckUnitPermission(AUOperationType.AddAdminUnit, "EditProperty", unit); AUObjectExecutor executor = new AUObjectExecutor(AUOperationType.UpdateAdminUnit, unit) { NeedValidation = this.NeedValidationAndStatusCheck, NeedStatusCheck = this.NeedValidationAndStatusCheck }; ExecuteWithActions(AUOperationType.UpdateAdminUnit, () => SCActionContext.Current.DoActions(() => { executor.Execute(); })); }
private static SchemaObjectBase GetUnitParent(AdminUnit unit, bool allowNull) { SchemaObjectBase parent = null; var parentRelaion = unit.GetCurrentVeryParentRelation(); if (parentRelaion != null) { AUCommon.DoDbAction(() => { parent = parentRelaion.Parent; }); } else if (allowNull == false) { throw new AUObjectException("此管理单元没有任何父级,这可能是数据存在错误或此管理单元未添加到系统。"); } return(parent); }
private SCAclContainer PrepareAclContainer(AdminUnit parent, AdminUnit currentData) { SCAclContainer result = null; if (currentData is ISCAclContainer) { result = new SCAclContainer(currentData); if (parent != null) { AUCommon.DoDbAction(() => result.Members.CopyFrom(AUAclAdapter.Instance.LoadByContainerID(parent.ID, DateTime.MinValue))); } } return result; }
private SCAclContainer PrepareAclContainer(AdminUnit parent, AdminUnit currentData) { SCAclContainer result = null; if (currentData is ISCAclContainer) { result = new SCAclContainer(currentData); if (parent != null) { AUCommon.DoDbAction(() => result.Members.CopyFrom(AUAclAdapter.Instance.LoadByContainerID(parent.ID, DateTime.MinValue))); } } return(result); }
public AdminUnitExecutor(AUOperationType opType, AdminUnit parent, AdminUnit child) : base(opType, child) { child.NullCheck("child"); child.ClearRelativeData(); if (parent != null) parent.ClearRelativeData(); if (!(opType != AUOperationType.AddAdminUnit | opType != AUOperationType.RemoveAdminUnit)) throw new ApplicationException("此Executor不支持" + opType + "操作"); this.inputParent = parent; if (this.OperationType == AUOperationType.AddAdminUnit) this.aclContainer = PrepareAclContainer(parent, child); }
public void UpdateScopeCondition(AUAdminScope scope, SCCondition condition) { AdminUnit unit = scope.GetOwnerUnit(); CheckUnitPermission(AUOperationType.AddAdminUnit, "EditAdminScope", unit); if (condition.OwnerID != scope.ID) { throw new AUObjectValidationException("条件的OwnerID必须是Scope的ID"); } AUUpdateConditionsExecutor executor = new AUUpdateConditionsExecutor(AUOperationType.UpdateScopeCondition, scope, condition) { }; ExecuteWithActions(AUOperationType.UpdateScopeCondition, () => SCActionContext.Current.DoActions(() => executor.Execute())); }
public void AddObjectToScope(AUAdminScopeItem item, AUAdminScope scope) { AdminUnit unit = scope.GetOwnerUnit(); CheckUnitPermission(AUOperationType.AddAdminUnit, "EditAdminScope", unit); AUMemberRelativeExecutor executor = new AUMemberRelativeExecutor(AUOperationType.AddAUScopeItem, scope, item) { SaveTargetData = false, NeedValidation = this.NeedValidationAndStatusCheck, NeedContainerStatusCheck = this.NeedValidationAndStatusCheck, }; ExecuteWithActions(AUOperationType.AddAUScopeItem, () => SCActionContext.Current.DoActions(() => { executor.Execute(); })); }
private void CheckUpdateAclPermissions(AUOperationType opType, string containerID) { if (this.NeedCheckPermissionAndCurrentUserIsNotSupervisor) { AdminUnit unit = null; AUCommon.DoDbAction(() => { unit = (AdminUnit)PC.Adapters.SchemaObjectAdapter.Instance.Load(containerID); }); if (unit == null || unit.Status != SchemaObjectStatus.Normal) { throw new AUObjectException("指定的管理单元不存在"); } CheckUnitPermission(opType, "EditSubUnitAcl", unit); } }
private static bool CheckAddSubPermission(AUSchema schema, AdminUnit targetUnit) { bool result = false; result = AU.AUPermissionHelper.IsSupervisor(DeluxePrincipal.Current); if (result == false) { if (string.IsNullOrEmpty(schema.MasterRole) == false) { result = DeluxePrincipal.Current.IsInRole(schema.MasterRole); if (result == false && targetUnit != null) { var permissions = AU.Adapters.AUAclAdapter.Instance.LoadCurrentContainerAndPermissions(DeluxeIdentity.CurrentUser.ID, new string[] { targetUnit.ID }); result = Util.ContainsPermission(permissions, targetUnit.ID, "AddSubUnit"); } } } return(result); }
public void AddAdminUnit(AdminUnit unit, AdminUnit parent) { if (parent == null) { CheckAUSchemaPermission(unit.GetUnitSchema()); } else { CheckUnitPermission(AUOperationType.AddAdminUnit, "AddSubUnit", parent); } AdminUnitExecutor executor = new Executors.AdminUnitExecutor(AUOperationType.AddAdminUnit, parent, unit) { NeedValidation = this.NeedValidationAndStatusCheck, NeedParentStatusCheck = this.NeedValidationAndStatusCheck, }; ExecuteWithActions(AUOperationType.AddAdminUnit, () => SCActionContext.Current.DoActions(() => { executor.Execute(); })); }
public AdminUnitExecutor(AUOperationType opType, AdminUnit parent, AdminUnit child) : base(opType, child) { child.NullCheck("child"); child.ClearRelativeData(); if (parent != null) { parent.ClearRelativeData(); } if (!(opType != AUOperationType.AddAdminUnit | opType != AUOperationType.RemoveAdminUnit)) { throw new ApplicationException("此Executor不支持" + opType + "操作"); } this.inputParent = parent; if (this.OperationType == AUOperationType.AddAdminUnit) { this.aclContainer = PrepareAclContainer(parent, child); } }
public void AddAdminUnitWithMembers(ClientAdminUnit unit, ClientAdminUnit parent, ClientAURole[] roles, ClientAUAdminScope[] scopes) { roles.NullCheck("roles"); scopes.NullCheck("scopes"); CheckIDProvided(unit); AURole[] auRoles = new AURole[roles.Length]; for (int i = roles.Length - 1; i >= 0; i--) { auRoles[i] = (AURole)roles[i].ToSchemaObject(); } AUAdminScope[] auScopes = new AUAdminScope[scopes.Length]; for (int i = scopes.Length - 1; i >= 0; i--) { auScopes[i] = (AUAdminScope)scopes[i].ToSchemaObject(); } EnsureID(unit); AdminUnit auParent = parent != null ? (AdminUnit)parent.ToSchemaObject(true) : null; this.Facade.AddAdminUnitWithMembers((AdminUnit)unit.ToSchemaObject(false), auParent, auRoles, auScopes); }
public void AddUserToRole(SCUser user, AdminUnit unit, AUSchemaRole role) { CheckUnitPermission(AUOperationType.RemoveUserFromRole, "EditRoleMembers", unit); SchemaObjectBase r = Adapters.AUSnapshotAdapter.Instance.LoadAURole(role.ID, unit.ID, true, DateTime.MinValue); if (r == null) { throw new AUObjectValidationException("没有找到此管理单元的角色,请尝试重新添加此角色"); } AUMemberRelativeExecutor executor = new Executors.AUMemberRelativeExecutor(AUOperationType.AddUserToRole, r, user) { SaveTargetData = false, NeedValidation = false, NeedContainerStatusCheck = this.NeedValidationAndStatusCheck, }; ExecuteWithActions(AUOperationType.AddUserToRole, () => SCActionContext.Current.DoActions(() => { executor.Execute(); })); }
private void DeterminPermission(AUSchema schema, AdminUnit unit) { bool editEnabled = TimePointContext.Current.UseCurrentTime; if (editEnabled) { if (Util.SuperVisiorMode == false) { if (string.IsNullOrEmpty(schema.MasterRole) == false) { editEnabled = DeluxePrincipal.Current.IsInRole(schema.MasterRole); if (editEnabled == false) { var permissions = AU.Adapters.AUAclAdapter.Instance.LoadCurrentContainerAndPermissions(DeluxeIdentity.CurrentUser.ID, new string[] { unit.ID }); editEnabled = Util.ContainsPermission(permissions, unit.ID, "EditAdminScope");; } } } } this.EditEnabled = editEnabled; }
public IEnumerable <TreeViewModel> GetTreeElts(int adminunitParentId, int hubId) { //TODO:Check if the t.ShippingInstructionID.HasValue && t.ProjectCodeID.HasValue ...&& to || to accoumidate SI/PC allocation var UnclosedDispatchAllocations = _unitOfWork.DispatchAllocationRepository.FindBy(t => (t.ShippingInstructionID.HasValue || t.ProjectCodeID.HasValue) && hubId == t.HubID && t.IsClosed == false); AdminUnit adminUnit = _unitOfWork.AdminUnitRepository.FindById(adminunitParentId); var parentAdminUnits = _unitOfWork.AdminUnitRepository.FindBy(t => t.ParentID == adminunitParentId); if (adminUnit.AdminUnitType.AdminUnitTypeID == 1)//by region { return((from Unc in UnclosedDispatchAllocations where Unc.FDP.AdminUnit.AdminUnit2.AdminUnit2.ParentID == adminunitParentId group Unc by new { Unc.FDP.AdminUnit.AdminUnit2.AdminUnit2 } into b select new TreeViewModel { Name = b.Key.AdminUnit2.Name, Value = b.Key.AdminUnit2.AdminUnitID, Enabled = true, Count = b.Count() }).Union(from ad in parentAdminUnits select new TreeViewModel { Name = ad.Name, Value = ad.AdminUnitID, Enabled = true, Count = 0 } )); } else if (adminUnit.AdminUnitType.AdminUnitTypeID == 2)//by zone { return ((from Unc in UnclosedDispatchAllocations where Unc.FDP.AdminUnit.AdminUnit2.ParentID == adminunitParentId group Unc by new { Unc.FDP.AdminUnit.AdminUnit2 } into b select new TreeViewModel { Name = b.Key.AdminUnit2.Name, Value = b.Key.AdminUnit2.AdminUnitID, Enabled = true, Count = b.Count() }).Union(from ad in parentAdminUnits select new TreeViewModel { Name = ad.Name, Value = ad.AdminUnitID, Enabled = true, Count = 0 } )); } else //if (adminUnit.AdminUnitType.AdminUnitTypeID == 4)//by woreda { return ((from Unc in UnclosedDispatchAllocations where Unc.FDP.AdminUnit.ParentID == adminunitParentId group Unc by new { Unc.FDP.AdminUnit } into b select new TreeViewModel { Name = b.Key.AdminUnit.Name, Value = b.Key.AdminUnit.AdminUnitID, Enabled = true, Count = b.Count() }).Union(from ad in parentAdminUnits select new TreeViewModel { Name = ad.Name, Value = ad.AdminUnitID, Enabled = true, Count = 0 } )); } }
/// <summary> /// 初始化 /// </summary> /// <param name="opType">操作类型</param> /// <param name="obj">要移动的管理单元</param> /// <param name="target">目标管理单元 或为 null 表示移动到Schema </param> public MoveAUExecutor(AUOperationType opType, AdminUnit obj, AdminUnit target) : base(opType) { (this._Object = obj).NullCheck("obj"); this._Target = target; }
public bool EditAdminUnit(AdminUnit adminUnit) { _unitOfWork.AdminUnitRepository.Edit(adminUnit); _unitOfWork.Save(); return(true); }
private static SchemaObjectBase GetUnitParent(AdminUnit unit, bool allowNull) { SchemaObjectBase parent = null; var parentRelaion = unit.GetCurrentVeryParentRelation(); if (parentRelaion != null) AUCommon.DoDbAction(() => { parent = parentRelaion.Parent; }); else if (allowNull == false) throw new AUObjectException("此管理单元没有任何父级,这可能是数据存在错误或此管理单元未添加到系统。"); return parent; }
public void DeleteAdminUnit(AdminUnit unit) { var parent = GetUnitParent(unit, false); if (parent is AdminUnit) { CheckUnitPermission(AUOperationType.RemoveAdminUnit, "DeleteSubUnit", (AdminUnit)parent); } else if (parent is AUSchema) { CheckAUSchemaPermission((AUSchema)parent); } AdminUnitExecutor executor = new AdminUnitExecutor(AUOperationType.RemoveAdminUnit, null, unit) { NeedValidation = this.NeedValidationAndStatusCheck, NeedParentStatusCheck = this.NeedValidationAndStatusCheck, }; unit.Status = SchemaObjectStatus.Deleted; ExecuteWithActions(AUOperationType.AddAdminUnit, () => SCActionContext.Current.DoActions(() => { executor.Execute(); })); }
/// <summary> /// 移动管理单元 /// </summary> /// <param name="unit">将被移动的管理单元</param> /// <param name="newParent">一个表示目标单元的<see cref="AdminUnit"/> ,或者为null,表示作为顶级管理单元</param> public void MoveAdminUnit(AdminUnit unit, AdminUnit newParent) { unit.NullCheck("unit"); var parent = GetUnitParent(unit, false); if (parent is AUSchema) CheckAUSchemaPermission((AUSchema)parent); else CheckUnitPermission(AUOperationType.AddAdminUnit, "DeleteSubUnit", (AdminUnit)parent); if (newParent != null) CheckUnitPermission(AUOperationType.AddAdminUnit, "AddSubUnit", newParent); else CheckAUSchemaPermission(unit.GetUnitSchema()); MoveAUExecutor executor = new MoveAUExecutor(AUOperationType.MoveAdminUnit, unit, newParent) { NeedStatusCheck = this.NeedValidationAndStatusCheck }; ExecuteWithActions(AUOperationType.MoveAdminUnit, () => SCActionContext.Current.DoActions(() => { executor.Execute(); })); }
private void CheckUnitPermission(AUOperationType opType, string permissionName, AdminUnit unit) { unit.NullCheck("unit"); if (unit.Status != SchemaObjectStatus.Normal) throw new AUStatusCheckException(unit, opType); if (this._NeedCheckPermissions) { if (unit == null || unit.Status != SchemaObjectStatus.Normal) throw new ArgumentException(string.Format("不存在参数 unit 指定的管理单元", "unit")); if (DeluxePrincipal.Current.HasPermissions(permissionName, new string[] { unit.ID }) == false) { //如果没有权限,检查是否超级管理员或者拥有架构权限 if (AUPermissionHelper.IsSupervisor(DeluxePrincipal.Current) == false) { var schema = unit.GetUnitSchema(); if (string.IsNullOrEmpty(schema.MasterRole) || DeluxePrincipal.Current.IsInRole(schema.MasterRole) == false) throw CreateAclException(opType, unit.Schema, permissionName); } } } }
public void AddAdminUnitWithMembers(AdminUnit unit, AdminUnit parent, AURole[] roles, AUAdminScope[] scopes) { if (parent == null) CheckAUSchemaPermission(unit.GetUnitSchema()); else CheckUnitPermission(AUOperationType.AddAdminUnit, "AddSubUnit", parent); AdminUnitExecutor executor = new Executors.AdminUnitExecutor(AUOperationType.AddAdminUnit, parent, unit) { NeedValidation = this.NeedValidationAndStatusCheck, NeedParentStatusCheck = this.NeedValidationAndStatusCheck, InputRoles = roles, InputAdminScopes = scopes }; ExecuteWithActions(AUOperationType.AddAdminUnit, () => SCActionContext.Current.DoActions(() => { executor.Execute(); })); }
private SCRelationObject PrepareTargetRelation(SchemaObjectBase targetOrg, AdminUnit obj) { SCRelationObject relation = SchemaRelationObjectAdapter.Instance.Load(targetOrg.ID, obj.ID); if (relation == null) { relation = new SCRelationObject(targetOrg, obj) { Default = true }; } else { if (relation.Status == SchemaObjectStatus.Normal) this._RelationExisted = true; else { relation.CalculateFullPathAndGlobalSort(targetOrg, obj); relation.Status = SchemaObjectStatus.Normal; } } return relation; }
public void RemoveUserFromRole(SCUser user, AdminUnit unit, AUSchemaRole role) { CheckUnitPermission(AUOperationType.RemoveUserFromRole, "EditRoleMembers", unit); SchemaObjectBase r = Adapters.AUSnapshotAdapter.Instance.LoadAURole(role.ID, unit.ID, true, DateTime.MinValue); if (r == null) throw new AUObjectValidationException("没有找到此管理单元的角色,请尝试重新添加此角色"); AUMemberRelativeExecutor executor = new AUMemberRelativeExecutor(AUOperationType.RemoveUserFromRole, r, user) { OverrideExistedRelation = true, SaveTargetData = false, NeedStatusCheck = false, NeedContainerStatusCheck = this.NeedValidationAndStatusCheck, }; executor.Relation.Status = SchemaObjectStatus.Deleted; SCMemberRelation result = null; ExecuteWithActions(AUOperationType.RemoveUserFromRole, () => SCActionContext.Current.DoActions(() => result = (SCMemberRelation)executor.Execute())); }