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());