public async Task <bool> Add(Level level) { List <KPILevel> kpiLevelList = new List <KPILevel>(); if (level.LevelNumber == 0) { return(false); } try { level.Code = await CheckLevelNumberAndGenarateCode(level.LevelNumber ?? 0); _dbContext.Levels.Add(level); await _dbContext.SaveChangesAsync(); var kpiVM = await _dbContext.KPIs.ToListAsync(); kpiVM.ForEach(x => { var kpilevel = new KPILevel(); kpilevel.LevelID = level.ID; kpilevel.KPIID = x.ID; kpiLevelList.Add(kpilevel); }); _dbContext.KPILevels.AddRange(kpiLevelList); await _dbContext.SaveChangesAsync(); return(true); } catch (Exception ex) { return(false); } }
public async Task <bool> AddAsync(KPIVM entity) { try { //string code = string.Empty; for (int i = 1; i < 10000; i++) { string code = i.ToString("D4"); if (!await _dbContext.KPIs.AnyAsync(x => x.Code == code)) { entity.Code = code; break; } } var kpi = new KPI { ID = entity.ID, LevelID = 1, CategoryCode = entity.Code, Unit = entity.Unit, Name = entity.NameEn, CreateTime = DateTime.Now, Code = entity.Code }; _dbContext.KPIs.Add(kpi); await _dbContext.SaveChangesAsync(); var listKPILangs = new List <KPILang> { new KPILang { Name = entity.NameVI, LanguageID = "vi", KPIID = kpi.ID }, new KPILang { Name = entity.NameTW, LanguageID = "zh-TW", KPIID = kpi.ID }, new KPILang { Name = entity.NameEn, LanguageID = "en", KPIID = kpi.ID }, }; _dbContext.KPILangs.AddRange(listKPILangs); List <KPILevel> kpiLevelList = new List <KPILevel>(); var levels = _dbContext.Levels.ToList(); foreach (var level in levels) { var kpilevel = new KPILevel(); kpilevel.LevelID = level.ID; kpilevel.KPIID = kpi.ID; kpiLevelList.Add(kpilevel); } _dbContext.KPILevels.AddRange(kpiLevelList); await _dbContext.SaveChangesAsync(); return(true); } catch (Exception) { return(false); } }
//end kpi_kind public async Task <bool> AddKPILevel(KPILevel entity) { _dbContext.KPILevels.Add(entity); try { await _dbContext.SaveChangesAsync(); return(true); } catch (Exception) { return(false); } }
public async Task <int> AddAsync(User user) { user.Code = user.Code.ToSafetyString().ToUpper(); List <KPILevel> kpiLevelList = new List <KPILevel>(); try { if ((await _dbContext.Users.FirstOrDefaultAsync(x => x.Email.ToLower().Contains(user.Email.ToLower())) != null)) { return(3); } byte[] passwordHash, passwordSalt; CreatePasswordHash(user.Password, out passwordHash, out passwordSalt); user.Password = user.Password.SHA256Hash(); user.PasswordHash = passwordHash; user.PasswordSalt = passwordSalt; user.State = true; user.IsActive = true; _dbContext.Users.Add(user); await _dbContext.SaveChangesAsync(); var kpiVM = await(from kpi in _dbContext.KPIs join cat in _dbContext.Categories on kpi.CategoryID equals cat.ID select new KPIViewModel { KPIID = kpi.ID, }).ToListAsync(); foreach (var kpi in kpiVM) { var kpilevel = new KPILevel(); kpilevel.LevelID = user.ID; kpilevel.KPIID = kpi.KPIID; kpiLevelList.Add(kpilevel); } _dbContext.KPILevels.AddRange(kpiLevelList); await _dbContext.SaveChangesAsync(); return(1); } catch { return(0); } }
public async Task <bool> AddOrUpdate(Level entity) { entity.Code = entity.Code.ToUpper(); List <KPILevel> kpiLevelList = new List <KPILevel>(); if (entity.ID == 0) { if (await _dbContext.Levels.FirstOrDefaultAsync(x => x.Code == entity.Code) != null) { return(false); } try { var level = new Level() { Name = entity.Name, Code = entity.Code, LevelNumber = entity.LevelNumber, ParentCode = entity.ParentCode, ParentID = entity.ParentID }; _dbContext.Levels.Add(level); await _dbContext.SaveChangesAsync(); var kpiVM = await _dbContext.KPIs.ToListAsync(); kpiVM.ForEach(x => { var kpilevel = new KPILevel(); kpilevel.LevelID = level.ID; kpilevel.KPIID = x.ID; kpiLevelList.Add(kpilevel); }); _dbContext.KPILevels.AddRange(kpiLevelList); await _dbContext.SaveChangesAsync(); return(true); } catch (Exception ex) { var message = ex.Message; return(false); } } else { try { var item = await _dbContext.Levels.FirstOrDefaultAsync(x => x.ID == entity.ID); item.Code = entity.Code; item.Name = entity.Name; item.LevelNumber = entity.LevelNumber; item.ParentID = entity.ParentID; await _dbContext.SaveChangesAsync(); return(true); } catch (Exception ex) { var message = ex.Message; return(false); } } }
public async Task <IActionResult> AddKPILevel([FromBody] KPILevel entity) { return(Ok(await _KPIService.AddKPILevel(entity))); }