Promact/slack-erp-custom-integration-mvc

View on GitHub
Slack.Automation/Promact.Core.Repository/MailSettingRepository/IMailSettingRepository.cs

Summary

Maintainability
A
0 mins
Test Coverage
using Promact.Erp.DomainModel.ApplicationClass;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Promact.Core.Repository.MailSettingRepository
{
    public interface IMailSettingRepository
    {
        /// <summary>
        /// Method to get list of project from oauth server
        /// </summary>
        /// <returns>list of project</returns>
        Task<List<ProjectAc>> GetAllProjectAsync();

        /// <summary>
        /// Method to get mail setting configuration from projectId
        /// </summary>
        /// <param name="projectId">project Id</param>
        /// <param name="module">name of module{leave, task or scrum}</param>
        /// <returns>mail setting configuration details</returns>
        Task<MailSettingAC> GetMailSettingDetailsByProjectIdAsync(int projectId, string module);

        /// <summary>
        /// Method to add mail setting configuration
        /// </summary>
        /// <param name="mailSettingAC">mail setting details</param>
        Task AddMailSettingAsync(MailSettingAC mailSettingAC);

        /// <summary>
        /// Method to get list of groups from group table
        /// </summary>
        /// <returns>list of group</returns>
        Task<List<string>> GetListOfGroupsNameAsync();

        /// <summary>
        /// Method to update mail setting configuration
        /// </summary>
        /// <param name="mailSettingAC">mail setting details</param>
        Task UpdateMailSettingAsync(MailSettingAC mailSettingAC);
    }
}