private async void btnSendReview_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtCarOvner.Text) || string.IsNullOrEmpty(txtReview.Text))
            {
                MessageBox.Show(@"Поле Номер 'Имя владельца авто' и 'Отзыв' обязательны для заполнения");
                return;
            }

            var currentStatus = PanelRefresh.StartRefresh(this, pbReview);
            await Task.Run(() =>
            {
                var review = new Review
                {
                    ReviewDateTime = DateTime.Now,
                    SourceUrl = null,
                    UserName = txtCarOvner.Text,
                    UserReview = txtReview.Text
                };
                history.Review = review;
                RequestExecutor.Execute(()=>
                {
                    var result = WCFServiceFactory.CreateVtecTeamService().UpdateReflashHistory(history);

                    this.Invoke(() => pbReview.Image = !result ? Properties.Resources.Error : null);
                    MessageBox.Show(result ? "Запрос успешно отправлен" : "Не удалось отправить запрос.");
                });
                
            });
            pbReview.Visible = false;
            PanelRefresh.StopRefresh(currentStatus);
        }
 public bool SendReview(Review review, string token)
 {
     ITokenValidator validator = new DatabaseTokenValidator();
     if (validator.IsValid(token))
         return new VtecTeamDBManager().SendReview(review);
     throw new FaultException("Срок рабочей сессии истек, преезапустите программу");
 }
 public bool SendReview(Review review)
 {
     return vtServiceFacade.SendReview(review, incomingUserInfo);
 }