public void RemoveUser(DeskRoleUserResult userDto, Desk desk)
        {
            DeskRoleUser roleUser = _dao.GetByAccountName(userDto.UserName, desk.Id);

            if (roleUser == null)
            {
                return;
            }

            this.Delete(ref roleUser);
            //Inserisco il log
            CurrentDeskLogFacade.InsertLog(DeskLogType.Modify, string.Format(REMOVED_USER_LOG_DESCRIPTION_FORMAT, userDto.UserName), desk, SeverityLog.Info);
        }
        /// <summary>
        /// Aggiunge un nuovo utente al tavolo
        /// </summary>
        public DeskRoleUser AddUser(DeskRoleUserResult dto, Desk desk)
        {
            DeskRoleUser deskUser = new DeskRoleUser
            {
                Desk           = desk,
                AccountName    = dto.UserName,
                PermissionType = DeskPermissionType.Reader
            };

            if (dto.PermissionType.HasValue)
            {
                deskUser.PermissionType = dto.PermissionType.Value;
            }

            this.Save(ref deskUser);

            //Inserisco il log
            CurrentDeskLogFacade.InsertLog(DeskLogType.Modify, string.Format(ADD_USER_LOG_DESCRIPTION_FORMAT, dto.UserName), desk, SeverityLog.Info);

            return(deskUser);
        }
        /// <summary>
        /// Permette di modificare un utente di un tavolo
        /// </summary>
        public DeskRoleUser UpdateUser(DeskRoleUserResult dto, Desk desk)
        {
            if (dto == null)
            {
                throw new ArgumentNullException("VecompSoftware.DocSuiteWeb.Facade.NHibernate.Desks.UpdateUser dto");
            }

            if (desk == null)
            {
                throw new ArgumentNullException("VecompSoftware.DocSuiteWeb.Facade.NHibernate.Desks.UpdateUser desk");
            }

            DeskRoleUser user = _dao.GetByAccountName(dto.UserName, desk.Id);

            if (user == null)
            {
                throw new Exception(string.Format(USER_NOT_FOUND, dto.UserName, desk.Id));
            }

            user.PermissionType = dto.PermissionType ?? DeskPermissionType.Reader;
            this.Update(ref user);
            return(user);
        }