Пример #1
0
        /// <summary>
        /// Asynchronicznie dokonuje rezerwacji oferty
        /// </summary>
        /// <param name="o">Parametr komendy</param>
        /// <returns></returns>
        public async Task ReserveAsync(object o)
        {
            DisplayableOffer off = o as DisplayableOffer;

            if (off == null)
            {
                return;
            }
            int    id       = off.Id;
            string username = Thread.CurrentPrincipal.Identity.Name;

            try
            {
                OfferReserved?.Invoke(this, EventArgs.Empty);
                await _service.ReserveOffer(username, id);

                MessageBox.Show("Oferta została zarezerwowana");
            }
            catch (ArgumentException)
            {
                MessageBox.Show("Oferta już zarezerwowana.", "Błąd");
            }
            catch (Exception)
            {
                MessageBox.Show("Błąd systemu rezerwacji");
            }
        }
Пример #2
0
        /// <summary>
        /// Asynchronicznie rezygnuje z oferty
        /// </summary>
        /// <param name="x">Parametr</param>
        /// <returns></returns>
        public async Task ResignAsync(object x)
        {
            DisplayableOffer offer = x as DisplayableOffer;

            if (offer == null)
            {
                return;
            }
            string username = Thread.CurrentPrincipal.Identity.Name;

            try
            {
                OfferResigned?.Invoke(this, EventArgs.Empty);
                await _service.ResignOffer(username, offer.Id);

                MessageBox.Show("Rezygnacja z oferty została dokonana pomyślnie");
            }
            catch (ArgumentException)
            {
                MessageBox.Show("Oferta nie była zarezerwowana.", "Błąd");
            }
            catch (Exception)
            {
                MessageBox.Show("Błąd systemu rezerwacji");
            }
        }
Пример #3
0
        /// <summary>
        /// Wczytywanie historii ofert
        /// </summary>
        public async void Load()
        {
            var ret = new ObservableCollection <DisplayableOffer>();

            //nazwa aktualnego usera
            string currentUser = Thread.CurrentPrincipal.Identity.Name;

            //wyslij zapytanie o akutualnego usera
            User user = await usersProxy.GetUser(currentUser);

            //wyslij zapytanie o listę ofert
            var list = await offersProxy.GetUserHistoricalOffers(user.Id);

            //Dla każdej oferty w historii stwórz jej wersję do wyświetlenia
            foreach (var item in list)
            {
                OfferInfo oi = await offerInfoesProxy.Get(item.OfferInfoId);

                Room r = await roomsProxy.Get(item.RoomId);

                Place p = await placesProxy.Get(r.PlaceId);

                Address a = await addressesProxy.Get(p.AddressId);

                p.Address      = a;
                r.Place        = p;
                item.OfferInfo = oi;
                item.Room      = r;
                DisplayableOffer dof = new DisplayableOffer(item);
                ret.Add(dof);
            }

            this.CurrentOffersList = ret;
        }
        public async void Load()
        {
            var ret = new ObservableCollection <DisplayableOffer>();

            string currentUser = Thread.CurrentPrincipal.Identity.Name;

            User user = await usersProxy.GetUser(currentUser);

            var list = await offersProxy.GetUserOffers(user.Id);

            foreach (var item in list)
            {
                OfferInfo oi = await offerInfoesProxy.Get(item.OfferInfoId);

                Room r = await _roomsProxy.Get(item.RoomId);

                Place p = await PlacesProxy.Get(r.PlaceId);

                Address a = await addressesProxy.Get(p.AddressId);

                p.Address      = a;
                r.Place        = p;
                item.OfferInfo = oi;
                item.Room      = r;
                DisplayableOffer dof = new DisplayableOffer(item);
                ret.Add(dof);
            }

            this.CurrentOffersList = ret;
        }
Пример #5
0
 public EditOfferViewModel(DisplayableOffer displayableOffer, OffersViewModel ovm)
 {
     Description = displayableOffer.Description;
     AvailiableVacanciesNumber = displayableOffer.AvailableVacanciesNumber.ToString();
     EndDate           = displayableOffer.OfferEndTimeDate;
     StartDate         = displayableOffer.OfferStartTimeDate;
     AccommodationName = displayableOffer.PlaceName;
     Price             = displayableOffer.Price.ToString();
     Street            = displayableOffer.Address.Street;
     LocalNumber       = displayableOffer.Address.LocalNumber;
     City          = displayableOffer.Address.City;
     PostalCode    = displayableOffer.Address.PostalCode;
     Id            = displayableOffer.Id;
     RoomNumber    = displayableOffer.RoomNumber;
     Ovm           = ovm;
     UpDateCommand = new DelegateCommand(x => UpDate());
     offersProxy   = new OffersProxy();
 }
Пример #6
0
 /// <summary>
 /// Inicjalizuje nową instancję klasy DisplayableOfferViewModel
 /// </summary>
 /// <param name="offer">Oferta stowarzyszona z bieżącą instancją</param>
 public DisplayableOfferViewModel(DisplayableOffer offer)
 {
     ReserveCommand = new DelegateCommand(async o => await ReserveAsync(o));
     ResignCommand  = new DelegateCommand(async o => await ResignAsync(o));
     Offer          = offer;
 }