Esempio n. 1
0
        public DispatchUser SaveWorldwideUser(DispatchUser user, byte[] imageBytes, bool deleteImage)
        {
            int managerId = int.Parse(((FormsIdentity)(HttpContext.Current.User.Identity)).Ticket.UserData);

            using (var scope = new TransactionScope())
            using (var db = new LomsContext())
            {
                if (user.Id == 0)
                {
                    user.Login = user.FirstName[0] + user.LastName;

                    var staffManager = (from m in db.DispatchUsers
                                        where m.Id == managerId
                                        select m).Single();

                    user.CreatedBy = staffManager.FirstName + " " + staffManager.LastName;
                    user.CreatedDate = DateTime.UtcNow;
                }

                if (user.Id == 0)
                {
                    if (user.Id == 0 && string.IsNullOrEmpty(user.Pwd))
                        user.Pwd = "123456!";

                    MembershipCreateStatus ret;
                    MembershipUser membershipUser = Membership.CreateUser(user.Login, user.Pwd, user.Email, "Who am I?", "I", true, null, out ret);
                    if (ret != MembershipCreateStatus.Success)
                        throw new ApplicationException(ret.ToString());


                    user.AspNetUserId = (Guid)membershipUser.ProviderUserKey;
                }
                else if (!string.IsNullOrEmpty(user.Pwd))
                {
                    MembershipUser membershipUser = Membership.GetUser(user.Login);
                    string tempPwd = membershipUser.ResetPassword();
                    membershipUser.ChangePassword(tempPwd, user.Pwd);
                }

                if (!Roles.IsUserInRole(user.Login, RoleName.DispatchUser))
                    Roles.AddUserToRole(user.Login, RoleName.DispatchUser);

                if (user.Role == DispatchUserRole.Manager && !Roles.IsUserInRole(user.Login, RoleName.DispatchManager))
                    Roles.AddUserToRole(user.Login, RoleName.DispatchManager);
                else if (user.Role != DispatchUserRole.Manager && Roles.IsUserInRole(user.Login, RoleName.DispatchManager))
                    Roles.RemoveUserFromRole(user.Login, RoleName.DispatchManager);

                db.DispatchUsers.ApplyChanges(user);
                db.SaveChanges();

                user = db.DispatchUsers.IncludeAll("Suburb", "Suburb.Country", "Suburb.State", "Suburb.State.Country")
                    .FirstOrDefault(a => a.Id == user.Id);

                scope.Complete();

                return user;
            }
        }
Esempio n. 2
0
     public bool Equals(DispatchUser other)
     {
         if (ReferenceEquals(null, other)) return false;
         if (ReferenceEquals(this, other)) return true;
 		if (other.Id == 0 && Id == 0)
 			return false;
 		else
 			return other.Id == Id;
     }
Esempio n. 3
0
 public void DeleteWorldwideUser(int userId)
 {
     using (var db = new LomsContext())
     {
         var user = new DispatchUser() { Id = userId };
         db.DispatchUsers.Attach(user);
         db.DispatchUsers.DeleteObject(user);
         db.SaveChanges();
     }
 }