コード例 #1
0
        private async Task CommitmentStateChanged(Party party)
        {
            var message = string.Empty;
            PartyCommitmentState nextState = PartyCommitmentState.Noted;

            //Find the next logical commitment state
            if (party.CommitmentState == PartyCommitmentState.Rejected)
            {
                nextState = PartyCommitmentState.Noted;
                message   = AppResources.NotingParty;
            }


            if (party.CommitmentState == PartyCommitmentState.Noted)
            {
                nextState = PartyCommitmentState.Accepted;
                message   = AppResources.AcceptingParty;
            }

            if (party.CommitmentState == PartyCommitmentState.Accepted)
            {
                nextState = PartyCommitmentState.Rejected;
                message   = AppResources.RejectingParty;
            }

            using (UserDialogs.Instance.Loading(message))
            {
                party.CommitmentStatePending = true;
                await _dataService.ChangeCommitmentState(party.Id, nextState);

                party.CommitmentStatePending = false;
            }
        }
コード例 #2
0
        private async Task ChangeCommitmentState(Party party, PartyCommitmentState commitmentState)
        {
            using (UserDialogs.Instance.Loading(commitmentState + " " + AppResources.Party))
            {
                var result = await _dataService.ChangeCommitmentState(party.Id, commitmentState);

                _alertService.CommitmentStateChangedAlert(commitmentState, result.Success);
            }
        }
コード例 #3
0
        public void CommitmentStateChangedAlert(PartyCommitmentState noted, bool success)
        {
            var message = success
                ? string.Format(AppResources.CommitmentStateChangedTo, noted)
                : AppResources.CommitmentChangeFailed;

            var toastConfig = CreateToastConfig(message, success ? ToastState.Success : ToastState.Failure);

            UserDialogs.Instance.Toast(toastConfig);
        }
コード例 #4
0
 private void CommitmentStateChanged(PartyCommitmentState partyCommitmentState)
 {
     if (partyCommitmentState == PartyCommitmentState.Rejected)
     {
         RejectParty();
     }
     else if (partyCommitmentState == PartyCommitmentState.Accepted)
     {
         AcceptParty();
     }
     else if (partyCommitmentState == PartyCommitmentState.Noted)
     {
         NoteParty();
     }
 }
コード例 #5
0
        public async Task <Result> ChangeCommitmentState(Guid partyId, PartyCommitmentState commitmentState)
        {
            if (!await CheckIfTokenIsValid())
            {
                return new Result
                       {
                           NeedLogin = true
                       }
            }
            ;

            dynamic bodyObject = new ExpandoObject();

            bodyObject.eventCommitment = commitmentState;


            Result result =
                await
                _clientService.SendRequest("/api/UserParty/commitmentState", RestType.Put,
                                           urlQuery : "?id=" + partyId.ToString("D"), bodyParameter : bodyObject, token : Token.AccessToken);

            if (result.Success)
            {
                foreach (Party interestingParty in InterestingPartys)
                {
                    if (interestingParty.Id == partyId)
                    {
                        interestingParty.CommitmentState = commitmentState;
                        if (commitmentState == PartyCommitmentState.Noted)
                        {
                            SelectedPartys.Add(interestingParty);
                        }
                        break;
                    }
                }

                foreach (Party interestingParty in SelectedPartys)
                {
                    if (interestingParty.Id == partyId)
                    {
                        interestingParty.CommitmentState = commitmentState;
                        break;
                    }
                }
            }

            return(result);
        }