public async Task <int> GetEnvironmentOwnerId(int environmentId) { BeepEnvironment environment = await _context.Environments .FirstOrDefaultAsync(e => e.Id == environmentId); return(environment.UserId); }
public async Task <IEnumerable <ArticleGroup> > GetArticleGroups(int environmentId) { BeepEnvironment environment = await _context.Environments.FirstOrDefaultAsync(e => e.Id == environmentId); return(await _context.ArticleGroups .Where(grp => grp.UserId == null || grp.UserId == environment.UserId) .ToListAsync()); }
public async Task <bool> DeleteEnvironment(int envId) { BeepEnvironment environment = await _context.Environments .Include(e => e.Permissions) .FirstOrDefaultAsync(e => e.Id == envId); foreach (Permission permission in environment.Permissions) { _context.Permissions.Remove(permission); } _context.Environments.Remove(environment); return(await _context.SaveChangesAsync() > 0); }
public async Task <IActionResult> AddEnvironment(int userId) { if (!this.VerifyUser(userId)) { return(Unauthorized()); } BeepEnvironment newEnv = await _repo.AddEnvironment(userId); if (newEnv == null) { return(BadRequest("Error creating environment")); } var newEnvDto = _mapper.Map <EnvironmentDto>(newEnv); return(Ok(newEnvDto)); }
public async Task <IActionResult> UpdateEnvironmentName(int envId, string newName) { if (!await _authService.IsPermitted(User, envId, PermissionFlags.IsOwner)) { return(Unauthorized()); } BeepEnvironment environment = await _repo.GetEnvironment(envId); environment.Name = newName; if (await _repo.SaveAll()) { return(Ok()); } throw new Exception("Error updating Environment name"); }
public async Task <User> CreateFirstEnvironment(User newUser) { var environment = new BeepEnvironment() { Name = $"Zu Hause von {newUser.DisplayName}", User = newUser, DefaultEnvironment = true }; var permissions = new Permission() { IsOwner = true, User = newUser, Environment = environment, Serial = SerialGenerator.Generate() }; await _context.AddAsync(environment); await _context.AddAsync(permissions); await _context.SaveChangesAsync(); return(newUser); }
public async Task <BeepEnvironment> AddEnvironment(int userId) { User owner = await _context.Users.FirstOrDefaultAsync(u => u.Id == userId); var newEnv = new BeepEnvironment() { Name = "Neue Umgebung", User = owner }; var permission = new Permission() { IsOwner = true, Environment = newEnv, User = owner, Serial = SerialGenerator.Generate() }; await _context.Permissions.AddAsync(permission); await _context.Environments.AddAsync(newEnv); return(await _context.SaveChangesAsync() > 0 ? newEnv : null); }
protected void JoinEnvironment(string userName, string environmentName, Permission withPermission) { withPermission ??= new Permission(); User user = DbContext.Users.FirstOrDefault(u => u.UserName == userName); BeepEnvironment env = DbContext.Environments.FirstOrDefault(e => e.Name == environmentName); if (user == null || env == null) { return; } withPermission.User = user; withPermission.Environment = env; withPermission.Serial = SerialGenerator.Generate(); DbContext.Permissions.Add(withPermission); DbContext.SaveChanges(); }
/// <summary> /// Erstellt einen User mit Member Rolle /// </summary> /// <param name="displayName"></param> protected void SeedUser(string displayName) { var newUser = new User() { UserName = displayName.ToLower().Replace(" ", ""), DisplayName = displayName, Email = $"{displayName.ToLower().Replace(" ", "")}@abc.ch" }; var newEnvironment = new BeepEnvironment() { Name = $"Zu Hause von {displayName}", DefaultEnvironment = true, User = newUser }; UsrManager.CreateAsync(newUser, "P@ssw0rd").Wait(); string confirmationToken = UsrManager.GenerateEmailConfirmationTokenAsync(newUser).Result; IdentityResult result = UsrManager.ConfirmEmailAsync(newUser, confirmationToken).Result; if (!result.Succeeded) { OutputWriter.WriteLine(string.Join("\n", result.Errors)); } UsrManager.AddToRoleAsync(newUser, RoleNames.Member).Wait(); DbContext.Environments.Add(newEnvironment); DbContext.Permissions.Add(new Permission() { IsOwner = true, User = newUser, Environment = newEnvironment, Serial = SerialGenerator.Generate() }); DbContext.SaveChanges(); }
/// <summary> /// Fügt einen neuen Lager eintrag hinzu /// </summary> /// <param name="artBarcode">Barcode des Artikels</param> /// <param name="environmentName">Name der Umgebung für die der Eintrag gelten soll</param> /// <param name="isOpened">true wenn geöffnet</param> /// <param name="amount">Anzahl an Lager</param> /// <param name="openedOn">Datum an dem der Artikel geöffnet wurde</param> /// <param name="expireDate">Ablaufdatum</param> /// <param name="amountRemaining">Restmenge wenn ein Artikel geöffnet wird</param> protected void SeedStockEntry(string artBarcode, string environmentName, bool isOpened, int amount, DateTime openedOn, DateTime expireDate, float amountRemaining) { Article article = DbContext.Articles.FirstOrDefault(a => a.Barcode == artBarcode); BeepEnvironment environment = DbContext.Environments.FirstOrDefault(en => en.Name == environmentName); if (article == null || environment == null) { throw new Exception("Environment oder Artikel nicht gefunden"); } var stockEntry = DbContext.StockEntries .FirstOrDefault(se => se.EnvironmentId == environment.Id && se.ArticleId == article.Id) ?? new StockEntry() { Article = article, Environment = environment }; var values = new StockEntryValue() { StockEntry = stockEntry, AmountOnStock = amount, AmountRemaining = amountRemaining, ExpireDate = expireDate, IsOpened = isOpened, OpenedOn = openedOn }; if (stockEntry.EnvironmentId == 0) { DbContext.StockEntries.Add(stockEntry); } DbContext.StockEntryValues.Add(values); DbContext.SaveChanges(); }
public async Task <BeepEnvironment> GetEnvironment(int envId) { BeepEnvironment environment = await _context.Environments.FirstOrDefaultAsync(e => e.Id == envId); return(environment); }