Example #1
0
        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
                    });
                }
            }
        }
Example #2
0
        //****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);
            }
        }
Example #3
0
        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);
                }
            }
        }