public async Task <bool> AddCommentsEdit(int id, AddCommentToServiceRequestModel addCm) { var url = String.Format(UrlHelper.ServiceRequestView + id); var result = await PutAsync <AddCommentToServiceRequestModel>(url, addCm); if (result == "{\"success\":true}") { return(true); } else { return(false); } }
protected override async void OnAppearing() { messages = new ObservableCollection <CommentOrMessageViewModel>(); try { _busy = UserDialogs.Instance.Loading(MessageHelper.Loading); if (_serviceRequestId != 0) { ServiceRequestService _serviceRequestService = new ServiceRequestService(); var result = await Task.Run(() => _serviceRequestService.GetServiceRequestById(_serviceRequestId)); this.srs = result; Title = "Service Request ID - " + _serviceRequestId; } lblCreatedBy.Text = srs.ServiceReq.CreatedUser.ToString(); lblCreatedDate.Text = srs.ServiceReq.CreatedDate.Substring(0, 10); lblLastUpdate.Text = getLastUpdated(Convert.ToDateTime(srs.ServiceReq.UpdatedDate)); lblHouse.Text = srs.ServiceReq.House.ToString(); lblPrfDate.Text = srs.ServiceReq.PreferredDate.Substring(0, 10); lblPrfTime.Text = srs.ServiceReq.PreferredTimings; if (srs.ServiceReq.Closed) { lblStatus.Text = "Closed"; } else { lblStatus.Text = "Open"; } lblCloseDate.Text = srs.ServiceReq.ClosedDate; lblSubject.Text = srs.ServiceReq.Subject; var coments = srs.srmessages.Select(c => new CommentOrMessageViewModel { Id = c.Id, ServiceId = c.ServiceRequest, Title = c.Content, CreatedBy = Convert.ToString(c.CreatedUser), CreatedDate = Convert.ToDateTime(c.CreatedDate), }).ToList(); foreach (var item in coments) { messages.Add(item); } ServiceRequestView.ItemsSource = messages; var tapGesture = new TapGestureRecognizer(); tapGesture.Tapped += async(sender, e) => { if (CrossConnectivity.Current.IsConnected) { if (AddComments.Text == null || AddComments.Text == "") { UserDialogs.Instance.Alert(MessageHelper.EnterMessage); } else { AddCommentToServiceRequestModel addcom = new AddCommentToServiceRequestModel(); addcom.Content = AddComments.Text; var service = DependencyService.Get <IServiceRequest>(); var result = await service.AddCommentsEdit(srs.ServiceReq.Id, addcom); if (result) { AddComments.Text = ""; messages.Add(new CommentOrMessageViewModel { Title = addcom.Content, CreatedBy = srs.ServiceReq.CreatedUser, CreatedDate = DateTime.Now }); ServiceRequestView.ItemsSource = messages; MessageHelper.ShowToast(ToastNotificationType.Success, MessageHelper.CommentSucess); } else { MessageHelper.ShowToast(ToastNotificationType.Error, "Failure"); } } } else { UserDialogs.Instance.ErrorToast(MessageHelper.NoInternet); } }; CommentButton.GestureRecognizers.Add(tapGesture); } catch (Exception) { if (!CrossConnectivity.Current.IsConnected) { UserDialogs.Instance.ErrorToast(MessageHelper.NoInternet); } } finally { _busy.Hide(); } base.OnAppearing(); }