public Bot(ITaskMailRepository taskMailRepository, ISlackUserRepository slackUserDetailsRepository, IStringConstantRepository stringConstant, IEnvironmentVariableRepository environmentVariableRepository, IComponentContext component) { _taskMailRepository = taskMailRepository; _slackUserDetailsRepository = slackUserDetailsRepository; _logger = LogManager.GetLogger("TaskBotModule"); _scrumlogger = LogManager.GetLogger("ScrumBotModule"); _stringConstant = stringConstant; _environmentVariableRepository = environmentVariableRepository; _component = component; }
/// <summary> /// Used to connect task mail bot and to capture task mail /// </summary> /// <param name="container"></param> public static void Main(IComponentContext container) { _logger = container.Resolve <ILogger>(); _stringConstant = container.Resolve <IStringConstantRepository>(); try { _taskMailRepository = container.Resolve <ITaskMailRepository>(); _slackUserDetails = container.Resolve <ISlackUserRepository>(); _environmentVariableRepository = container.Resolve <IEnvironmentVariableRepository>(); // assigning bot token on Slack Socket Client string botToken = _environmentVariableRepository.TaskmailAccessToken; SlackSocketClient client = new SlackSocketClient(botToken); // Creating a Action<MessageReceived> for Slack Socket Client to get connect. No use in task mail bot MessageReceived messageReceive = new MessageReceived(); messageReceive.ok = true; Action <MessageReceived> showMethod = (MessageReceived messageReceived) => new MessageReceived(); // Telling Slack Socket Client to the bot whose access token was given early client.Connect((connected) => { }); try { // Method will hit when someone send some text in task mail bot client.OnMessageReceived += (message) => { var user = _slackUserDetails.GetById(message.user); string replyText = ""; var text = message.text; if (text.ToLower() == _stringConstant.TaskMailSubject.ToLower()) { replyText = _taskMailRepository.StartTaskMail(user.Name).Result; } else { replyText = _taskMailRepository.QuestionAndAnswer(user.Name, text).Result; } // Method to send back response to task mail bot client.SendMessage(showMethod, message.channel, replyText); }; } catch (Exception) { client.CloseSocket(); } } catch (Exception ex) { _logger.Error(_stringConstant.LoggerErrorMessageTaskMailBot + " " + ex.Message + "\n" + ex.StackTrace); throw ex; } }
public TaskMailRepositoryTest() { _componentContext = AutofacConfig.RegisterDependancies(); _taskMailRepository = _componentContext.Resolve <ITaskMailRepository>(); _slackUserRepository = _componentContext.Resolve <ISlackUserRepository>(); _botQuestionRepository = _componentContext.Resolve <IBotQuestionRepository>(); _mockHttpClient = _componentContext.Resolve <Mock <IHttpClientRepository> >(); _userManager = _componentContext.Resolve <ApplicationUserManager>(); _taskMailDataRepository = _componentContext.Resolve <IRepository <TaskMail> >(); _taskMailDetailsDataRepository = _componentContext.Resolve <IRepository <TaskMailDetails> >(); _projectUserRepository = _componentContext.Resolve <IProjectUserCallRepository>(); _stringConstant = _componentContext.Resolve <IStringConstantRepository>(); _mockEmailService = _componentContext.Resolve <Mock <IEmailService> >(); Initialize(); }
public TaskReportController(ITaskMailRepository taskMailReport, IStringConstantRepository stringConstant) { this._taskMailReport = taskMailReport; _stringConstant = stringConstant; }