public List <UserOutputModel> GetAllUsers() { List <User> allUsers = TipezeNyumbaUnitOfWork.Repository <User>().GetAll().ToList(); if (allUsers.Count == 0) { return(null); } return(_usersToDisplay.FormatUsersToDisplay(allUsers)); }
public List <UserOutputModel> GetDeactivatedUsers() { List <User> deactivatedUsers = TipezeNyumbaUnitOfWork.Repository <User>() .GetAll(u => u.FieldState.state == "Deactivated").ToList(); if (deactivatedUsers.Count == 0) { return(null); } return(_usersToDisplay.FormatUsersToDisplay(deactivatedUsers)); }
public List <UserOutputModel> GetUsers(string systemRole) { List <User> allUsers = TipezeNyumbaUnitOfWork.Repository <User>().GetAll(u => u.UserRole.role == systemRole) .ToList(); if (allUsers.Count == 0) { return(null); } return(_usersToDisplay.FormatUsersToDisplay(allUsers)); }
public bool RemoveUser(int id) { User userToRemove = TipezeNyumbaUnitOfWork.Repository <User>().Get(u => u.userID == id); if (userToRemove == null) { return(false); } TipezeNyumbaUnitOfWork.Repository <User>().Delete(userToRemove); TipezeNyumbaUnitOfWork.SaveChanges(); return(true); }
public bool RemoveHouse(int id) { House houseToRemove = TipezeNyumbaUnitOfWork.Repository <House>().Get(u => u.houseID == id); if (houseToRemove == null) { return(false); } TipezeNyumbaUnitOfWork.Repository <House>().Delete(houseToRemove); TipezeNyumbaUnitOfWork.SaveChanges(); return(true); }
public bool VerifyCredentials(string username, string password) { User getUser = TipezeNyumbaUnitOfWork.Repository <User>() .Get(u => u.phoneNumber == username || u.email == username); if (getUser == null) { return(false); } bool verifyIfPasswordIsCorrect = _hashPassword.IsPasswordCorrect(getUser, password); return(verifyIfPasswordIsCorrect); }
public bool DeactivateObject(int id) { User userAccountToActivate = TipezeNyumbaUnitOfWork.Repository <User>().Get(u => u.userID == id); if (userAccountToActivate == null) { return(false); } userAccountToActivate.FieldState.state = "Deactivated"; TipezeNyumbaUnitOfWork.Repository <User>().Attach(userAccountToActivate); TipezeNyumbaUnitOfWork.SaveChanges(); return(true); }
//public bool MakeHouseFavourite(int houseId, int userId) //{ // HouseFavourite getHouseFavourite = TipezeNyumbaUnitOfWork.Repository<HouseFavourite>() // .Get(u => u.houseID == houseId && u.userID == userId); // if (getHouseFavourite == null) // { // return false; // } // if (getHouseFavourite.FieldState.state.ToLower() == "Activated".ToLower()) // { // return true; // } // getHouseFavourite.status = _fieldStateManagement.GetActivatedState().fieldStateID; // TipezeNyumbaUnitOfWork.Repository<HouseFavourite>().Attach(getHouseFavourite); // TipezeNyumbaUnitOfWork.SaveChanges(); // return true; //} public bool RemoveHouseFromFavourites(int houseId, int userId) { HouseFavourite getHouseFavourite = TipezeNyumbaUnitOfWork.Repository <HouseFavourite>() .Get(u => u.houseID == houseId && u.userID == userId); if (getHouseFavourite == null) { return(false); } getHouseFavourite.status = _fieldStateManagement.GetDeactivatedState().fieldStateID; TipezeNyumbaUnitOfWork.Repository <HouseFavourite>().Attach(getHouseFavourite); TipezeNyumbaUnitOfWork.SaveChanges(); return(true); }
public List <HouseModel> GetHousesAsFavourites(int userId) { List <HouseFavourite> getHouses = TipezeNyumbaUnitOfWork.Repository <HouseFavourite>().GetAll(u => u.userID == userId && u.status == _fieldStateManagement.GetActivatedState().fieldStateID).ToList(); List <HouseModel> houseList = new List <HouseModel>(); foreach (var eachHouse in getHouses) { string paymentModeInWords = eachHouse.House.PaymentMode.number + " " + eachHouse.House.PaymentMode.DurationType.type; HouseContactDetail houseContactDetail = TipezeNyumbaUnitOfWork.Repository <HouseContactDetail>() .Get(u => u.houseID == eachHouse.houseID); _houseDisplay.SetHouseDetails(houseContactDetail, houseList, eachHouse.House, paymentModeInWords); } return(houseList); }
public List <HouseModel> GetAllHouses() { List <House> getHouses = TipezeNyumbaUnitOfWork.Repository <House>().GetAll().ToList(); List <HouseModel> houseList = new List <HouseModel>(); foreach (var eachHouse in getHouses) { string paymentModeInWords = eachHouse.PaymentMode.number + " " + eachHouse.PaymentMode.DurationType.type; HouseContactDetail houseContactDetail = TipezeNyumbaUnitOfWork.Repository <HouseContactDetail>() .Get(u => u.houseID == eachHouse.houseID); _houseDisplay.SetHouseDetails(houseContactDetail, houseList, eachHouse, paymentModeInWords); } return(houseList); }
public List <HouseModel> GetAllHousesByDistrict(string district) { List <House> getHouses = TipezeNyumbaUnitOfWork.Repository <House>() .GetAll(u => u.District.name.ToLower() == district.ToLower() && u.HouseState.HouseStatus.ToLower() == "available").ToList(); List <HouseModel> houseList = new List <HouseModel>(); foreach (var eachHouse in getHouses) { string paymentModeInWords = eachHouse.PaymentMode.number + " " + eachHouse.PaymentMode.DurationType.type; HouseContactDetail houseContactDetail = TipezeNyumbaUnitOfWork.Repository <HouseContactDetail>() .Get(u => u.houseID == eachHouse.houseID); _houseDisplay.SetHouseDetails(houseContactDetail, houseList, eachHouse, paymentModeInWords); } return(houseList); }
public bool UpdateUserDetails(int id, UserInputModel userDetails) { User userToUpdate = TipezeNyumbaUnitOfWork.Repository <User>().Get(u => u.userID == id); if (userToUpdate == null) { return(false); } userToUpdate.firstName = userDetails.firstName; userToUpdate.lastName = userDetails.lastName; userToUpdate.email = userDetails.email; userToUpdate.userType = GetUserRoleByString(userDetails.userRoleForUser).userRoleID; userToUpdate.userSubscriptionType = GetSubscriptionTypeByString(userDetails.userSubscriptionType).subscriptionID; userToUpdate.phoneNumber = userDetails.phoneNumber; TipezeNyumbaUnitOfWork.Repository <User>().Attach(userToUpdate); TipezeNyumbaUnitOfWork.SaveChanges(); return(true); }
public List <UserOutputModel> GetInterestedHouseClients(int houseId) { List <InterestedClient> getInterestedClients = TipezeNyumbaUnitOfWork.Repository <InterestedClient>() .GetAll(u => u.houseID == houseId).ToList(); if (getInterestedClients.Count == 0) { return(null); } List <User> interestedClients = new List <User>(); foreach (InterestedClient eachClient in getInterestedClients) { User tempUser = eachClient.User; interestedClients.Add(tempUser); } return(_usersToDisplay.FormatUsersToDisplay(interestedClients)); }
public List <HouseModel> GetHousesByPriceRange(string district, decimal minimumPrice, decimal maximumPrice, string location = null) { List <House> getHouses = string.Equals(location, null, StringComparison.Ordinal) ? TipezeNyumbaUnitOfWork.Repository <House>().GetAll(u => u.District.name.ToLower() == district.ToLower() && u.price >= minimumPrice && u.price <= maximumPrice && u.HouseState.HouseStatus.ToLower() == "available").ToList() : TipezeNyumbaUnitOfWork.Repository <House>().GetAll(u => u.District.name.ToLower() == district.ToLower() && u.price >= minimumPrice && u.price <= maximumPrice && u.LocationsInDistrict.location.ToLower() == location.ToLower() && u.HouseState.HouseStatus.ToLower() == "available").ToList(); if (getHouses.Count == 0) { return(null); } List <HouseModel> houseList = new List <HouseModel>(); foreach (var eachHouse in getHouses) { string paymentModeInWords = eachHouse.PaymentMode.number + " " + eachHouse.PaymentMode.DurationType.type; HouseContactDetail houseContactDetail = TipezeNyumbaUnitOfWork.Repository <HouseContactDetail>() .Get(u => u.houseID == eachHouse.houseID); _houseDisplay.SetHouseDetails(houseContactDetail, houseList, eachHouse, paymentModeInWords); } return(houseList); }
public bool AddHouseToFavourites(int houseId, int userId) { try { HouseFavourite checkHouseFavouriteExist = TipezeNyumbaUnitOfWork.Repository <HouseFavourite>() .Get(u => u.houseID == houseId && u.userID == userId); int activatedState = _fieldStateManagement.GetActivatedState().fieldStateID; House checkIfHouseExist = TipezeNyumbaUnitOfWork.Repository <House>().Get(u => u.houseID == houseId); if (checkIfHouseExist == null) { return(false); } if (checkHouseFavouriteExist != null) { if (checkHouseFavouriteExist.status == activatedState) { return(true); } checkHouseFavouriteExist.status = activatedState; TipezeNyumbaUnitOfWork.Repository <HouseFavourite>().Attach(checkHouseFavouriteExist); TipezeNyumbaUnitOfWork.SaveChanges(); return(true); } HouseFavourite newHouseFavourite = new HouseFavourite() { userID = userId, houseID = houseId, status = _fieldStateManagement.GetActivatedState().fieldStateID }; TipezeNyumbaUnitOfWork.Repository <HouseFavourite>().Add(newHouseFavourite); TipezeNyumbaUnitOfWork.SaveChanges(); return(true); } catch (Exception e) { Console.WriteLine(e); throw; } }
public bool UpdateHouseStatus(int houseId, string houseStatus) { HouseState checkHouseState = GetHouseStatesByName(houseStatus); if (checkHouseState == null) { return(false); } try { House getHouseToUpdate = TipezeNyumbaUnitOfWork.Repository <House>().Get(u => u.houseID == houseId); getHouseToUpdate.currentHouseState = checkHouseState.houseStateID; TipezeNyumbaUnitOfWork.Repository <House>().Attach(getHouseToUpdate); TipezeNyumbaUnitOfWork.SaveChanges(); return(true); } catch (Exception e) { Console.WriteLine(e); throw; } }
public UserInputModel GetUser(int userId) { User userToGet = TipezeNyumbaUnitOfWork.Repository <User>().Get(u => u.userID == userId); if (userToGet == null) { return(null); } UserInputModel userModel = new UserInputModel() { userID = userToGet.userID, firstName = userToGet.firstName, lastName = userToGet.lastName, email = userToGet.email, phoneNumber = userToGet.phoneNumber, dateTimeCreated = userToGet.dateTimeCreated, userRoleForUser = userToGet.UserRole.role, userSubscriptionType = userToGet.SubscriptionType.type, accountState = userToGet.FieldState.state }; return(userModel); }
public void AddUser(UserInputModel newUser) { SubscriptionType checkUserSubscription = GetSubscriptionTypeByString(newUser.userSubscriptionType); FieldState checkFieldState = _fieldStateManagement.GetActivatedState(); UserRole checkUserRole = GetUserRoleByString(newUser.userRoleForUser); HashPassword hashPasswordObject = new HashPassword(); User userDetails = new User() { firstName = newUser.firstName, lastName = newUser.lastName, email = newUser.email, dateTimeCreated = DateTime.Now, phoneNumber = newUser.phoneNumber, accountState = checkFieldState.fieldStateID, userSubscriptionType = checkUserSubscription.subscriptionID, userType = checkUserRole.userRoleID, password = hashPasswordObject.CreateHashedPassword(newUser.password), passwordSalt = hashPasswordObject.Salt }; TipezeNyumbaUnitOfWork.Repository <User>().Add(userDetails); TipezeNyumbaUnitOfWork.SaveChanges(); }
public bool AddInterestedClient(int houseId, int userId, string clientState) { int activatedState = _fieldStateManagement.GetActivatedState().fieldStateID; InterestedClient checkIfClientAlreadyExist = TipezeNyumbaUnitOfWork.Repository <InterestedClient>() .Get(u => u.houseID == houseId && u.userID == userId); if (checkIfClientAlreadyExist != null) { if (checkIfClientAlreadyExist.status == activatedState) { return(true); } checkIfClientAlreadyExist.status = activatedState; TipezeNyumbaUnitOfWork.Repository <InterestedClient>().Attach(checkIfClientAlreadyExist); TipezeNyumbaUnitOfWork.SaveChanges(); return(true); } ClientState checkClientState = GetClientStateByName(clientState); if (checkClientState == null) { return(false); } InterestedClient newInterestedClient = new InterestedClient() { userID = userId, houseID = houseId, interestedClientState = checkClientState.stateID, status = _fieldStateManagement.GetActivatedState().fieldStateID, dateCreated = DateTime.Now }; TipezeNyumbaUnitOfWork.Repository <InterestedClient>().Add(newInterestedClient); TipezeNyumbaUnitOfWork.SaveChanges(); return(true); }
public bool BookHouseAppointment(BookHouseModel newBookHouseModel) { try { HouseBooking newHouseBooking = new HouseBooking() { houseID = newBookHouseModel.houseId, userID = newBookHouseModel.userId, dateOfMeeting = Convert.ToDateTime(newBookHouseModel.dateOfMeeting), timeFrom = Convert.ToDateTime(newBookHouseModel.bookingStartTime).TimeOfDay, timeTo = Convert.ToDateTime(newBookHouseModel.bookingEndTime).TimeOfDay, status = fieldStateManagement.GetActivatedState().fieldStateID, dateCreated = DateTime.Now }; TipezeNyumbaUnitOfWork.Repository <HouseBooking>().Add(newHouseBooking); TipezeNyumbaUnitOfWork.SaveChanges(); return(true); } catch (Exception e) { Console.WriteLine(e); throw; } }
public FieldState GetAcccountStateById(int stateID) { FieldState getFieldState = TipezeNyumbaUnitOfWork.Repository <FieldState>().Get(u => u.fieldStateID == stateID); return(getFieldState); }
public FieldState GetDeactivatedState() { FieldState getFieldState = TipezeNyumbaUnitOfWork.Repository <FieldState>().Get(u => u.state == "Deactivated"); return(getFieldState); }
public FieldState GetAcccountStateByString(string stateInWords) { FieldState getFieldState = TipezeNyumbaUnitOfWork.Repository <FieldState>().Get(u => u.state.ToLower() == stateInWords.ToLower()); return(getFieldState); }
private UserRole GetUserRoleById(int id) { UserRole getUserRole = TipezeNyumbaUnitOfWork.Repository <UserRole>().Get(u => u.userRoleID == id); return(getUserRole); }
private UserRole GetUserRoleByString(string userRoleInWords) { UserRole getUserRole = TipezeNyumbaUnitOfWork.Repository <UserRole>().Get(u => u.role == userRoleInWords); return(getUserRole); }
public List <DisplayBookHouseModel> GetBookedHouses() { List <HouseBooking> getHouses = TipezeNyumbaUnitOfWork.Repository <HouseBooking>().GetAll().ToList(); List <DisplayBookHouseModel> houseList = new List <DisplayBookHouseModel>(); foreach (var eachHouse in getHouses) { string paymentModeInWords = eachHouse.House.PaymentMode.number + " " + eachHouse.House.PaymentMode.DurationType.type; HouseContactDetail houseContactDetail = TipezeNyumbaUnitOfWork.Repository <HouseContactDetail>() .Get(u => u.houseID == eachHouse.houseID); if (houseContactDetail == null) { houseList.Add(new DisplayBookHouseModel() { houseID = eachHouse.houseID, bedrooms = eachHouse.House.bedrooms, masterBedroomEnsuite = eachHouse.House.masterBedroomEnsuite, selfContained = eachHouse.House.selfContained, numberOfGarages = eachHouse.House.numberOfGarages, dateHouseWillBeAvailable = eachHouse.House.dateHouseWillBeAvailable.ToLongDateString(), price = eachHouse.House.price, dateUploaded = eachHouse.House.dateUploaded.ToLongDateString(), description = eachHouse.House.description, modeOfPayment = paymentModeInWords, houseState = eachHouse.House.HouseState.HouseStatus, fenceType = eachHouse.House.FenceType1.typeOfFence, districtHouseIsLocated = eachHouse.House.District.name, locationInDistrict = eachHouse.House.LocationsInDistrict.location, bookedBy = eachHouse.User.firstName + " " + eachHouse.User.lastName, bookedByPhoneNumber = eachHouse.User.phoneNumber, bookingStartTime = eachHouse.timeFrom.ToString(), bookingEndTime = eachHouse.timeTo.ToString() }); } else { houseList.Add(new DisplayBookHouseModel() { houseID = eachHouse.houseID, bedrooms = eachHouse.House.bedrooms, masterBedroomEnsuite = eachHouse.House.masterBedroomEnsuite, selfContained = eachHouse.House.selfContained, numberOfGarages = eachHouse.House.numberOfGarages, dateHouseWillBeAvailable = eachHouse.House.dateHouseWillBeAvailable.ToLongDateString(), price = eachHouse.House.price, dateUploaded = eachHouse.House.dateUploaded.ToLongDateString(), description = eachHouse.House.description, modeOfPayment = paymentModeInWords, houseState = eachHouse.House.HouseState.HouseStatus, fenceType = eachHouse.House.FenceType1.typeOfFence, phoneNumber1 = eachHouse.House.HouseContactDetail.phoneNumber1, phoneNumber2 = eachHouse.House.HouseContactDetail.phoneNumber2, whatsAppContactNumber = eachHouse.House.HouseContactDetail.whatsAppContactNumber, email = eachHouse.House.HouseContactDetail.email, districtHouseIsLocated = eachHouse.House.District.name, locationInDistrict = eachHouse.House.LocationsInDistrict.location, bookedBy = eachHouse.User.firstName + " " + eachHouse.User.lastName, bookedByPhoneNumber = eachHouse.User.phoneNumber, bookingStartTime = eachHouse.timeFrom.ToString(), bookingEndTime = eachHouse.timeTo.ToString() }); } } return(houseList); }
public bool AddHouse(HouseModel newHouseModel) { District checkDistrictHouseIsLocated = GetDistrictByName(newHouseModel.districtHouseIsLocated); if (checkDistrictHouseIsLocated == null) { return(false); } LocationsInDistrict checkLocationInDistrict = GetLocationInDistrictByName(checkDistrictHouseIsLocated.districtID, newHouseModel.locationInDistrict); if (checkLocationInDistrict == null) { return(false); } HouseState checkHouseState = GetHouseStatesByName(newHouseModel.houseState); if (checkHouseState == null) { return(false); } FenceType checkFenceType = GetFenceTypeByName(newHouseModel.fenceType); if (checkFenceType == null) { return(false); } int activatedState = _fieldStateManagement.GetActivatedState().fieldStateID; House newHouse = new House() { districtHouseIsLocated = checkDistrictHouseIsLocated.districtID, locationWithInDistrict = checkLocationInDistrict.districtLocationID, bedrooms = newHouseModel.bedrooms, masterBedroomEnsuite = newHouseModel.masterBedroomEnsuite, selfContained = newHouseModel.selfContained, numberOfGarages = newHouseModel.numberOfGarages, fenceType = checkFenceType.fenceTypeID, dateHouseWillBeAvailable = Convert.ToDateTime(newHouseModel.dateHouseWillBeAvailable), price = newHouseModel.price, modeOfPayment = Convert.ToInt32(newHouseModel.modeOfPayment), dateUploaded = DateTime.Now, description = newHouseModel.description, currentHouseState = checkHouseState.houseStateID, state = activatedState }; HouseContactDetail houseContactDetail = new HouseContactDetail() { houseID = newHouse.houseID, phoneNumber1 = newHouseModel.phoneNumber1, phoneNumber2 = newHouseModel.phoneNumber2, whatsAppContactNumber = newHouseModel.whatsAppContactNumber, email = newHouseModel.email, state = activatedState }; HouseOwner setHouseOwner = new HouseOwner() { userID = newHouseModel.userId, houseID = newHouseModel.houseID, status = activatedState }; TipezeNyumbaUnitOfWork.Repository <House>().Add(newHouse); TipezeNyumbaUnitOfWork.Repository <HouseContactDetail>().Add(houseContactDetail); TipezeNyumbaUnitOfWork.Repository <HouseOwner>().Add(setHouseOwner); TipezeNyumbaUnitOfWork.SaveChanges(); return(true); }