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; } }
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; }
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(); } }