public async Task Init()
        {
            var userID = APIService.UserId;

            ApartmentUserSearchRequest search = new ApartmentUserSearchRequest()
            {
                UserId = userID
            };


            var rentedList = await _apartmentsRentedUserService.Get <IEnumerable <Model.RentedResidentalBuilding> >(search);

            var apartments = await _apartmentsService.Get <IEnumerable <Model.ResidentialBuilding> >();

            RentedApartmentsList.Clear();
            foreach (var rented in rentedList)
            {
                foreach (var apartment in apartments)
                {
                    if (rented.ResidentialBuildingId == apartment.Id)
                    {
                        RentedApartmentsList.Add(apartment);
                    }
                }
            }
        }
Пример #2
0
        public async Task Init()
        {
            if (TypeOfCity.Count == 0)
            {
                var cityList = await _typeOfCity.Get <List <Model.City> >(null);

                foreach (var city in cityList)
                {
                    TypeOfCity.Add(city);
                }
            }

            if (TypeOfApartments.Count == 0)
            {
                var typeOfApartmentList = await _typeOfApartments.Get <List <Model.TypeOfResidentialBuilding> >(null);

                foreach (var apartment in typeOfApartmentList)
                {
                    TypeOfApartments.Add(apartment);
                }
            }

            if (SelectedTypeOfCity != null)
            {
                ApartmentUserSearchRequest searchRequest = new ApartmentUserSearchRequest();
                searchRequest.CityId = SelectedTypeOfCity.Id;

                var listApartments = await _apartmentsService.Get <IEnumerable <Model.ResidentialBuilding> >(searchRequest);

                ApartmentsList.Clear();
                foreach (var apartments in listApartments)
                {
                    if (apartments.Rented == false)
                    {
                        ApartmentsList.Add(apartments);
                    }
                }
            }

            if (SelectedTypeOfApartments != null)
            {
                ApartmentUserSearchRequest searchRequest = new ApartmentUserSearchRequest();
                searchRequest.TypeOfResidentialBuildingId = SelectedTypeOfApartments.Id;

                var listApartments = await _apartmentsService.Get <IEnumerable <Model.ResidentialBuilding> >(searchRequest);

                ApartmentsList.Clear();
                foreach (var apartments in listApartments)
                {
                    if (apartments.Rented == false)
                    {
                        ApartmentsList.Add(apartments);
                    }
                }
            }
        }
        async Task StopRentingApartment()
        {
            var userID = APIService.UserId;

            ApartmentUserSearchRequest searchRequest = new ApartmentUserSearchRequest()
            {
                UserId = userID
            };

            var temp = await _rentApartmentService.Get <List <Model.RentedResidentalBuilding> >(searchRequest);

            var request = new ApartmentUserUpdateRequest();

            GregorianCalendar persianCalendar = new GregorianCalendar();

            foreach (var x in temp)
            {
                if (x.ResidentialBuildingId == Apartment.Id)
                {
                    request.Id = x.Id;
                    request.BeginRentalDate       = x.BeginRentalDate;
                    request.EndRentalDate         = DateTime.Now;
                    request.ResidentialBuildingId = Apartment.Id;
                    request.UserId = APIService.UserId;
                    request.Year   = persianCalendar.GetYear(x.BeginRentalDate ?? DateTime.Now);
                }
            }

            await _rentApartmentService.Update <Model.RentedResidentalBuilding>(request.Id, request);


            var requestUpdate = new ApartmentsInsertRequest()
            {
                Address                     = Apartment.Address,
                Area                        = Apartment.Area,
                ArmoredDoor                 = Apartment.ArmoredDoor,
                CityId                      = Apartment.CityId,
                DateOfPublication           = Apartment.DateOfPublication,
                DateOfRenewal               = Apartment.DateOfRenewal,
                Description                 = Apartment.Description,
                Floor                       = Apartment.Floor,
                NewlyBuilt                  = Apartment.NewlyBuilt,
                NubmerOfFloors              = Apartment.NubmerOfFloors,
                NumberOfRooms               = Apartment.NumberOfRooms,
                Picture                     = Apartment.Picture,
                Price                       = Apartment.Price,
                Rented                      = false,
                TypeOfHeating               = Apartment.TypeOfHeating,
                TypeOfResidentialBuildingId = Apartment.TypeOfResidentialBuildingId
            };

            await _apartmentService.Update <Model.ResidentialBuilding>(Apartment.Id, requestUpdate);
        }