コード例 #1
0
        public async Task Submit()
        {
            try
            {
                var addressRequest = new AddressUpsertRequest
                {
                    AdditionalAddress = _additional,
                    City      = _city,
                    CountryId = _selectedCountry.CountryId,
                    Street    = _street,
                    ZipCode   = _zipCode
                };

                Address address;

                if (RequestId != null)
                {
                    address = await _addressService.Update <Address>((int)AddressId, addressRequest);

                    var req = new RequestUpdateRequest
                    {
                        AdditionalInformation = _additionalInformation,
                        Date                    = _dateValue,
                        Price                   = _price,
                        Rooms                   = int.Parse(_rooms),
                        TotalWeightApprox       = int.Parse(_totalWeightApprox),
                        StatusId                = (int)Models.Status.Pending,
                        TransportDistanceApprox = int.Parse(_transportDistanceApprox)
                    };
                    var result = await _requestService.Update <Request>((int)RequestId, req);

                    await Application.Current.MainPage.DisplayAlert(Constants.RequestUpdated, Constants.RequestUpdatedMessage, Constants.OK);
                }
                else
                {
                    address = await _addressService.Insert <Address>(addressRequest);

                    int clientId = Int32.Parse(JWTService.DecodeJWT());
                    var request  = new RequestInsertRequest
                    {
                        AdditionalInformation = _additionalInformation,
                        Created                 = DateTime.Now,
                        Date                    = _dateValue,
                        Price                   = _price,
                        Rooms                   = int.Parse(_rooms),
                        TotalWeightApprox       = int.Parse(_totalWeightApprox),
                        ClientId                = clientId,
                        StatusId                = (int)Models.Status.Pending,
                        DeliveryAddress         = address.AddressId,
                        TransportDistanceApprox = int.Parse(_transportDistanceApprox)
                    };
                    var result = await _requestService.Insert <Request>(request);

                    await Application.Current.MainPage.DisplayAlert(Constants.RequestCreated, Constants.RequestCreatedMessage, Constants.OK);
                }
                ClearForm();
            }
            catch
            {}
        }
コード例 #2
0
        public async Task Init()
        {
            PendingRequests.Clear();

            var id     = int.Parse(JWTService.DecodeJWT());
            var search = new Model.Requests.RequestSearchRequest
            {
                ShowInactive = false,
                StatusId     = (int)Models.Status.Pending
            };

            var requestList = await _requestService.GetAll <List <Request> >(search);

            foreach (var request in requestList)
            {
                var address = await _addressService.GetById <Address>(request.DeliveryAddress);

                var country = await _countryService.GetById <Country>((int)address.CountryId);

                var newRequest = new ClientDashboardRequest
                {
                    Address   = country.Name + ", " + address.ZipCode + ", " + address.City,
                    Date      = request.Date,
                    Price     = request.Price,
                    RequestId = request.RequestId
                };

                IsPendingVisible        = true;
                IsPendingMessageVisible = false;
                PendingRequests.Add(newRequest);
            }
            PendingHeight = PendingRequests.Count * 36;
        }
コード例 #3
0
        public async Task ChangePassword()
        {
            if (!IsValid())
            {
                return;
            }

            UserId = int.Parse(JWTService.DecodeJWT());

            var request = new PasswordChangeRequest
            {
                ConfirmPassword = ConfirmPassword,
                CurrentPassword = CurrentPassword,
                NewPassword     = NewPassword
            };

            try
            {
                await _authService.ChangePassword(UserId, request);

                ShowMessage = true;
                ClearFields();
            }
            catch
            {}
        }
コード例 #4
0
        public async Task Init()
        {
            IsLoaded = true;
            _userId  = int.Parse(JWTService.DecodeJWT());
            var user = await _authService.GetById(_userId);

            IsSupplier = JWTService.DecodeJWTRole() == Role.Supplier;
            IsClient   = !IsSupplier;
            InitProperties(user);
            IsLoaded = true;
        }
コード例 #5
0
        private void InitRequest(Request request)
        {
            Date  = request.Date;
            Price = request.Price;
            Rooms = request.Rooms;
            TransportDistanceApprox = request.TransportDistanceApprox;
            TotalWeightApprox       = request.TotalWeightApprox;
            StatusId = request.StatusId;
            ClientId = request.ClientId;
            UserId   = int.Parse(JWTService.DecodeJWT());

            if (request.AdditionalInformation == null || request.AdditionalInformation == "")
            {
                AdditionalInformation = "No additional information";
            }
            else
            {
                AdditionalInformation = request.AdditionalInformation;
            }
        }
コード例 #6
0
        public async Task Init()
        {
            _userId = int.Parse(JWTService.DecodeJWT());
            var user = await _authService.GetById(_userId);

            AddressId = (int)user.AddressId;
            var address = await _addressService.GetById <Address>((int)user.AddressId);

            InitProperties(address);

            var countries = await _countryService.GetAll <List <Country> >();

            foreach (var item in countries)
            {
                CountryList.Add(item);
                if (item.CountryId == address.CountryId)
                {
                    SelectedCountry = item;
                }
            }
            SelectedIndex = (int)address.CountryId;
        }
コード例 #7
0
        public async Task Init()
        {
            OfferList.Clear();

            var id     = int.Parse(JWTService.DecodeJWT());
            var search = new Model.Requests.OfferSearchRequest
            {
                UserId = id
            };

            var offerList = await _offerService.GetAll <List <Offer> >(search);

            OfferList.Clear();

            foreach (var item in offerList)
            {
                var request = await _requestService.GetById <Request>(item.RequestId);

                var address = await _addressService.GetById <Address>(request.DeliveryAddress);

                var status = await _offerStatusService.GetById <Model.OfferStatus>(item.OfferStatusId);

                var offer = new MyOffers
                {
                    Address     = address.City,
                    IsActive    = item.OfferStatusId == (int)Models.OfferStatus.Active,
                    IsRejected  = item.OfferStatusId == (int)Models.OfferStatus.Rejected,
                    IsAccepted  = item.OfferStatusId == (int)Models.OfferStatus.Accepted,
                    IsFinished  = item.OfferStatusId == (int)Models.OfferStatus.Finished,
                    OfferId     = item.OfferId,
                    Price       = request.Price,
                    RequestId   = item.RequestId,
                    OfferStatus = status.Name
                };

                OfferList.Add(offer);
            }
        }
コード例 #8
0
 public NotificationsViewModel()
 {
     UserId      = int.Parse(JWTService.DecodeJWT());
     InitCommand = new Command(async() => await Init());
 }
コード例 #9
0
        private async Task InitFieldsVisibility()
        {
            _userId = int.Parse(JWTService.DecodeJWT());

            var offerRequest = new OfferSearchRequest
            {
                RequestId     = Id,
                OfferStatusId = (int)Models.OfferStatus.Accepted
            };

            var allAcceptedOffers = await _offerService.GetAll <List <Offer> >(offerRequest);

            offerRequest.UserId = _userId;

            var acceptedOffers = allAcceptedOffers.Where(a => a.UserId == _userId).ToList();

            offerRequest.OfferStatusId = (int)Models.OfferStatus.Active;
            var activeOffers = await _offerService.GetAll <List <Offer> >(offerRequest);

            offerRequest.OfferStatusId = (int)Models.OfferStatus.Finished;
            var finishedOffers = await _offerService.GetAll <List <Offer> >(offerRequest);

            offerRequest.OfferStatusId = (int)Models.OfferStatus.Rejected;
            var rejectedOffers = await _offerService.GetAll <List <Offer> >(offerRequest);


            if (activeOffers.Count == 0 && acceptedOffers.Count == 0 && finishedOffers.Count == 0 && allAcceptedOffers.Count == 0)
            {
                SendOfferVisible = true;
            }
            else
            {
                SendOfferVisible = false;
            }

            if (finishedOffers.Count > 0)
            {
                OfferSendMessageVisible = false;
                OfferRejected           = false;
                OfferFinished           = true;
                OfferAcceptedVisible    = false;
            }
            else if (activeOffers.Count > 0)
            {
                OfferSendMessageVisible = true;
                OfferRejected           = false;
                OfferFinished           = false;
                OfferAcceptedVisible    = false;
            }
            else if (acceptedOffers.Count > 0)
            {
                OfferSendMessageVisible = false;
                OfferRejected           = false;
                OfferFinished           = false;
                OfferAcceptedVisible    = true;
            }
            else if (rejectedOffers.Count > 0)
            {
                OfferSendMessageVisible = false;
                OfferRejected           = true;
                OfferFinished           = false;
                OfferAcceptedVisible    = false;
            }
        }