public void Add(string values)
        {
            var newAuthorizationModel = new AuthorizationBusinessModel();

            JsonConvert.PopulateObject(values, newAuthorizationModel);


            var newAuthorization = _mapper.Map <Authorization>(newAuthorizationModel);
            AuthorizationRole newAutRole;

            foreach (var roleId in newAuthorizationModel.RoleIds)
            {
                newAutRole = new AuthorizationRole();
                newAutRole.Authorization = newAuthorization;
                newAutRole.Role          = _roleUnitOfWork.RoleRepository.GetById(roleId);
                newAuthorization.AuthorizationRoles.Add(newAutRole);
            }

            _roleUnitOfWork.AuthorizationRepository.Add(newAuthorization);
            _roleUnitOfWork.Complete();
        }
        public void Update(int id, string values)
        {
            Authorization authorization = _roleUnitOfWork.AuthorizationRepository.GetById(id);
            AuthorizationBusinessModel authorizationBusinessModel = _mapper.Map <AuthorizationBusinessModel>(authorization);

            _roleUnitOfWork.AuthorizationRepository.Remove(authorization);
            var autRoleCollections = _roleUnitOfWork.AuthorizationRoleRepository.GetAuthorizationRolesByAuthorizationId(id);

            int[] RoleIds = new int[autRoleCollections.Count];
            int   i       = 0;

            foreach (var autRoleCollection in autRoleCollections)
            {
                RoleIds[i] = autRoleCollection.RoleId;
                _roleUnitOfWork.AuthorizationRoleRepository.Remove(autRoleCollection);
                i++;
            }
            authorizationBusinessModel.RoleIds = RoleIds;
            JsonConvert.PopulateObject(values, authorizationBusinessModel);

            var newAuthorization = _mapper.Map <Authorization>(authorizationBusinessModel);

            if (authorizationBusinessModel.RoleIds != null)
            {
                AuthorizationRole autRole;
                foreach (var autRoleId in authorizationBusinessModel.RoleIds)
                {
                    autRole               = new AuthorizationRole();
                    autRole.Role          = _roleUnitOfWork.RoleRepository.GetById(autRoleId);
                    autRole.Authorization = newAuthorization;
                    newAuthorization.AuthorizationRoles.Add(autRole);
                }
            }

            _roleUnitOfWork.AuthorizationRepository.Add(newAuthorization);
            _roleUnitOfWork.Complete();
        }