public async Task <object> Clone(int projectId)
        {
            try
            {
                var entity = await _projectRepository.FindByIdAsync(projectId);

                var project = await CreateForClone(entity);

                if (entity == null)
                {
                    return(false);
                }
                var manager = await _managerRepository.FindAll().Where(_ => _.ProjectID == projectId).ToListAsync();

                manager.ForEach(item =>
                {
                    item.ProjectID = project.ID;
                });
                var member = await _teamMemberRepository.FindAll().Where(_ => _.ProjectID == projectId).ToListAsync();

                member.ForEach(item =>
                {
                    item.ProjectID = project.ID;
                });

                await _managerRepository.AddMultipleAsync(manager);

                await _teamMemberRepository.AddMultipleAsync(member);

                var tasksForClone = await _taskRepository.FindAll().Where(_ => _.ProjectID == projectId).ToListAsync();

                await CloneTask(tasksForClone, project.ID);

                await _unitOfWork.Commit();

                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }