Beispiel #1
0
 public RegisterProgramUnitOfWork(TelimenaTelemetryContext telemetryContext, TelimenaPortalContext portalContext)
 {
     this.telemetryContext = telemetryContext;
     this.portalContext    = portalContext;
     this.Users            = new UserRepository(portalContext);
     this.Programs         = new ProgramRepository(portalContext, telemetryContext);
 }
 public ToolkitDataUnitOfWork(TelimenaPortalContext context, IAssemblyStreamVersionReader versionReader)
 {
     this.context               = context;
     this.UpdaterRepository     = new UpdaterRepository(context, versionReader);
     this.Programs              = new ProgramRepository(context);
     this.Users                 = new UserRepository(context);
     this.ToolkitDataRepository = new ToolkitDataRepository(context, versionReader);
 }
Beispiel #3
0
 public ToolkitDataUnitOfWork(TelimenaPortalContext portalContext, TelimenaTelemetryContext telemetryContext, IAssemblyStreamVersionReader versionReader)
 {
     this.portalContext         = portalContext;
     this.telemetryContext      = telemetryContext;
     this.UpdaterRepository     = new UpdaterRepository(portalContext, versionReader);
     this.Programs              = new ProgramRepository(portalContext, telemetryContext);
     this.Users                 = new UserRepository(portalContext);
     this.ToolkitDataRepository = new ToolkitDataRepository(portalContext, versionReader);
 }
Beispiel #4
0
 public ProgramsDashboardUnitOfWork(TelimenaPortalContext portalContext, TelimenaTelemetryContext telemetryContext)
 {
     this.portalContext    = portalContext;
     this.telemetryContext = telemetryContext;
     this.Programs         = new ProgramRepository(this.portalContext);
     this.Views            = new ViewRepository(this.telemetryContext);
     this.Events           = new Repository <Event>(this.telemetryContext);
     this.UpdatePackages   = new UpdatePackageRepository(this.portalContext, null);
     this.Users            = new Repository <TelimenaUser>(this.portalContext);
 }
Beispiel #5
0
 public ProgramsUnitOfWork(TelimenaPortalContext context, IAssemblyStreamVersionReader versionReader)
 {
     this.context           = context;
     this.Versions          = new Repository <AssemblyVersionInfo>(context);
     this.Users             = new UserRepository(context);
     this.Programs          = new ProgramRepository(context);
     this.ToolkitData       = new ToolkitDataRepository(context, versionReader);
     this.UpdatePackages    = new UpdatePackageRepository(context, versionReader);
     this.ProgramPackages   = new ProgramPackageRepository(context, versionReader);
     this.UpdaterRepository = new UpdaterRepository(context, versionReader);
 }
Beispiel #6
0
        public static async Task <TelimenaUser> CreateTelimenaUser(TelimenaPortalContext context, string email, string displayName = null, [CallerMemberName] string caller = "")
        {
            TelimenaUserManager manager = new TelimenaUserManager(new UserStore <TelimenaUser>(context));

            AccountUnitOfWork unit = new AccountUnitOfWork(null, manager, context);


            TelimenaUser user = new TelimenaUser(caller + "_" + email, caller + "_" + (displayName ?? email.ToUpper()));
            await unit.RegisterUserAsync(user, "P@ssword", TelimenaRoles.Developer).ConfigureAwait(false);

            unit.Complete();
            return(user);
        }
Beispiel #7
0
 public TelemetryUnitOfWork(TelimenaTelemetryContext telemetryContext, TelimenaPortalContext portalContext, IAssemblyStreamVersionReader versionReader)
 {
     this.telemetryContext     = telemetryContext;
     this.portalContext        = portalContext;
     this.ClientAppUsers       = new Repository <ClientAppUser>(telemetryContext);
     this.Exceptions           = new Repository <ExceptionInfo>(telemetryContext);
     this.Versions             = new Repository <AssemblyVersionInfo>(telemetryContext);
     this.Views                = new ViewRepository(telemetryContext);
     this.Events               = new Repository <Event>(telemetryContext);
     this.LogMessages          = new Repository <LogMessage>(telemetryContext);
     this.TelemetryRootObjects = new Repository <TelemetryRootObject>(telemetryContext);
     this.Programs             = new ProgramRepository(portalContext);
     this.ToolkitData          = new ToolkitDataRepository(telemetryContext, versionReader);
 }
Beispiel #8
0
        public static async Task <TelimenaUser> CreateTelimenaUser(TelimenaPortalContext context, string email, string displayName = null, [CallerMemberName] string caller = "")
        {
            TelimenaUserManager manager = new TelimenaUserManager(new UserStore <TelimenaUser>(context));

            AccountUnitOfWork unit = new AccountUnitOfWork(null, manager, context);


            TelimenaUser user   = new TelimenaUser(caller + "" + email, caller + "" + (displayName ?? email.ToUpper()));
            var          result = await unit.RegisterUserAsync(user, "P@ssword", TelimenaRoles.Developer).ConfigureAwait(false);

            if (!result.Item1.Succeeded)
            {
                var msg = result.Item1.Errors?.FirstOrDefault();
                if (msg != null && !msg.Contains("is already taken."))
                {
                    Assert.Fail($"Failed to register user {user.UserName}. Error: {result.Item1.Errors?.FirstOrDefault()}");
                }
            }
            unit.Complete();
            return(user);
        }
Beispiel #9
0
 public ProgramRepository(TelimenaPortalContext portalContext, TelimenaTelemetryContext telemetryContext)
 {
     this.portalContext    = portalContext;
     this.telemetryContext = telemetryContext;
 }
Beispiel #10
0
        public static async Task <Mock <HttpRequestContext> > SetupUserIntoRequestContext(TelimenaPortalContext context, string devName, string devEmail,
                                                                                          [CallerMemberName] string caller = "")
        {
            TelimenaUser teliUsr = context.Users.FirstOrDefault(x => x.Email == devEmail);

            if (teliUsr == null)
            {
                teliUsr = await CreateTelimenaUser(context, devEmail, devName, caller).ConfigureAwait(false);
            }

            GenericIdentity  identity  = new GenericIdentity(teliUsr.UserName);
            GenericPrincipal principal = new GenericPrincipal(identity, new[] { TelimenaRoles.Developer });
            ClaimsPrincipal  usr       = new ClaimsPrincipal(principal);

            Mock <HttpRequestContext> requestContext = new Mock <HttpRequestContext>();

            requestContext.Setup(x => x.Principal).Returns(usr);
            return(requestContext);
        }
Beispiel #11
0
        public static async Task <List <KeyValuePair <string, Guid> > > SeedInitialPrograms(TelimenaPortalContext portalContext, TelimenaTelemetryContext telemetryContext,
                                                                                            int prgCount, string getName, string[] userNames, string devName = "SomeDeveloper", string devEmail = "*****@*****.**", [CallerMemberName] string caller = "")
        {
            Mock <HttpRequestContext> requestContext =
                await SetupUserIntoRequestContext(portalContext, devName, devEmail).ConfigureAwait(false);

            RegisterProgramUnitOfWork unit = new RegisterProgramUnitOfWork(telemetryContext, portalContext);

            RegisterProgramController programsController =
                new RegisterProgramController(unit)
            {
                RequestContext = requestContext.Object
            };


            List <KeyValuePair <string, Guid> > list = await SeedInitialPrograms(programsController, prgCount
                                                                                 , GetName(getName, caller), userNames.Select(x => GetName(x, caller)).ToList()).ConfigureAwait(false);

            foreach (string userName in userNames)
            {
                telemetryContext.AppUsers.Add(new ClientAppUser()
                {
                    UserIdentifier = GetName(userName, caller)
                });
            }

            telemetryContext.SaveChanges();
            return(list);
        }
Beispiel #12
0
 public TeamUnitOfWork(TelimenaPortalContext context)
 {
     this.context    = context;
     this.Developers = new Repository <DeveloperTeam>(context);
     this.Users      = new Repository <TelimenaUser>(this.context);
 }
Beispiel #13
0
 public ProgramRepository(TelimenaPortalContext portalContext)
 {
     this.portalContext = portalContext;
 }
Beispiel #14
0
 public AccountUnitOfWork(IAuthenticationManager authManager, ITelimenaUserManager userManager, TelimenaPortalContext context)
 {
     this.AuthManager         = authManager;
     this.UserManager         = userManager;
     this._context            = context;
     this.DeveloperRepository = new Repository <DeveloperTeam>(context);
 }
Beispiel #15
0
        public static async Task <TelemetryRootObject> GetRootObjectOrAddIfNotExists(TelimenaTelemetryContext telemetryContext, TelimenaPortalContext portalContext, Guid telemetryKey)
        {
            var prg = await portalContext.Programs.FirstOrDefaultAsync(x => x.TelemetryKey == telemetryKey).ConfigureAwait(false);

            if (prg == null)
            {
                return(null);
            }

            var rootObject = await telemetryContext.TelemetryRootObjects.FirstOrDefaultAsync(x => x.ProgramId == prg.Id).ConfigureAwait(false);

            if (rootObject == null)
            {
                rootObject = new TelemetryRootObject
                {
                    ProgramId    = prg.Id,
                    TelemetryKey = prg.TelemetryKey,
                };
                telemetryContext.TelemetryRootObjects.Add(rootObject);
                return(rootObject);
            }

            return(rootObject);
        }