Linq query for list of strings assign to ViewModel in C#.net?

This is my model

class BaseModel
{
  public string Status{get;set;}
  public List<Error>  Errors{get;set;}
}

class Error
{
 public  string Code {get;set;}
 public  string Message {get;set;}
}

I have list of error messages like .

var errors = validator.Errors.Select(e => e.ErrorMessage).ToList();

I write the for loop code as following

BaseModel response=new BaseModel();
 for (int i = 0; i < errors.Count; i++)
 {
     response.Errors[i].Message = errors[i];                        
 }

But i want to write same use linq query in c#.net. I tries the following code but its error.

 response.Errors = new List<Error> { new Error { Message = errors, Code = "500" } };

Upvotes: 0

Views: 123

Answers (2)

Hari Prasad
Hari Prasad

Reputation: 16956

You could create an Error instance for each validator error.

response.Errors = validator.Errors
                  .Select(e => new Error 
                  { 
                       Message = e.ErrorMessage, 
                       Code = "500"  // use actual value.
                  }).ToList();

Upvotes: 1

Satpal
Satpal

Reputation: 133423

You can use Select() to create Error class object like

BaseModel response=new BaseModel();
response.Errors = validator.Errors
                  .Select(e => new Error 
                  {
                       Message = e.ErrorMessage, 
                       Code = "500"
                  }).ToList();

Upvotes: 1

Related Questions