public async Task <IActionResult> Put([FromBody] UpdateOraganizationSettings input) { var orga = _orgPermissionRepository.GetOrgPermission(input.UserId, input.EntityId); if (!(orga is null)) { orga.AddEntities = input.AddEntities; orga.ChangeOrganizationProfile = input.ChangeOrganizationProfile; orga.ChangeSettings = input.ChangeSettings; await _orgPermissionRepository.Update(orga); return(Ok(orga)); } return(Ok("not exist")); }
public async Task <ActionResult <User_Entity> > PostManager([FromBody] InviteViewModel input) { var user = _userEntityRepository.GetByUserId(input.InviterId, input.EntityId); var Newuser = _userEntityRepository.GetByUserId(input.NewMemberId, input.EntityId); User New = await _userRepository.Get(input.NewMemberId); Entity ent = await _entityRepository.Get(input.EntityId); var userEntity = new User_Entity(New, ent, Role.Manager); Boolean admin = false; if (user.Role == Role.Manager) { admin = true; } var childEntity = _childRepository.GetByParentId(input.EntityId); List <int> childs = new List <int>(); foreach (ChildEntity ee in childEntity) { int childId = ee.ChildId; childs.Add(childId); } if (Newuser is null) // sig que the new user is not a (member , manager or observer ) in this entity { System.Diagnostics.Debug.WriteLine("the new user is not a (member , manager or observer ) in this entity "); if (admin) { if (input.NewRole == 0) // we want to invite the new user as a manager to the entity { foreach (int i in childs) // we make the journey on all the chids of the entity to make the newuser as a manager also at thoses entities { Entity ii = await _entityRepository.Get(i); var childuserEnt = new User_Entity(New, ii, Role.Manager); //make the new user as a manager to the child af the entity var childwallPerm = new WallPermission(input.NewMemberId, i, true, true, true, true, true, true, true); var childokrPerm = new OKRPermission(input.NewMemberId, i, true, true, true, true, true, true, true, true, true, true); var childorgPerm = new OrganizationPermission(input.NewMemberId, i, true, true, true); var childnotifPerm = new NotificationPermission(input.NewMemberId, i, true); await _wallRepository.Add(childwallPerm); await _okrRepository.Add(childokrPerm); await _organizationRepository.Add(childorgPerm); await _notificationRepository.Add(childnotifPerm); await _userEntityRepository.Add(childuserEnt); } var wallPerm = new WallPermission(input.NewMemberId, input.EntityId, true, true, true, true, true, true, true); var okrPerm = new OKRPermission(input.NewMemberId, input.EntityId, true, true, true, true, true, true, true, true, true, true); var orgPerm = new OrganizationPermission(input.NewMemberId, input.EntityId, true, true, true); var notifPerm = new NotificationPermission(input.NewMemberId, input.EntityId, true); await _wallRepository.Add(wallPerm); await _okrRepository.Add(okrPerm); await _organizationRepository.Add(orgPerm); await _notificationRepository.Add(notifPerm); await _userEntityRepository.Add(userEntity); Console.WriteLine("Creating Manager:" + New.UserId); } } } else { System.Diagnostics.Debug.WriteLine("the new user is a (member , manager or observer ) in this entity "); Newuser.Role = 0; System.Diagnostics.Debug.WriteLine(Newuser.Role); //await _userEntityRepository.Update(Newuser); User_Entity NewChange = await _userEntityRepository.Update(Newuser); var wallPerm1 = _wallRepository.GetByUserEntityId(input.NewMemberId, input.EntityId); var okrPer1 = _okrRepository.GetByUserEntityId(input.NewMemberId, input.EntityId); var orgPerm1 = _organizationRepository.GetOrgPermission(input.NewMemberId, input.EntityId); var notifPerm1 = _notificationRepository.GetByUserEntityId(input.NewMemberId, input.EntityId); System.Diagnostics.Debug.WriteLine(wallPerm1.Add); wallPerm1.Add = true; wallPerm1.AddEmployees = true; wallPerm1.Delete = true; wallPerm1.DeleteEmployees = true; wallPerm1.DisplayFivePointQuestionUser = true; wallPerm1.Observe = true; wallPerm1.Update = true; okrPer1.Add = true; okrPer1.AddEmployees = true; okrPer1.Delete = true; okrPer1.DeleteEmployees = true; okrPer1.Observe = true; okrPer1.Update = true; okrPer1.ObserveKResult = true; okrPer1.updateKResult = true; okrPer1.DeleteKResult = true; okrPer1.AddKResult = true; orgPerm1.AddEntities = true; orgPerm1.ChangeOrganizationProfile = true; orgPerm1.ChangeSettings = true; notifPerm1.GetNotification = true; await _wallRepository.Update(wallPerm1); await _okrRepository.Update(okrPer1); await _organizationRepository.Update(orgPerm1); await _notificationRepository.Update(notifPerm1); foreach (int i in childs) // we make the journey on all the chids of the entity to make the newuser as a manager also at thoses entities { Entity ii = await _entityRepository.Get(i); var entityuserchild = _userEntityRepository.GetByUserId(input.NewMemberId, i); entityuserchild.Role = input.NewRole; await _userEntityRepository.Update(entityuserchild); var wallPerm = _wallRepository.GetByUserEntityId(Newuser.Id, i); var okrPer = _okrRepository.GetByUserEntityId(Newuser.Id, i); var orgPerm = _organizationRepository.GetOrgPermission(Newuser.Id, i); var notifPerm = _notificationRepository.GetByUserEntityId(Newuser.Id, i); wallPerm.Add = true; wallPerm.AddEmployees = true; wallPerm.Delete = true; wallPerm.DeleteEmployees = true; wallPerm.DisplayFivePointQuestionUser = true; wallPerm.Observe = true; wallPerm.Update = true; okrPer.Add = true; okrPer.AddEmployees = true; okrPer.Delete = true; okrPer.DeleteEmployees = true; okrPer.Observe = true; okrPer.Update = true; okrPer.ObserveKResult = true; okrPer.updateKResult = true; okrPer.DeleteKResult = true; okrPer.AddKResult = true; orgPerm.AddEntities = true; orgPerm.ChangeOrganizationProfile = true; orgPerm.ChangeSettings = true; notifPerm.GetNotification = true; await _wallRepository.Update(wallPerm); await _okrRepository.Update(okrPer); await _organizationRepository.Update(orgPerm); await _notificationRepository.Update(notifPerm); await context.SaveChangesAsync(); } Console.WriteLine("Creating Manager:" + New.UserId); return(CreatedAtAction("Get", NewChange)); } return(CreatedAtAction("Get", userEntity)); }