public MeetingLabelItemDataCreatePageViewModel(INavigationService navigationService) : base(navigationService) { _restService = new RestService(); _operateDateTime = new OperateDateTime(); _createMeetingLabelItemValidation = new CreateMeetingLabelItemValidation(); _tokenCheckValidation = new TokenCheckValidation(_restService); _applicationProperties = new ApplicationProperties(); _meetingLabelItemDatas = new ObservableCollection <MeetingLabelItemData>(); _createMeetingLabelItemParam = new CreateMeetingLabelItemParam(); _additionalMeetingLabelItemDatas = new List <MeetingLabelItemData>(); //会議の各ラベルに項目(Item)を追加するコマンド CreateMeetingLabelItemCommand = new DelegateCommand(async() => { //項目入力値のバリデーション CreateMeetingLabelItemParam = _createMeetingLabelItemValidation.InputValidate(InputLabelItemName); if (CreateMeetingLabelItemParam.HasError == true) { return; } //uid取得の際のtoken情報照合 TokenCheckParam = await _tokenCheckValidation.Validate(_applicationProperties.GetFromProperties <TokenData>("token")); var inputUid = 0; if (TokenCheckParam.HasError == true) { return; } else { //token情報照合に成功したらuid取得 GetUserParam = await _restService.GetUserDataAsync(UserConstants.OpenUserEndPoint, _applicationProperties.GetFromProperties <string>("userId")); if (GetUserParam.HasError == true) { return; } else { //userDataの取得に成功したらuidを代入 var userData = GetUserParam.User; inputUid = userData.Id; } } var meetingLabelItemData = new MeetingLabelItemData(TargetMeetingLabel.Id, inputUid, InputLabelItemName); MeetingLabelItemDatas.Add(meetingLabelItemData); AdditionalMeetingLabelItemDatas.Add(meetingLabelItemData); InputLabelItemName = ""; }); }
public void CreateMeetingLabelItem_AddValidate_Success() { var createMeetingLabelItemValidation = new CreateMeetingLabelItemValidation(); var testMeetingLabelItemDatas = new List <MeetingLabelItemData>(); var testMeetingLabelItemData = new MeetingLabelItemData(1, 2, "test"); testMeetingLabelItemDatas.Add(testMeetingLabelItemData); var result = createMeetingLabelItemValidation.AddValidate(testMeetingLabelItemDatas); Assert.IsTrue(result.IsSuccessed); Assert.IsFalse(result.HasError); }
/// <summary> /// 会議ラベルに対する項目を追加するAPIのコール /// </summary> /// <param name="uri">コールするURL</param> /// <param name="meetingLabelItem">追加する項目の情報</param> /// <returns>CreateMeetingLabelItemParam</returns> public async Task <CreateMeetingLabelItemParam> CreateMeetingLabelItemDataAsync(string uri, MeetingLabelItemData meetingLabelItem) { var json = JsonConvert.SerializeObject(meetingLabelItem); var createMeetingLabelItemParam = new CreateMeetingLabelItemParam(); try { var content = new StringContent(json, Encoding.UTF8, "application/json"); var response = await _client.PostAsync(uri, content); if (response.IsSuccessStatusCode) { string responseContent = await response.Content.ReadAsStringAsync(); Console.WriteLine(responseContent); createMeetingLabelItemParam.IsSuccessed = response.IsSuccessStatusCode; return(createMeetingLabelItemParam); } } catch (Exception ex) { Debug.WriteLine("\tERROR {0}", ex.Message); } return(createMeetingLabelItemParam); }