public async Task <ArticleUserSetting> CreateArticleUserSetting(ArticleUserSetting articleUserSetting) { await _context.ArticleUserSettings.AddAsync(articleUserSetting); await _context.SaveChangesAsync(); return(articleUserSetting); }
public async Task <ArticleUserSetting> GetArticleUserSettings(int articleId, int environmentId) { ArticleUserSetting articleUserSettings = await _context.ArticleUserSettings .FirstOrDefaultAsync(aus => aus.ArticleId == articleId && aus.EnvironmentId == environmentId); return(articleUserSettings); }
public async Task <long> GetArticleLifetime(string barcode, int environmentId) { ArticleUserSetting userSettings = await _context.ArticleUserSettings .Include(aus => aus.Article) .FirstOrDefaultAsync(aus => aus.Article.Barcode == barcode && aus.EnvironmentId == environmentId); return(userSettings?.UsualLifetime ?? 0); }
public async Task <IActionResult> GetArticleUserSettings(int articleId, int environmentId) { if (!await _authService.IsPermitted(User, environmentId)) { return(Unauthorized()); } ArticleUserSetting aus = await _repo.GetArticleUserSettings(articleId, environmentId); return(aus == null?Ok(new ArticleUserSettingDto()) : Ok(aus)); }
public async Task <StockEntryValue> AddStockEntry(StockEntryValue entryValues, long usualLifetime) { StockEntry stockEntry = await _context.StockEntries .Include(se => se.Article).ThenInclude(a => a.ArticleUserSettings) .FirstOrDefaultAsync(se => se.EnvironmentId == entryValues.EnvironmentId && se.ArticleId == entryValues.ArticleId); if (stockEntry == null) { stockEntry = new StockEntry() { EnvironmentId = entryValues.EnvironmentId, ArticleId = entryValues.ArticleId }; await _context.StockEntries.AddAsync(stockEntry); await _context.StockEntryValues.AddAsync(entryValues); entryValues.StockEntry = stockEntry; } else { StockEntryValue existingEntryValues = await _context.StockEntryValues .FirstOrDefaultAsync(sev => sev.ArticleId == entryValues.ArticleId && sev.ExpireDate == entryValues.ExpireDate && sev.EnvironmentId == entryValues.EnvironmentId && sev.IsOpened == false); if (existingEntryValues == null) { await _context.StockEntryValues.AddAsync(entryValues); entryValues.StockEntry = stockEntry; } else { existingEntryValues.AmountOnStock += entryValues.AmountOnStock; } } ArticleUserSetting articleUserSetting = await _context.ArticleUserSettings .Include(aus => aus.Article) .FirstOrDefaultAsync(aus => aus.Article.Id == entryValues.ArticleId); articleUserSetting.UsualLifetime = usualLifetime; await _context.SaveChangesAsync(); return(entryValues); }
public async Task <IActionResult> CreateArticleUserSettings(ArticleUserSettingDto articleUserSettingDto) { if (!await _authService.IsPermitted(User, articleUserSettingDto.EnvironmentId, PermissionFlags.IsOwner | PermissionFlags.CanScan)) { return(Unauthorized()); } var articleUserSetting = _mapper.Map <ArticleUserSetting>(articleUserSettingDto); ArticleUserSetting articleUserSettingCreated = await _repo.CreateArticleUserSetting(articleUserSetting); var dto = _mapper.Map <ArticleUserSettingDto>(articleUserSettingCreated); return(CreatedAtRoute(nameof(GetArticleUserSettings), new { controller = "Articles", articleId = articleUserSettingCreated.ArticleId, environmentId = articleUserSettingCreated.EnvironmentId }, dto)); }
public async Task <IActionResult> UpdateArticle(UpdateArticleDto update) { if (!await _authService.IsPermitted(User, update.ArticleUserSettings.EnvironmentId)) { return(Unauthorized()); } Article article = await _repo.GetArticle(update.Article.Id); ArticleUserSetting articleUserSettings = await _repo.GetArticleUserSettings(update.Article.Id, update.ArticleUserSettings.EnvironmentId); _mapper.Map(update.Article, article); _mapper.Map(update.ArticleUserSettings, articleUserSettings); if (await _repo.SaveAll()) { return(NoContent()); } throw new Exception("Failed to update article"); }