public static ServiceResponseResult CreateTenantAccount(AddTenantToPropertyModel model, Login creartor, string temPass) { using (var db = new KeysEntities()) { var salt = UtilService.GeneratePassword(10, 5); //var temPass = UtilService.GeneraterRandomKey(8); var passwordHash = AccountService.CreatePasswordHash(temPass, salt); var login = new Login { UserName = model.TenantEmail, Email = model.TenantEmail, PasswordHash = passwordHash, SecurityStamp = salt, EmailConfirmed = true, CreatedBy = creartor.Email, CreatedOn = DateTime.Now, IsActive = true }; var person = new Person { FirstName = model.FirstName, LastName = model.LastName, Login = login, Address = new Address { CountryId = 1, IsActive = true, }, Address1 = new Address { CountryId = 1, IsActive = true }, UID = Guid.NewGuid(), IsActive = true }; var loginRole = new LoginRole { RoleId = 5, IsActive = true, PendingApproval = false }; db.Login.Add(login); person.Login = login; db.Person.Add(person); loginRole.Person = person; db.LoginRole.Add(loginRole); var tenant = new Tenant { Person = person, IsCompletedPersonalProfile = false, HasProofOfIdentity = false, CreatedOn = DateTime.UtcNow, CreatedBy = creartor.Id, UpdatedOn = DateTime.UtcNow, IsActive = true, Address = new Address { CountryId = 1, IsActive = true, } }; db.Tenant.Add(tenant); try { db.SaveChanges(); return(new ServiceResponseResult { IsSuccess = true, NewObject = login }); } catch (Exception e) { return(new ServiceResponseResult { IsSuccess = false }); } } }
//****mchanged the viewmodel from PropertyOnboardModel to PropertyMyOnboardModel public static Property AddOnboardProperty(Login user, PropertyMyOnboardModel model) { using (var db = new KeysEntities()) { var adModel = model.Address; var address = new Address { Number = adModel.Number, Street = adModel.Street, City = adModel.City, Suburb = adModel.Suburb ?? adModel.City, PostCode = adModel.PostCode, CountryId = 1, CreatedOn = DateTime.UtcNow, IsActive = true, CreatedBy = user.Email, UpdatedBy = user.Email, UpdatedOn = DateTime.UtcNow, Lat = adModel.Latitude, Lng = adModel.Longitude, Region = adModel.Region }; db.Address.Add(address); db.SaveChanges(); var newProperty = new Property { AddressId = address.AddressId, Name = model.PropertyName, IsActive = true, Bathroom = model.Bathroom, Bedroom = model.Bedroom, CreatedBy = user.Email, CreatedOn = DateTime.UtcNow, UpdatedBy = user.Email, UpdatedOn = DateTime.UtcNow, Description = model.Description, FloorArea = model.FloorArea, LandSqm = model.LandArea, ParkingSpace = model.ParkingSpace, YearBuilt = model.YearBuilt, PropertyTypeId = model.PropertyTypeId, TargetRent = model.TenantToPropertyModel?.PaymentAmount ?? 0, TargetRentTypeId = model.TargetRentType, IsOwnerOccupied = model.IsOwnerOccupied }; db.Property.Add(newProperty); var checkOwner = db.Owners.Where(x => x.Id == user.Id).FirstOrDefault(); if (checkOwner == null) { var newOwner = new Owners { Id = user.Id }; db.Owners.Add(newOwner); } db.SaveChanges(); var person = AccountService.GetPersonByLoginId(user.Id); var ownerProperty = new OwnerProperty { PropertyId = newProperty.Id, OwnershipStatusId = 1, OwnerId = user.Id, CreatedBy = user.Email, UpdatedBy = user.Email, PurchaseDate = DateTime.UtcNow, // Should Create a feild in the Add property page and get value from there UpdatedOn = DateTime.UtcNow, CreatedOn = DateTime.UtcNow }; db.OwnerProperty.Add(ownerProperty); db.SaveChanges(); return(newProperty); } }
public static ServiceResponseResult ChangePassword(ResetPasswordViewModel model, string HdToken) { var result = new ServiceResponseResult { IsSuccess = false }; using (var db = new KeysEntities()) { try { var currentUser = db.Login.FirstOrDefault(x => x.UserName == model.Email && x.ResetPasswordToken == HdToken); //if current doesn't exist or not active or disable if (currentUser == null) { result.ErrorMessage = "Oops, Either you have clicked an expired link or the link as has tampered!"; return(result); } else { if (currentUser.ResetPasswordTokenExpiryDate < DateTime.Now) { result.ErrorMessage = "Your Account Reset password token has expired! Please do reset again"; return(result); } else { var salt = UtilService.GeneratePassword(10, 5); var passwordHash = AccountService.CreatePasswordHash(model.Password, salt); //var newPasswordHash = AccountService.CreatePasswordHash(model.Password, currentUser.SecurityStamp); currentUser.PasswordHash = passwordHash; currentUser.SecurityStamp = salt; currentUser.ResetPasswordToken = ""; db.SaveChanges(); result.IsSuccess = true; return(result); } } //if (currentUser.ResetPasswordTokenExpiryDate < DateTime.Now) //{ // result.ErrorMessage = "Your Account Reset password token has expired! Please do reset again"; // return result; //} //generate new password hash from new password //var salt = UtilService.GeneratePassword(10, 5); //var passwordHash = AccountService.CreatePasswordHash(model.Password, salt); ////var newPasswordHash = AccountService.CreatePasswordHash(model.Password, currentUser.SecurityStamp); //currentUser.PasswordHash = passwordHash; //currentUser.SecurityStamp = salt; //currentUser.ResetPasswordToken = ""; //db.SaveChanges(); //result.IsSuccess = true; //return result; } catch (Exception ex) { result.ErrorMessage = _serverError; return(result); } } }