public RedmineController(IStringConstantRepository stringConstant, IRedmineRepository redmineRepository,
                          IAttachmentRepository attachmentRepository)
     : base(stringConstant)
 {
     _redmineRepository    = redmineRepository;
     _attachmentRepository = attachmentRepository;
 }
        // For more information on configuring authentication, please visit http://go.microsoft.com/fwlink/?LinkId=301864

        public void ConfigureAuth(IAppBuilder app, IComponentContext context)
        {
            _environmentVariable      = context.Resolve <IEnvironmentVariableRepository>();
            _oAuthLoginRepository     = context.Resolve <IOAuthLoginRepository>();
            _stringConstantRepository = context.Resolve <IStringConstantRepository>();
            _redirectUrl = string.Format("{0}{1}", AppSettingUtil.PromactErpUrl, _stringConstantRepository.RedirectUrl);
            // Configure the db context, user manager and signin manager to use a single instance per request
            app.CreatePerOwinContext(PromactErpContext.Create);
            app.CreatePerOwinContext <ApplicationUserManager>(ApplicationUserManager.Create);
            app.CreatePerOwinContext <ApplicationSignInManager>(ApplicationSignInManager.Create);
            JwtSecurityTokenHandler.InboundClaimTypeMap = new Dictionary <string, string>();

            app.UseCookieAuthentication(new CookieAuthenticationOptions
            {
                AuthenticationType = _stringConstantRepository.AuthenticationType
            });
            app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions
            {
                Authority    = AppSettingUtil.OAuthUrl,
                ClientId     = _environmentVariable.PromactOAuthClientId,
                ClientSecret = _environmentVariable.PromactOAuthClientSecret,
                RedirectUri  = _redirectUrl,
                TokenValidationParameters = new TokenValidationParameters
                {
                    NameClaimType = _stringConstantRepository.NameClaimType,
                    RoleClaimType = _stringConstantRepository.RoleClaimType
                },

                ResponseType = _stringConstantRepository.ResponseType,
                Scope        = _stringConstantRepository.Scope,
                SignInAsAuthenticationType = _stringConstantRepository.AuthenticationType,
                AuthenticationType         = _stringConstantRepository.AuthenticationTypeOidc,
                PostLogoutRedirectUri      = AppSettingUtil.PromactErpUrl,
                UseTokenLifetime           = true,
                Notifications = new OpenIdConnectAuthenticationNotifications
                {
                    SecurityTokenReceived = async tokenReceived =>
                    {
                        var accessToken = tokenReceived.ProtocolMessage.AccessToken;
                        var discovery   = new DiscoveryClient(AppSettingUtil.OAuthUrl);
                        discovery.Policy.RequireHttps = false;
                        var doc            = await discovery.GetAsync();
                        var userInfoClient = new UserInfoClient(doc.UserInfoEndpoint);
                        var user           = await userInfoClient.GetAsync(accessToken);
                        var tokenClient    = new TokenClient(doc.TokenEndpoint, _environmentVariable.PromactOAuthClientId, _environmentVariable.PromactOAuthClientSecret);
                        var response       = await tokenClient.RequestAuthorizationCodeAsync(tokenReceived.ProtocolMessage.Code, _redirectUrl);
                        var refreshToken   = response.RefreshToken;
                        string userId      = user.Claims.ToList().Single(x => x.Type == _stringConstantRepository.Sub).Value;
                        string email       = user.Claims.ToList().Single(x => x.Type == _stringConstantRepository.Email).Value;
                        await _oAuthLoginRepository.AddNewUserFromExternalLoginAsync(email, refreshToken, userId);
                    },
                    AuthenticationFailed = authenticationFailed =>
                    {
                        authenticationFailed.Response.Redirect("/"); //redirect to home page.
                        authenticationFailed.HandleResponse();
                        return(Task.FromResult(0));
                    },
                }
            });
        }
 public LeaveRequestRepositoryTest()
 {
     _componentContext       = AutofacConfig.RegisterDependancies();
     _leaveRequestRepository = _componentContext.Resolve <ILeaveRequestRepository>();
     _stringConstant         = _componentContext.Resolve <IStringConstantRepository>();
     Initialize();
 }
Exemplo n.º 4
0
 public LeaveReportRepository(IRepository <LeaveRequest> leaveRequest, IStringConstantRepository stringConstant,
                              IOauthCallHttpContextRespository oauthCallsRepository)
 {
     _leaveRequest         = leaveRequest;
     _stringConstant       = stringConstant;
     _oauthCallsRepository = oauthCallsRepository;
 }
 public LeaveRequestController(ISlackRepository slackRepository, IAttachmentRepository attachmentRepository, ILogger logger, IStringConstantRepository stringConstant)
 {
     _slackRepository      = slackRepository;
     _attachmentRepository = attachmentRepository;
     _logger         = logger;
     _stringConstant = stringConstant;
 }
Exemplo n.º 6
0
 public AttachmentRepositoryTest()
 {
     _componentContext     = AutofacConfig.RegisterDependancies();
     _attachmentRepository = _componentContext.Resolve <IAttachmentRepository>();
     _userManager          = _componentContext.Resolve <ApplicationUserManager>();
     _stringConstant       = _componentContext.Resolve <IStringConstantRepository>();
 }
Exemplo n.º 7
0
 public BotQuestionRepositoryTest()
 {
     _componentContext      = AutofacConfig.RegisterDependancies();
     _botQuestionRepository = _componentContext.Resolve <IBotQuestionRepository>();
     _stringConstant        = _componentContext.Resolve <IStringConstantRepository>();
     Initialize();
 }
Exemplo n.º 8
0
 public SlackUserRepositoryTest()
 {
     _componentContext    = AutofacConfig.RegisterDependancies();
     _slackUserRepository = _componentContext.Resolve <ISlackUserRepository>();
     _stringConstant      = _componentContext.Resolve <IStringConstantRepository>();
     Initialize();
 }
 public SlackUserRepository(IRepository <SlackUserDetails> slackUserDetailsRepository,
                            IStringConstantRepository stringConstant, IMapper mapper)
 {
     _slackUserDetailsRepository = slackUserDetailsRepository;
     _stringConstant             = stringConstant;
     _mapper = mapper;
 }
 public LeaveReportController(ILeaveReportRepository leaveReport, IAttachmentRepository attachmentRepository,
                              ApplicationUserManager userManager, IStringConstantRepository stringConstant) : base(stringConstant)
 {
     _leaveReport          = leaveReport;
     _attachmentRepository = attachmentRepository;
     _userManager          = userManager;
 }
Exemplo n.º 11
0
 public ProjectUserRepositoryTest()
 {
     _componentContext      = AutofacConfig.RegisterDependancies();
     _projectUserRepository = _componentContext.Resolve <IProjectUserCallRepository>();
     _mockHttpClient        = _componentContext.Resolve <Mock <IHttpClientRepository> >();
     _stringConstant        = _componentContext.Resolve <IStringConstantRepository>();
 }
Exemplo n.º 12
0
 public GroupRepository(IRepository <Group> groupRepository, IMapper mapper, IRepository <GroupEmailMapping> groupEmailMappingRepository, IOauthCallHttpContextRespository oauthCallsRepository, IStringConstantRepository stringConstantRepository)
 {
     _groupRepository             = groupRepository;
     _mapper                      = mapper;
     _oauthCallsRepository        = oauthCallsRepository;
     _groupEmailMappingRepository = groupEmailMappingRepository;
     _stringConstantRepository    = stringConstantRepository;
 }
 public RedmineRepository(IRepository <ApplicationUser> userDataRepository, IHttpClientService httpClientService,
                          IStringConstantRepository stringConstant, IAttachmentRepository attachmentRepository, IClient clientRepository)
 {
     _userDataRepository   = userDataRepository;
     _httpClientService    = httpClientService;
     _stringConstant       = stringConstant;
     _attachmentRepository = attachmentRepository;
     _clientRepository     = clientRepository;
 }
Exemplo n.º 14
0
 public RedmineRepositoryTest()
 {
     _componentContext  = AutofacConfig.RegisterDependancies();
     _stringConstant    = _componentContext.Resolve <IStringConstantRepository>();
     _redmineRepository = _componentContext.Resolve <IRedmineRepository>();
     _userManager       = _componentContext.Resolve <ApplicationUserManager>();
     _mockHttpClient    = _componentContext.Resolve <Mock <IHttpClientService> >();
     Initialize();
 }
 public HomeController(ApplicationUserManager userManager, IStringConstantRepository stringConstant, ApplicationSignInManager signInManager, ILogger logger, IOAuthLoginRepository oAuthLoginRepository, IEnvironmentVariableRepository envVariableRepository)
 {
     _userManager           = userManager;
     _signInManager         = signInManager;
     _logger                = logger;
     _oAuthLoginRepository  = oAuthLoginRepository;
     _envVariableRepository = envVariableRepository;
     _stringConstant        = stringConstant;
 }
 public OAuthController(IHttpClientRepository httpClientRepository, IStringConstantRepository stringConstant, ISlackUserRepository slackUserRepository, ILogger logger, IRepository <SlackChannelDetails> slackChannelDetails, IOAuthLoginRepository oAuthLoginRepository)
 {
     _httpClientRepository = httpClientRepository;
     _logger               = logger;
     _stringConstant       = stringConstant;
     _slackChannelDetails  = slackChannelDetails;
     _oAuthLoginRepository = oAuthLoginRepository;
     _slackUserRepository  = slackUserRepository;
 }
Exemplo n.º 17
0
 public OauthCallHttpContextRespository(IStringConstantRepository stringConstant, IHttpClientService httpClientService,
                                        HttpContextBase httpContextBase, ApplicationUserManager userManager, IAttachmentRepository attachmentRepository, ILogger logger)
 {
     _stringConstant       = stringConstant;
     _httpClientService    = httpClientService;
     _httpContextBase      = httpContextBase;
     _userManager          = userManager;
     _attachmentRepository = attachmentRepository;
     _logger = logger;
 }
 public GroupRepositoryTest()
 {
     _componentContext      = AutofacConfig.RegisterDependancies();
     _groupRepository       = _componentContext.Resolve <IGroupRepository>();
     _stringConstant        = _componentContext.Resolve <IStringConstantRepository>();
     _mockHttpClient        = _componentContext.Resolve <Mock <IHttpClientService> >();
     _userManager           = _componentContext.Resolve <ApplicationUserManager>();
     _mockHttpContextBase   = _componentContext.Resolve <Mock <HttpContextBase> >();
     _mockServiceRepository = _componentContext.Resolve <Mock <IServiceRepository> >();
 }
Exemplo n.º 19
0
 public ScrumReportRepository(IRepository <Scrum> scrumDataRepository,
                              IRepository <ScrumAnswer> scrumAnswerDataRepository, IStringConstantRepository stringConstant,
                              IOauthCallHttpContextRespository oauthCallsRepository)
 {
     _scrumDataRepository       = scrumDataRepository;
     _scrumAnswerDataRepository = scrumAnswerDataRepository;
     _oauthCallsRepository      = oauthCallsRepository;
     _stringConstant            = stringConstant;
     _logger = LogManager.GetLogger("ScrumReportModule");
 }
 public Client(IProjectUserCallRepository projectUser, IStringConstantRepository stringConstant, IEmailService email, IAttachmentRepository attachmentRepository, IHttpClientRepository httpClientRepository, IEnvironmentVariableRepository envVariableRepository)
 {
     _chatUpdateMessage             = new HttpClient();
     _chatUpdateMessage.BaseAddress = new Uri(_stringConstant.SlackChatUpdateUrl);
     _projectUser           = projectUser;
     _email                 = email;
     _stringConstant        = stringConstant;
     _attachmentRepository  = attachmentRepository;
     _httpClientRepository  = httpClientRepository;
     _envVariableRepository = envVariableRepository;
 }
 public OAuthLoginRepositoryTest()
 {
     _componentContext       = AutofacConfig.RegisterDependancies();
     _oAuthLoginRepository   = _componentContext.Resolve <IOAuthLoginRepository>();
     _attachmentRepository   = _componentContext.Resolve <IAttachmentRepository>();
     _slackUserRepository    = _componentContext.Resolve <ISlackUserRepository>();
     _slackChannelRepository = _componentContext.Resolve <ISlackChannelRepository>();
     _mockHttpClient         = _componentContext.Resolve <Mock <IHttpClientRepository> >();
     _envVariableRepository  = _componentContext.Resolve <IEnvironmentVariableRepository>();
     _stringConstant         = _componentContext.Resolve <IStringConstantRepository>();
     Initialize();
 }
 public HomeController(ApplicationUserManager userManager, IStringConstantRepository stringConstant,
                       ApplicationSignInManager signInManager, IOAuthLoginRepository oAuthLoginRepository,
                       IEnvironmentVariableRepository envVariableRepository, IMd5Service md5Service, IGroupRepository groupRepository) : base(stringConstant)
 {
     _userManager           = userManager;
     _signInManager         = signInManager;
     _oAuthLoginRepository  = oAuthLoginRepository;
     _envVariableRepository = envVariableRepository;
     _logger          = LogManager.GetLogger("AuthenticationModule");
     _md5Service      = md5Service;
     _groupRepository = groupRepository;
 }
Exemplo n.º 23
0
 public OAuthLoginRepository(ApplicationUserManager userManager,
                             IHttpClientRepository httpClientRepository, IRepository <SlackUserDetails> slackUserDetails,
                             IRepository <SlackChannelDetails> slackChannelDetails, IStringConstantRepository stringConstant,
                             ISlackUserRepository slackUserRepository, IEnvironmentVariableRepository envVariableRepository)
 {
     _userManager           = userManager;
     _httpClientRepository  = httpClientRepository;
     _slackUserDetails      = slackUserDetails;
     _stringConstant        = stringConstant;
     _slackUserRepository   = slackUserRepository;
     _slackChannelDetails   = slackChannelDetails;
     _envVariableRepository = envVariableRepository;
 }
Exemplo n.º 24
0
 public SlackRepository(ILeaveRequestRepository leaveRepository,
                        IProjectUserCallRepository projectUser,
                        IClient client, IStringConstantRepository stringConstant,
                        IAttachmentRepository attachmentRepository,
                        IRepository <ApplicationUser> userManager)
 {
     _projectUser          = projectUser;
     _leaveRepository      = leaveRepository;
     _client               = client;
     _stringConstant       = stringConstant;
     _attachmentRepository = attachmentRepository;
     _userManager          = userManager;
 }
Exemplo n.º 25
0
 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;
            }
        }
Exemplo n.º 27
0
 public ScrumSetUpRepository(
     ISlackChannelRepository slackChannelRepository,
     IOauthCallsRepository oauthCallsRepository,
     IStringConstantRepository stringConstant,
     IRepository <ApplicationUser> applicationUser,
     IAttachmentRepository attachmentRepository)
     : base(applicationUser, attachmentRepository)
 {
     _slackChannelRepository = slackChannelRepository;
     _oauthCallsRepository   = oauthCallsRepository;
     _stringConstant         = stringConstant;
     _applicationUser        = applicationUser;
     _logger = LogManager.GetLogger("ScrumBotModule");
 }
 public MailSettingDetailsByProjectAndModuleTest()
 {
     _componentContext                 = AutofacConfig.RegisterDependancies();
     _mailSettingDataRepository        = _componentContext.Resolve <IRepository <MailSetting> >();
     _mailSettingMappingDataRepository = _componentContext.Resolve <IRepository <MailSettingMapping> >();
     _groupDataRepository              = _componentContext.Resolve <IRepository <Group> >();
     _groupEmailMappingDataRepository  = _componentContext.Resolve <IRepository <GroupEmailMapping> >();
     _stringConstant = _componentContext.Resolve <IStringConstantRepository>();
     _mailSettingDetailsRepository = _componentContext.Resolve <IMailSettingDetailsByProjectAndModuleRepository>();
     _userManager           = _componentContext.Resolve <ApplicationUserManager>();
     _mockHttpContextBase   = _componentContext.Resolve <Mock <HttpContextBase> >();
     _mockServiceRepository = _componentContext.Resolve <Mock <IServiceRepository> >();
     Initialize();
 }
Exemplo n.º 29
0
 public ScrumReportRepositoryTest()
 {
     _componentContext          = AutofacConfig.RegisterDependancies();
     _scrumReportRepository     = _componentContext.Resolve <IScrumReportRepository>();
     _mockHttpClient            = _componentContext.Resolve <Mock <IHttpClientService> >();
     _scrumDataRepository       = _componentContext.Resolve <IRepository <Scrum> >();
     _scrumAnswerDataRepository = _componentContext.Resolve <IRepository <ScrumAnswer> >();
     _questionDataRepository    = _componentContext.Resolve <IRepository <Question> >();
     _stringConstant            = _componentContext.Resolve <IStringConstantRepository>();
     _mockHttpContextBase       = _componentContext.Resolve <Mock <HttpContextBase> >();
     _userManager           = _componentContext.Resolve <ApplicationUserManager>();
     _mockServiceRepository = _componentContext.Resolve <Mock <IServiceRepository> >();
     Initialize();
 }
Exemplo n.º 30
0
 public OAuthController(IHttpClientService httpClientService, IStringConstantRepository stringConstantRepository,
                        ISlackUserRepository slackUserRepository, ILogger logger,
                        IRepository <SlackChannelDetails> slackChannelDetails, IOAuthLoginRepository oAuthLoginRepository,
                        ApplicationUserManager userManager, ISlackChannelRepository slackChannelRepository,
                        IOauthCallHttpContextRespository oauthCallRepository) : base(stringConstantRepository)
 {
     _httpClientService      = httpClientService;
     _logger                 = logger;
     _slackChannelDetails    = slackChannelDetails;
     _oAuthLoginRepository   = oAuthLoginRepository;
     _userManager            = userManager;
     _slackUserRepository    = slackUserRepository;
     _slackChannelRepository = slackChannelRepository;
     _oauthCallRepository    = oauthCallRepository;
 }