예제 #1
0
        /// <summary>
        /// Metoda care modifica rolul unui utilizator.
        /// </summary>
        /// <param name="idUtilizator">id-ul utilizatorului</param>
        /// <param name="newRoleIds">noua lista de roluri a utilizatorului</param>
        /// <returns>true daca s-a putut face modificare</returns>
        public static bool EditRolforUser(int idUtilizator, List<int> newRoleIds)
        {
            try
            {
                using (MasterEntities context = new MasterEntities())
                {
                    var user = context.Utilizatori.Include("Roluris").Single(u => u.idUtilizator == idUtilizator);

                    foreach (var role in user.Roluris.ToList())
                    {
                        // sterge rolurile care nu sunt in noua lista
                        if (!newRoleIds.Contains(role.idRol))
                            user.Roluris.Remove(role);
                    }

                    foreach (var newRoleId in newRoleIds)
                    {
                        // adauga rolurile care nu sunt in lista de roluri a userului
                        if (!user.Roluris.Any(r => r.idRol == newRoleId))
                        {
                            var newRole = new Roluri { idRol = newRoleId };
                            context.Roluri.Attach(newRole);
                            user.Roluris.Add(newRole);
                        }
                    }
                    // Rolurile pe care utilizatorul le avea
                    // nu au fost sterse si nici

                    context.SaveChanges();
                }
                return true;
            }
            catch (Exception ex) { return false; }
        }
 /// <summary>
 /// Deprecated Method for adding a new object to the Roluri EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
 /// </summary>
 public void AddToRoluri(Roluri roluri)
 {
     base.AddObject("Roluri", roluri);
 }
 /// <summary>
 /// Create a new Roluri object.
 /// </summary>
 /// <param name="idRol">Initial value of the idRol property.</param>
 /// <param name="numeRol">Initial value of the numeRol property.</param>
 public static Roluri CreateRoluri(global::System.Int32 idRol, global::System.String numeRol)
 {
     Roluri roluri = new Roluri();
     roluri.idRol = idRol;
     roluri.numeRol = numeRol;
     return roluri;
 }