public void CreaAccount(string account, bool copia, string daCopiare) { SecurityDS ds = new SecurityDS(); using (SecurityBusiness bSecurity = new SecurityBusiness()) { if (copia) { bSecurity.FillAccountMenu(daCopiare, ds); List <decimal> menu = ds.ABILITAZIONI.Where(x => x.UTENTE == daCopiare).Select(x => x.IDMENU).Distinct().ToList(); foreach (decimal idm in menu) { SecurityDS.ABILITAZIONIRow newrow = ds.ABILITAZIONI.NewABILITAZIONIRow(); newrow.IDMENU = idm; newrow.UTENTE = account; ds.ABILITAZIONI.AddABILITAZIONIRow(newrow); } } else { bSecurity.FillMenu(ds); foreach (int idm in ds.MENU.Where(x => x.IsAZIONENull()).Select(x => x.IDMENU)) { SecurityDS.ABILITAZIONIRow newrow = ds.ABILITAZIONI.NewABILITAZIONIRow(); newrow.IDMENU = idm; newrow.UTENTE = account; ds.ABILITAZIONI.AddABILITAZIONIRow(newrow); } } bSecurity.SalvaMenuUtente(ds); } }
public void SalvaMenuUtente(string account, int[] idMenu) { SecurityDS ds = new SecurityDS(); using (SecurityBusiness bSecurity = new SecurityBusiness()) { bSecurity.FillAccountMenu(account, ds); if (idMenu == null) { foreach (SecurityDS.ABILITAZIONIRow row in ds.ABILITAZIONI.ToList()) { row.Delete(); } bSecurity.SalvaMenuUtente(ds); return; } foreach (SecurityDS.ABILITAZIONIRow row in ds.ABILITAZIONI.Where(x => !idMenu.Contains((int)x.IDMENU)).ToList()) { row.Delete(); } foreach (int idm in idMenu) { SecurityDS.ABILITAZIONIRow row = ds.ABILITAZIONI.Where(x => x.RowState != System.Data.DataRowState.Deleted && x.IDMENU == idm).FirstOrDefault(); if (row == null) { SecurityDS.ABILITAZIONIRow newrow = ds.ABILITAZIONI.NewABILITAZIONIRow(); newrow.IDMENU = idm; newrow.UTENTE = account; ds.ABILITAZIONI.AddABILITAZIONIRow(newrow); } } bSecurity.SalvaMenuUtente(ds); } }