/// <summary>
        /// Inserts the project user asynchronous.
        /// </summary>
        /// <param name="model">The model.</param>
        /// <returns>Task.</returns>
        public async Task InsertProjectUserAsync(IProjectUserPoco model)
        {
            var exists = await projectUserRepository.GetCountAsync(p => p.ProjectId == model.ProjectId && p.UserId == model.UserId) > 0;

            if (exists)
            {
                throw new Exception("Selected user is allredy added to this project");
            }

            await projectUserRepository.InsertAsync(model);
        }
 /// <summary>
 /// Adds <see cref="IProjectUserPoco"/> model for delete. This will not call Save() method.
 /// </summary>
 /// <param name="model">The model.</param>
 public virtual void AddForDelete(IProjectUserPoco model)
 {
     genericRepository.Delete(model);
 }
 /// <summary>
 /// Adds <see cref="IProjectUserPoco"/> model for update. This will not call Save() method.
 /// </summary>
 /// <param name="model">The model.</param>
 public virtual void AddForUpdate(IProjectUserPoco model)
 {
     genericRepository.Update(mapper.Map <ProjectUser>(model));
 }
 /// <summary>
 /// Adds <see cref="IProjectUserPoco"/> model for insert. This will not call Save() method.
 /// </summary>
 /// <param name="model">The model.</param>
 public virtual void AddForInset(IProjectUserPoco model)
 {
     genericRepository.Insert(mapper.Map <ProjectUser>(model));
 }
 /// <summary>
 /// Deletes the specified <see cref="IProjectUserPoco"/> model asynchronous.
 /// </summary>
 /// <param name="model">The model.</param>
 public virtual System.Threading.Tasks.Task DeleteAsync(IProjectUserPoco model)
 {
     genericRepository.Delete(mapper.Map <ProjectUser>(model));
     return(genericRepository.SaveAsync());
 }
 /// <summary>
 /// Deletes the specified <see cref="IProjectUserPoco"/> model.
 /// </summary>
 /// <param name="model">The model.</param>
 public virtual void Delete(IProjectUserPoco model)
 {
     genericRepository.Delete(mapper.Map <ProjectUser>(model));
     genericRepository.Save();
 }
 /// <summary>
 /// Inserts the specified <see cref="IProjectUserPoco"/> model into the database.
 /// </summary>
 /// <param name="model">The model.</param>
 public virtual void Insert(IProjectUserPoco model)
 {
     genericRepository.Insert(mapper.Map <ProjectUser>(model));
     genericRepository.Save();
 }