public HubEnvironment(ApplicationDbContext context) { IValidationRuleFactory validationRuleFactory = new ValidationRuleFactory(); IRepositoryFactory repositoryFactory = new RepositoryFactory(context); IActivitiesFactory activitiesFactory = new ActivitiesFactory(repositoryFactory, validationRuleFactory); UseCaseFactory = new UseCaseFactory(activitiesFactory); }
public async Task EditAsync(ActivityCallModel model) { var call = await _repository.GetAsyncCall(model.Id); ActivitiesFactory.CreateCall(model, call, _userId); _repository.EditCall(call); await _unitOfWork.SaveChangesAsync(); }
public async Task EditAsyncNotes(ActivityNoteModel model) { var notes = await _repository.GetAsyncNotes(model.Id); ActivitiesFactory.CreateNotes(model, notes, _userId); _repository.EditNotes(notes); await _unitOfWork.SaveChangesAsync(); }
public async Task EditAsyncMeeting(ActivityMeetingModel model) { var meet = await _repository.GetAsyncMeeting(model.Id); ActivitiesFactory.CreateMeeting(model, meet, _userId); _repository.EditMeeting(meet); await _unitOfWork.SaveChangesAsync(); }
public async Task EditAsyncTask(ActivityTaskModel model) { var task = await _repository.GetAsyncTask(model.Id); ActivitiesFactory.CreateTask(model, task, _userId); _repository.EditAsyncTask(task); await _unitOfWork.SaveChangesAsync(); }
/// <summary> /// ConfigureServices Services /// </summary> /// <param name="services"></param> /// <param name="configuration"></param> public static void ConfigureServices(IServiceCollection services, IConfiguration configuration) { var logger = new LoggerConfiguration() .MinimumLevel.Debug() .WriteTo.Console(theme: AnsiConsoleTheme.Code) .WriteTo.Seq("http://seq:5341") .CreateLogger(); services.AddTransient(x => logger); var provider = new PostgreSqlProvider(configuration["PostgreSQL:DefaultConnection"]); services.AddTransient <IDbProvider <NpgsqlConnection> >(x => provider); var authServiceRepository = new AuthServiceRepository(provider, logger); services.AddTransient <IAuthServiceRepository>(x => authServiceRepository); var authService = new AuthService(authServiceRepository, logger); services.AddTransient(x => authService); var confidentialClientApplication = ConfidentialClientApplicationBuilder .Create(configuration["MicrosoftAPI:ApiID"]) .WithTenantId(configuration["MicrosoftAPI:TenantId"]) .WithClientSecret(configuration["MicrosoftAPI:ClientSecret"]) .Build(); var authenticationProvider = new ClientCredentialProvider(confidentialClientApplication); var graphServiceClient = new GraphServiceClient(authenticationProvider); services.AddTransient(x => graphServiceClient); var activityFactory = new ActivitiesFactory(graphServiceClient, logger); services.AddTransient(x => activityFactory); var useCaseFactory = new UseCaseFactory(activityFactory, logger); services.AddTransient(x => useCaseFactory); var userService = new UserService(useCaseFactory, logger); services.AddTransient(x => userService); var groupService = new GroupService(useCaseFactory, logger); services.AddTransient(x => groupService); var teamService = new TeamService(useCaseFactory, logger); services.AddTransient(x => teamService); }
//For Notes public async Task AddAsyncNotes(ActivityNoteModel model) { await _repository.AddNoteAsync(ActivitiesFactory.CreateNotes(model, _userId)); await _unitOfWork.SaveChangesAsync(); }
//For Meeting public async Task AddAsyncMeeting(ActivityMeetingModel model) { await _repository.AddMeetingAsync(ActivitiesFactory.CreateMeeting(model, _userId)); await _unitOfWork.SaveChangesAsync(); }
//For Call public async Task AddAsyncCall(ActivityCallModel model) { await _repository.AddCallAsync(ActivitiesFactory.CreateCall(model, _userId)); await _unitOfWork.SaveChangesAsync(); }
public async Task AddAsyncTask(ActivityTaskModel model) { await _repository.AddTaskAsync(ActivitiesFactory.CreateTask(model, _userId)); await _unitOfWork.SaveChangesAsync(); }