Exemple #1
0
 public void AddUserToRole(HsrOrderApp.BL.DomainModel.User user, HsrOrderApp.BL.DomainModel.Role role)
 {
     try
     {
         User dbUser = db.UserSet.First(u => u.UserId == user.UserId);
         Role dbRole = db.RoleSet.First(r => r.RoleId == role.RoleId);
         dbUser.Roles.Add(dbRole);
         db.SaveChanges();
     }
     catch (OptimisticConcurrencyException ex)
     {
         if (ExceptionPolicy.HandleException(ex, "DA Policy"))
         {
             throw;
         }
     }
 }
        public int SaveUser(HsrOrderApp.BL.DomainModel.User user)
        {
            try
            {
                User dbUser = new User();
                bool isNew  = false;
                if (user.UserId == default(int) || user.UserId <= 0)
                {
                    isNew = true;
                }

                dbUser.UserId   = user.UserId;
                dbUser.Version  = user.Version.ToTimestamp();
                dbUser.Password = user.Password;
                dbUser.Username = user.UserName;
                if (user.Customer != null)
                {
                    dbUser.CustomerId = user.Customer.CustomerId;
                }
                else
                {
                    dbUser.Customer = null;
                }

                if (isNew)
                {
                    db.Users.InsertOnSubmit(dbUser);
                }
                else
                {
                    db.Users.Attach(dbUser, true);
                }
                db.SubmitChanges();
                user.UserId = dbUser.UserId;
                return(dbUser.UserId);
            }
            catch (ChangeConflictException ex)
            {
                if (ExceptionPolicy.HandleException(ex, "DA Policy"))
                {
                    throw;
                }
                return(default(int));
            }
        }
 public void RemoveUserFromRole(HsrOrderApp.BL.DomainModel.User user, HsrOrderApp.BL.DomainModel.Role role)
 {
     try
     {
         User       dbUser       = db.Users.FirstOrDefault(u => u.UserId == user.UserId);
         UserInRole dbUserInRole = dbUser.UserInRoles.FirstOrDefault(u => u.RoleId == role.RoleId);
         if (dbUserInRole == null)
         {
             // user not in role anyway
             return;
         }
         db.UserInRoles.DeleteOnSubmit(dbUserInRole);
         db.SubmitChanges();
     }
     catch (ChangeConflictException ex)
     {
         if (ExceptionPolicy.HandleException(ex, "DA Policy"))
         {
             throw;
         }
     }
 }
 public void AddUserToRole(HsrOrderApp.BL.DomainModel.User user, HsrOrderApp.BL.DomainModel.Role role)
 {
     try
     {
         UserInRole dbUserInRole = db.UserInRoles.FirstOrDefault(ur => ur.RoleId == role.RoleId && ur.UserId == user.UserId);
         if (dbUserInRole != null)
         {
             // user already in role
             return;
         }
         dbUserInRole      = new UserInRole();
         dbUserInRole.Role = db.Roles.FirstOrDefault(r => r.RoleId == role.RoleId);
         dbUserInRole.User = db.Users.FirstOrDefault(u => u.UserId == user.UserId);
         db.UserInRoles.InsertOnSubmit(dbUserInRole);
         db.SubmitChanges();
     }
     catch (ChangeConflictException ex)
     {
         if (ExceptionPolicy.HandleException(ex, "DA Policy"))
         {
             throw;
         }
     }
 }
Exemple #5
0
        public int SaveUser(HsrOrderApp.BL.DomainModel.User user)
        {
            try
            {
                string setname = "UserSet";
                User   dbUser;

                bool isNew = false;
                if (user.UserId == default(int) || user.UserId <= 0)
                {
                    isNew  = true;
                    dbUser = new User();
                }
                else
                {
                    dbUser = new User()
                    {
                        UserId = user.UserId, Version = user.Version.ToTimestamp()
                    };
                    dbUser.EntityKey = db.CreateEntityKey(setname, dbUser);
                    db.AttachTo(setname, dbUser);
                }
                dbUser.Version  = user.Version.ToTimestamp();
                dbUser.Password = user.Password;
                dbUser.Username = user.UserName;

                if (isNew)
                {
                    if (dbUser.Customer != null)
                    {
                        dbUser.CustomerReference.EntityKey = new EntityKey("HsrOrderAppEntities.CustomerSet", "CustomerId", user.Customer.CustomerId);
                    }
                    db.AddToUserSet(dbUser);
                }
                else if (user.Customer == null)
                {
                    if (dbUser.Customer != null)
                    {
                        dbUser.Customer.UserReference.Value = null;
                    }
                    dbUser.CustomerReference.Value = null;
                }
                else
                {
                    if (dbUser.CustomerReference.GetEnsureLoadedReference().Value.CustomerId != user.Customer.CustomerId)
                    {
                        Customer newCustomer = new Customer {
                            CustomerId = user.Customer.CustomerId
                        };
                        db.AttachTo("CustomerSet", newCustomer);
                        dbUser.Customer = newCustomer;
                    }
                }
                db.SaveChanges();
                user.UserId = dbUser.UserId;
                return(dbUser.UserId);
            }
            catch (OptimisticConcurrencyException ex)
            {
                if (ExceptionPolicy.HandleException(ex, "DA Policy"))
                {
                    throw;
                }
                return(default(int));
            }
        }