コード例 #1
0
        public async Task <IHttpActionResult> PostHousing(HousingPost housingPost)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            Housing housing = new Housing()
            {
                PostBox           = housingPost.PostBox,
                ZipCode           = housingPost.ZipCode,
                BedType           = housingPost.BedType,
                StartDate         = housingPost.StartDate,
                EndDate           = housingPost.EndDate,
                AddDate           = DateTime.Now,
                EditDate          = DateTime.Now,
                Number            = housingPost.Number,
                Street            = housingPost.Street,
                City              = housingPost.City,
                SpaceLocalization = housingPost.SpaceLocalization,
                Description       = housingPost.Description,
                Pictures          = housingPost.Pictures,
                Wifi              = housingPost.Wifi,
                Kitchen           = housingPost.Kitchen,
                Office            = housingPost.Office,
                Toilet            = housingPost.Toilet,
                Shower            = housingPost.Shower
            };

            housing.Host = db.UserDB.First(u => u.ID == User.Identity.Name);
            db.HousingDB.Add(housing);
            await db.SaveChangesAsync();

            return(Created("api/Housings/", housing));
        }
コード例 #2
0
ファイル: HousingsController.cs プロジェクト: yasser10/Api
        public async Task <IHttpActionResult> PutHousing(int id, HousingPost housingPost)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var   userID        = User.Identity as ClaimsIdentity;
            Claim IdentityClaim = userID.Claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier);
            User  user          = db.UserDB.FirstOrDefault(u => u.ID == IdentityClaim.Value);

            //  System.Diagnostics.Debug.WriteLine("validmodel");
            Housing updatedHousing = await db.HousingDB.FindAsync(id);

            //updatedHousing.Host = GetUserIdentity();

            //updatedHousing.Host = db.UserDB.First(u => u.ID == housingPost.HostID);
            updatedHousing.Host = db.UserDB.First(u => u.ID == User.Identity.Name);

            updatedHousing.EditDate          = DateTime.Now;
            updatedHousing.PostBox           = housingPost.PostBox;
            updatedHousing.ZipCode           = housingPost.ZipCode;
            updatedHousing.BedType           = housingPost.BedType;
            updatedHousing.StartDate         = housingPost.StartDate;
            updatedHousing.EndDate           = housingPost.EndDate;
            updatedHousing.Number            = housingPost.Number;
            updatedHousing.Street            = housingPost.Street;
            updatedHousing.City              = housingPost.City;
            updatedHousing.SpaceLocalization = housingPost.SpaceLocalization;
            updatedHousing.Description       = housingPost.Description;
            updatedHousing.Pictures          = housingPost.Pictures;
            updatedHousing.Wifi              = housingPost.Wifi;
            updatedHousing.Kitchen           = housingPost.Kitchen;
            updatedHousing.Office            = housingPost.Office;
            updatedHousing.Toilet            = housingPost.Toilet;
            updatedHousing.Shower            = housingPost.Shower;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!HousingExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
コード例 #3
0
ファイル: LocalService.cs プロジェクト: yasser10/Api
 public async Task <IEnumerable <InfoLocal> > GetLocalization(HousingPost housing)
 {
     try
     {
         return(InfoLocalConverter(JArray.Parse("[" + await httpClient.GetStringAsync(new Uri("https://maps.googleapis.com/maps/api/geocode/json?address=" + housing.Number + "+" + housing.Street + "+" + housing.ZipCode + "+" + housing.City + "&key=AIzaSyCT-lt1TsM7W-Ri4xxpTfTgGvrNHhdCX-k")) + "]")));
     }
     catch (HttpRequestException)
     {
         return(null);
     }
 }
コード例 #4
0
ファイル: HousingService.cs プロジェクト: yasser10/Api
        public async Task EditHousing(int HousingID, HousingPost HousingPost)
        {
            var jsonRequest = JsonConvert.SerializeObject(HousingPost);
            var content     = new StringContent(jsonRequest, Encoding.UTF8, "text/json");

            try
            {
                var response = await httpClient.PutAsync("https://smartcity-webapp.azurewebsites.net/api/housings/" + HousingID, content);

                await new MessageDialog("Annonce modifiée avec succès", "Modification réussie").ShowAsync();
            }
            catch (HttpRequestException)
            {
                await new MessageDialog("Modification de l'annonce impossible", "Erreur").ShowAsync();
            }
        }
コード例 #5
0
ファイル: LocalHousingModule.cs プロジェクト: cray1/jobsalt
 public void AddHousingPost(HousingPost post, string submittedBy)
 {
     DateTime submitedTime = DateTime.Now;
     dbConext.HousingReviews.Add(
         new HousingReview()
         {
             Title = post.Title,
             DateTime = DateTime.Now,
             Description = post.Description,
             Price = post.PriceRange,
             Rating = post.Rating,
             HousingLocation = new HousingLocation()
             {
                 City = post.Location.City,
                 State = post.Location.State,
                 ZipCode = post.Location.ZipCode,
                 Longitude = post.Location.Longitude,
                 Latitude = post.Location.Latitude
             },
             SubmittedBy = submittedBy
         });
     dbConext.SaveChanges();
 }
コード例 #6
0
        public NewHousingViewModel(INavigationService navigationService)
        {
            NewHousing = new HousingPost
            {
//                HostID = ViewModelLocator.ConnectedUser.ID,

                Number  = null,
                PostBox = 0,
                Street  = null,
                ZipCode = 0,
                City    = null,

                Wifi    = false,
                Kitchen = false,
                Office  = false,
                Shower  = false,
                Toilet  = false,

                SpaceLocalization = null,
                Description       = null,
                Pictures          = null,

                StartDate = DateTime.Now,
                EndDate   = DateTime.Now,

                BedType = 1
            };
            StartDay              = new DateTimeOffset(DateTime.Now);
            EndDay                = new DateTimeOffset(DateTime.Now);
            StartTime             = new TimeSpan(14, 00, 00);
            EndTime               = new TimeSpan(14, 00, 00);
            _bedTypeCollection    = ViewModelLocator.BedsList;
            _localitiesCollection = ViewModelLocator.LocalitiesList;
            _selectedBedType      = _bedTypeCollection[0];
            _selectedLocality     = _localitiesCollection[0];
        }
コード例 #7
0
        private async void SaveConfirmation()
        {
            try
            {
                EditedHousing = new HousingPost();
                int numPB = 0;

                EditedHousing.Kitchen = SelectedHousing.Kitchen;
                EditedHousing.Wifi    = SelectedHousing.Wifi;
                EditedHousing.Office  = SelectedHousing.Office;
                EditedHousing.Shower  = SelectedHousing.Shower;
                EditedHousing.Toilet  = SelectedHousing.Toilet;

                EditedHousing.StartDate = new DateTime(StartDay.Year, StartDay.Month, StartDay.Day, StartTime.Hours, StartTime.Minutes, 0);
                EditedHousing.EndDate   = new DateTime(EndDay.Year, EndDay.Month, EndDay.Day, EndTime.Hours, EndTime.Minutes, 0);

                if (StartDay > EndDay)
                {
                    throw new AddEditHousingException(1);
                }
                if (StartDay == EndDay)
                {
                    throw new AddEditHousingException(2);
                }
                if (SelectedBedType.Code <= 0)
                {
                    throw new AddEditHousingException(3);
                }
                EditedHousing.BedType = SelectedBedType.Code;
                if (!String.IsNullOrWhiteSpace(Description))
                {
                    EditedHousing.Description = Description;
                }
                else
                {
                    EditedHousing.Description = null;
                }
                if (String.IsNullOrWhiteSpace(SelectedHousing.Number))
                {
                    throw new AddressException(1);
                }
                EditedHousing.Number = SelectedHousing.Number;
                if (!String.IsNullOrWhiteSpace(strPostBox))
                {
                    bool parsed = Int32.TryParse(strPostBox, out numPB);
                    if (!parsed)
                    {
                        throw new AddressException(2);
                    }
                }
                if (String.IsNullOrWhiteSpace(SelectedHousing.Street))
                {
                    throw new AddressException(5);
                }
                else
                {
                    EditedHousing.Street = SelectedHousing.Street;
                }
                if (SelectedLocality != null)
                {
                    EditedHousing.ZipCode = SelectedLocality.Zip;
                    EditedHousing.City    = SelectedLocality.Name;
                }
                else
                {
                    throw new AddressException(9);
                }
                if (!String.IsNullOrWhiteSpace(NewPicture))
                {
                    EditedHousing.Pictures = NewPicture;
                }
                else
                {
                    EditedHousing.Pictures = SelectedHousing.Pictures;
                }
                EditedHousing.PostBox = numPB;

                MessageDialog msgDialog = new MessageDialog("Etes-vous sûr de vouloir sauvegarder les modifications effectuées sur ce logement ?", "Confirmation de modification");

                UICommand okBtn = new UICommand("Oui");
                okBtn.Invoked = SaveHousing;
                msgDialog.Commands.Add(okBtn);

                UICommand cancelBtn = new UICommand("Non");
                msgDialog.Commands.Add(cancelBtn);

                await msgDialog.ShowAsync();
            }
            catch (AddEditHousingException addUserEx)
            {
                await DisplayException(addUserEx.ErrorMessage);
            }
            catch (AddressException addressEx)
            {
                await DisplayException(addressEx.ErrorMessage);
            }
        }