Example #1
0
        public bool UpdateHouseDetails(int id, HouseModel houseDetails)
        {
            District checkDistrictHouseIsLocated = GetDistrictByName(houseDetails.districtHouseIsLocated);

            if (checkDistrictHouseIsLocated == null)
            {
                return(false);
            }
            LocationsInDistrict checkLocationInDistrict = GetLocationInDistrictByName(checkDistrictHouseIsLocated.districtID, houseDetails.districtHouseIsLocated);

            if (checkLocationInDistrict == null)
            {
                return(false);
            }
            HouseState checkHouseState = GetHouseStatesByName(houseDetails.houseState);

            if (checkHouseState == null)
            {
                return(false);
            }
            FenceType checkFenceType = GetFenceTypeByName(houseDetails.fenceType);

            if (checkFenceType == null)
            {
                return(false);
            }

            House houseToUpdate = TipezeNyumbaUnitOfWork.Repository <House>().Get(u => u.houseID == id);

            if (houseToUpdate == null)
            {
                return(false);
            }
            houseToUpdate.districtHouseIsLocated = checkDistrictHouseIsLocated.districtID;
            houseToUpdate.locationWithInDistrict = checkLocationInDistrict.districtLocationID;
            houseToUpdate.bedrooms                 = houseDetails.bedrooms;
            houseToUpdate.masterBedroomEnsuite     = houseDetails.masterBedroomEnsuite;
            houseToUpdate.selfContained            = houseDetails.selfContained;
            houseToUpdate.numberOfGarages          = houseDetails.numberOfGarages;
            houseToUpdate.fenceType                = checkFenceType.fenceTypeID;
            houseToUpdate.dateHouseWillBeAvailable = Convert.ToDateTime(houseDetails.dateHouseWillBeAvailable);
            houseToUpdate.price             = houseDetails.price;
            houseToUpdate.modeOfPayment     = Convert.ToInt32(houseDetails.modeOfPayment);
            houseToUpdate.dateUploaded      = Convert.ToDateTime(houseDetails.dateUploaded);
            houseToUpdate.description       = houseDetails.description;
            houseToUpdate.currentHouseState = checkHouseState.houseStateID;

            houseToUpdate.HouseContactDetail.phoneNumber1          = houseDetails.phoneNumber1;
            houseToUpdate.HouseContactDetail.phoneNumber2          = houseDetails.phoneNumber2;
            houseToUpdate.HouseContactDetail.whatsAppContactNumber = houseDetails.whatsAppContactNumber;
            houseToUpdate.HouseContactDetail.email = houseDetails.email;

            TipezeNyumbaUnitOfWork.Repository <House>().Attach(houseToUpdate);
            TipezeNyumbaUnitOfWork.SaveChanges();
            return(true);
        }
        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);
        }
Example #3
0
        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 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 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 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;
     }
 }
Example #8
0
        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 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 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();
        }
Example #11
0
 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;
     }
 }
Example #12
0
        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);
        }