Having following blocks of code, is there an elegant way to wrap them up to reduce redundancy of codes, such as the repeating String.IsNullOrWhiteSpace and the checking of "1" or "0" for mapping of the boolean field. Is it possible to put them inside a dictionary first and first and write a method to map the dictionary to the model properties. Something like this: Mapping object to dictionary and vice versa
but the problem is different property of model is having different datatype
string[] stringValue = data.Split(',');
model.Field1 = String.IsNullOrWhiteSpace(stringValue[4].Trim()) ? 0 : int.Parse(stringValue[4].Trim());
model.Field2 = !String.IsNullOrWhiteSpace(stringValue[5].Trim()) && (stringValue[5].Trim() == "1");
model.Field3 = String.IsNullOrWhiteSpace(stringValue[6].Trim()) ? null : stringValue[6].Trim();
model.Field4 = String.IsNullOrWhiteSpace(stringValue[7].Trim()) ? 0 : int.Parse(stringValue[7].Trim());
model.Field5 = String.IsNullOrWhiteSpace(stringValue[8].Trim()) ? 0 : int.Parse(stringValue[8].Trim());
model.Field6 = String.IsNullOrWhiteSpace(stringValue[9].Trim()) ? 0 : int.Parse(stringValue[9].Trim());
model.Field7 = String.IsNullOrWhiteSpace(stringValue[10].Trim()) ? 0 : int.Parse(stringValue[10].Trim());
model.Field8 = String.IsNullOrWhiteSpace(stringValue[11].Trim()) ? 0 : int.Parse(stringValue[11].Trim());
model.Field9 = String.IsNullOrWhiteSpace(stringValue[12].Trim()) ? 0 : int.Parse(stringValue[12].Trim());
model.Field10 = String.IsNullOrWhiteSpace(stringValue[13].Trim()) ? 0 : int.Parse(stringValue[13].Trim());
model.Field11 = String.IsNullOrWhiteSpace(stringValue[14].Trim()) ? null : stringValue[14].Trim();
model.Field12 = String.IsNullOrWhiteSpace(stringValue[15].Trim()) ? null : stringValue[15].Trim();
model.Field13 = String.IsNullOrWhiteSpace(stringValue[16].Trim()) ? 0 : double.Parse(stringValue[16].Trim());
model.Field14 = String.IsNullOrWhiteSpace(stringValue[17].Trim()) ? 0 : int.Parse(stringValue[17].Trim());
model.Field15 = String.IsNullOrWhiteSpace(stringValue[18].Trim()) ? 0 : double.Parse(stringValue[18].Trim());
model.Field16 = String.IsNullOrWhiteSpace(stringValue[19].Trim()) ? 0 : double.Parse(stringValue[19].Trim());
model.Field17 = String.IsNullOrWhiteSpace(stringValue[20].Trim()) ? null : stringValue[20].Trim();
model.Field18 = String.IsNullOrWhiteSpace(stringValue[21].Trim()) ? 0 : double.Parse(stringValue[21].Trim());
model.Field19 = String.IsNullOrWhiteSpace(stringValue[22].Trim()) ? 0 : double.Parse(stringValue[22].Trim());