public async Task <IActionResult> MenuFuntionAccountObject(MenuAccountOuput menuOuput) { var ts008_MenuInput = new MenuAccountInput(); ts008_MenuInput.IdAccount = menuOuput.IdAccount; ts008_MenuInput.ListMenuChucNang = new List <GroupMenuChucNang>(menuOuput.ListMenuChucNang); var client = new RestClient(_config["UrlApi"]); var requestApi = new RestRequest("/api/MenuFunctions/save-menu-account", Method.POST); requestApi.AddHeader("Authorization", "Bearer " + AtUserToken); requestApi.AddJsonBody(ts008_MenuInput); // or automatically deserialize result var response = await client.ExecuteTaskAsync <AtResult <string> >(requestApi); var idAccountFuntion = response.Data.PayLoad; if (response.Data.PayLoad == null) { return(RedirectToAction("PageErros", "Home", new { statusCode = (int)AtNotify.KhongCoQuyenTruyCap })); } return(RedirectToAction("Index", "AccountObject")); }
public async Task <ActionResult <AtResult <string> > > SaveMenuAccount([FromBody] MenuAccountInput input) { if (await CheckPermission(_context)) { try { var output = await _logicMenu.SaveMenuAccountAsync(input, UserId); return(new AtResult <string>(output)); } catch (Exception ex) { throw ex; } } else { return(new AtResult <string>(AtNotify.KhongCoQuyenTruyCap)); } }
public async Task <string> SaveMenuAccountAsync(MenuAccountInput input, string userId) { try { var now = GetDateTimeFromServer(); var list_MenuFuntionAccount = await _context.MenuFunction_Account .Where(c => c.FK_AccountObject == input.IdAccount) .AsNoTracking() .ToListAsync(); var listFuntion = new List <ListMenuFuntion>(); var newItem = new List <MenuFunction_Account>(); foreach (var item in input.ListMenuChucNang) { foreach (var itemSub in item.SubFunctions) { if (itemSub.MenuFunctions != null) { listFuntion.AddRange(itemSub.MenuFunctions.Where(c => c.IsCheck == true).ToList()); } } } foreach (var itemfunAccount in list_MenuFuntionAccount) { var check = listFuntion.FirstOrDefault(c => c.IdMenuFuntion == itemfunAccount.FK_MenuFunction); if (check == null) { _context.MenuFunction_Account.Remove(itemfunAccount); } } foreach (var itemFuntion in listFuntion) { var check = list_MenuFuntionAccount .FirstOrDefault(c => c.FK_AccountObject == input.IdAccount && c.FK_MenuFunction == itemFuntion.IdMenuFuntion); if (check == null) { newItem.Add(new MenuFunction_Account { FK_AccountObject = input.IdAccount, FK_MenuFunction = itemFuntion.IdMenuFuntion, CreateDate = now, }); } } await _context.MenuFunction_Account.AddRangeAsync(newItem); await _context.SaveChangesAsync(); await WrtiteAudittingLog(new MSC_AudittingLog { Description = "Phân quyền theo Account ID: " + input.IdAccount, UserID = userId }, AtSerialNoConts.CODE_LOGC_UPDATE); return(input.IdAccount); } catch (Exception ex) { throw ex; } }