Как исправить «Невозможно конвертировать из« bool »Customer.Data.SelectTransactionViewModel» - PullRequest
0 голосов
/ 21 января 2019

У меня есть класс и контроллер, как показано ниже

//class
public class Payment
 {  
   public Guid ID { get; set; }
   public string InvoiceNumber { get; set; }
   public string ContactNumber { get; set; }
   public string ConsumerName { get; set; }
 }

 //viewmodel
 public class SelectTransaksiEditorViewModel
 {
    public Guid? Id { get; set; }
    public string InvoiceNumber { get; set; }
    public string ContractNumber { get; set; }
    public string ConsumerName { get; set; }
 }

 public class TransaksiSelectionViewModel
 {
    public List<SelectTransaksiEditorViewModel> Transactions { get; set; }
    public TransaksiSelectionViewModel()
    {
        this.Transactions = new List<SelectTransaksiEditorViewModel>();
    }
 }

 public class DataViewModel
 {
    public TransaksiSelectionViewModel transaksiSelectionViewModel { get; set; }
 }

//controller
public ActionResult Index(int? page,string searchInvoiceNumber)
{
     private DataViewModel dataViewModel = new DataViewModel();
    var model = new TransaksiSelectionViewModel();
    IPagedList<Payment> Payments= null;
    Payments = paymentRepo.GetList_Payments_InTableManualPayment(pageSize, pageNumber);

    foreach (var item in Payments )
    {
       var editorViewModel = new SelectTransaksiEditorViewModel()
       {
          Id = item.ID,
          InvoiceNumber = item.InvoiceNumber,
          ContractNumber = item.ContractNumber,
          ConsumerName = item.ConsumerName,   
       };

       if (!String.IsNullOrEmpty(searchInvoiceNumber))
       {
          var data = editorViewModel.InvoiceNumber.Contains(searchInvoiceNumber);
          model.Transactions.Add(data); //error is here
       } else {
          model.Transactions.Add(editorViewModel);
       }                   
    }
    dataViewModel.transaksiSelectionViewModel = model;
    return View(dataViewModel);
}

Я перечислил все данные в таблице. и я хочу отфильтровать все списки на основе введенного номера счета. и я получаю ошибку при создании функции поиска invoiceNumber. почему я получаю эту ошибку? пожалуйста помоги. спасибо:)

не может преобразовать из 'bool' в 'CRUDExercise.ViewModel.SelectTransaksiEditorViewModel'

1 Ответ

0 голосов
/ 21 января 2019

Ошибка связана с этим кодом:

var data = editorViewModel.InvoiceNumber.Contains(searchInvoiceNumber);
model.Transactions.Add(data);

Первая строка оценивает выражение и возвращает результат как true или false, и вы добавляете результат boolean в вашу модель, тогда как он ожидает SelectTransaksiEditorViewModel, следовательно, ошибку.

Как подсказывает @Tetsuya Yamamoto, вам нужно получить Список платежей и поставить его на проверку, или вы можете изменить свой код следующим образом:

    public ActionResult Index(int? page, string searchInvoiceNumber)
    {
        private DataViewModel dataViewModel = new DataViewModel();
        var model = new TransaksiSelectionViewModel();
        IPagedList<Payment> Payments = null;
        Payments = paymentRepo.GetList_Payments_InTableManualPayment(pageSize, pageNumber);

       var editorViewModelList = new List<SelectTransaksiEditorViewModel>();
       foreach (var item in Payments )
       {
            var editorViewModel = new SelectTransaksiEditorViewModel()
            {
                Id = item.ID,
                InvoiceNumber = item.InvoiceNumber,
                ContractNumber = item.ContractNumber,
                ConsumerName = item.ConsumerName,
            };

            if (!String.IsNullOrEmpty(searchInvoiceNumber))
            {
              if (editorViewModel.InvoiceNumber.Contains(searchInvoiceNumber))
              {
                   editorViewModelList.Add(editorViewModel);
              }
            }
         }
      model.Transactions.Add(editorViewModelList);
      dataViewModel.transaksiSelectionViewModel = model;
      return View(dataViewModel);
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...