private void SaveChangesInUser(object sender, EventArgs e)
        {
            if (YesRadioButton.IsChecked == true)
            {
                Group   currentGroup = groupRepository.GetByUser(accountRepository.Get(userFromGroup.AccountID));
                Account oldOwner     = accountRepository.Get(currentGroup.GroupOwnerID);
                Role    role         = accountRepository.GetRole("User");
                oldOwner.RoleID = role.RoleID;
                oldOwner.Role   = role;
                accountRepository.Edit(oldOwner);
                currentGroup.GroupOwnerID = userFromGroup.AccountID;

                Account newOwner = accountRepository.Get(userFromGroup.AccountID);
                role            = accountRepository.GetRole("GroupOwner");
                newOwner.RoleID = role.RoleID;
                newOwner.Role   = role;
                accountRepository.Edit(newOwner);

                groupRepository.Edit(currentGroup);
                MessageBox.Show("Zapisano zmiany poprawnie.", "Zapis", MessageBoxButton.OK, MessageBoxImage.Information);
                Close();
                return;
            }

            else
            {
                MessageBox.Show("Zapisano zmiany poprawnie.", "Zapis", MessageBoxButton.OK, MessageBoxImage.Information);
                Close();
                return;
            }
        }
Esempio n. 2
0
        private void SaveChangesInGroup(object sender, EventArgs e)
        {
            Group updatedGroup = groupRepository.Get(actualGroup.GroupID);

            if (groupDetailsVM.Name.Equals("") || groupDetailsVM.Name == null)
            {
                MessageBox.Show("Podaj nazwę grupy.", "Nazwa grupy", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            else if (groupDetailsVM.Name.Length < 3)
            {
                MessageBox.Show("Nazwa grupy nie może być krótsza niż 3 znaki.", "Nazwa grupy", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            else
            {
                updatedGroup.Name = groupDetailsVM.Name;
                if (PickOwner.Text.Equals("") || PickOwner.Text == null)
                {
                    groupRepository.Edit(updatedGroup);
                    MessageBox.Show("Zapisano zmiany poprawnie.", "Zapis", MessageBoxButton.OK, MessageBoxImage.Information);
                    Close();
                    return;
                }
                else
                {
                    foreach (string nameAndSurname in groupDetailsVM.NameAndSurnameList)
                    {
                        if (PickOwner.Text.Equals(nameAndSurname))
                        {
                            string[] splited    = nameAndSurname.Split('#');
                            int      id         = Int32.Parse(splited[1]);
                            Account  account    = groupDetailsVM.AccountList.Find(g => g.AccountID == id);
                            int      oldOwnerID = updatedGroup.GroupOwnerID;
                            updatedGroup.GroupOwnerID = account.AccountID;

                            account = accountRepository.Get(oldOwnerID);
                            Role role = accountRepository.GetRole("User");
                            account.RoleID = role.RoleID;
                            account.Role   = role;
                            accountRepository.Edit(account);

                            int newOnwerID = updatedGroup.GroupOwnerID;
                            account        = accountRepository.Get(newOnwerID);
                            role           = accountRepository.GetRole("GroupOwner");
                            account.RoleID = role.RoleID;
                            account.Role   = role;
                            accountRepository.Edit(account);

                            groupRepository.Edit(updatedGroup);
                            MessageBox.Show("Zapisano zmiany poprawnie.", "Zapis", MessageBoxButton.OK, MessageBoxImage.Information);
                            Close();
                            return;
                        }
                    }
                }
            }
        }
Esempio n. 3
0
        public IActionResult Put(string name, [FromBody] GroupEntity value)
        {
            var currentUser = HttpContext.User.Identity.Name;

            if (!_securityRepository.UserIsAdmin(HttpContext))
            {
                return(_securityRepository.Gate(GateType.Unathorised, AccessLogAction.GroupUpdate, currentUser, _object, name));
            }

            var entity = _groupRepository.GetByName(name);

            if (string.IsNullOrWhiteSpace(entity.Name))
            {
                return(_securityRepository.Gate(GateType.NotFound, AccessLogAction.GroupUpdate, currentUser, _object, name));
            }

            _groupRepository.Edit(value);
            _securityRepository.LogUserAction(currentUser, AccessLogAction.GroupUpdate, name, _object, true);
            _groupRepository.SaveChanges();

            return(Ok(value));
        }
Esempio n. 4
0
        public bool Edit(ManageGroupModel model)
        {
            using (var scope = new TransactionScope())
            {
                try
                {
                    model.Image = Cdn.Base64ToImageUrl(model.Image);
                    var groupId = _group.Edit(new GroupModel()
                    {
                        Image   = model.Image,
                        Title   = model.Title,
                        Message = model.Message,
                        UserId  = model.UserId,
                        GroupId = model.GroupId,
                    });


                    var existedUsers = _groupUser.GetAllUsers(model.GroupId);
                    var newUsers     = model.Users.Select(x => x.UserId).ToList();
                    foreach (var user in model.Users)
                    {
                        if (!existedUsers.Contains(user.UserId))
                        {
                            _groupUser.Add(new GroupUserModel()
                            {
                                GroupId   = model.GroupId,
                                UserId    = user.UserId,
                                CreatedBy = model.UserId,
                                RoleId    = user.RoleId
                            });
                        }
                        else
                        {
                            _groupUser.UpdateRole(new UpdateRoleModel()
                            {
                                UserId  = user.UserId,
                                GroupId = model.GroupId,
                                RoleId  = user.RoleId
                            });
                        }
                    }

                    foreach (var item in existedUsers)
                    {
                        if (!newUsers.Contains(item))
                        {
                            _groupUser.DeleteUser(new GroupUserIdModel()
                            {
                                UserId  = item,
                                GroupId = model.GroupId
                            });
                        }
                    }

                    scope.Complete();

                    return(groupId);
                }
                catch (Exception ex)
                {
                    scope.Dispose();
                    JavaScriptSerializer js = new JavaScriptSerializer();
                    string json             = js.Serialize(model);
                    Log.Error("BL-Group - Edit" + json, ex);
                    throw new ReturnExceptionModel(new CustomExceptionModel()
                    {
                        StatusCode = HttpStatusCode.BadRequest, Message = ex.Message
                    });
                }
            }
        }