public static List <string> GetCustodianDetailErrors(ROM_Detail _obj) { List <string> ErrorResult = new List <string>(); ValidationContext _context = new ValidationContext(_obj); List <ValidationResult> _results = new List <ValidationResult>(); bool Valid = Validator.TryValidateObject(_obj, _context, _results, true); if (!Valid) { foreach (var item in _results) { ErrorResult.Add(item.ErrorMessage); } } return(ErrorResult); }
public bool Validate_File(string _fileName) { // List<string>ErrorFile = new List<string>(); int LineNum = 1; List <CommonValidation.ErrorFile_list> _ErrorFile = new List <CommonValidation.ErrorFile_list>(); // Object _obj_Header; foreach (string Line in File.ReadAllLines(_fileName)) { string record_type = Line.Substring(0, 1); string NewLine = Line.Remove(0, 2); try{ switch (record_type) { case "0": string[] _obj_array = NewLine.Split('~'); ROM_Header _objHeader = new ROM_Header() { Batch_No = _obj_array[0], Event_No = _obj_array[1], Count = _obj_array[2], Shares = _obj_array[3] }; // _obj_Header = _objHeader; // ErrorFile.AddRange(CommonValidation.GetHeaderErrors(_obj)); CommonValidation.ErrorFile_list new_objHeader = new CommonValidation.ErrorFile_list(); new_objHeader.LineNum = LineNum; new_objHeader.ErrorResponse = CommonCustodianValidation.GetCustodianHeaderErrors(_objHeader); if (new_objHeader.ErrorResponse.Count > 0) { _ErrorFile.Add(new_objHeader); } break; case "1": // var checkDetail = NewLine.Split('~').Cast<Detail>(); string[] _obj_DetailArray = NewLine.Split('~'); ROM_Detail _ObjDetail = new ROM_Detail() { Sr_no = _obj_DetailArray[0], DPCL = _obj_DetailArray[1], ResolutionId = _obj_DetailArray[2], InFavourShares = _obj_DetailArray[3], NotInFavourShares = _obj_DetailArray[4], AbstainShares = _obj_DetailArray[5], TotalShares = _obj_DetailArray[6], }; CommonValidation.ErrorFile_list new_objDetail = new CommonValidation.ErrorFile_list(); new_objDetail.LineNum = LineNum; new_objDetail.ErrorResponse = CommonCustodianValidation.GetCustodianDetailErrors(_ObjDetail); if (new_objDetail.ErrorResponse.Count > 0) { _ErrorFile.Add(new_objDetail); } break; case "2": // var checkDetail = NewLine.Split('~').Cast<Detail>(); string[] _obj_TransactionArray = NewLine.Split('~'); ROM_Transactioin _ObjTransaction = new ROM_Transactioin() { Sr_no = _obj_TransactionArray[0], TransResolutionId = _obj_TransactionArray[1], TransInFavShares = _obj_TransactionArray[2], TransNotInFavShares = _obj_TransactionArray[3], TransAbstainShares = _obj_TransactionArray[4], }; CommonValidation.ErrorFile_list new_objTransaction = new CommonValidation.ErrorFile_list(); new_objTransaction.LineNum = LineNum; new_objTransaction.ErrorResponse = CommonCustodianValidation.GetCustodianTransactionErrors(_ObjTransaction); if (new_objTransaction.ErrorResponse.Count > 0) { _ErrorFile.Add(new_objTransaction); } break; } } catch (Exception ex) { CommonValidation.ErrorFile_list new_objDetail = new CommonValidation.ErrorFile_list(); new_objDetail.LineNum = LineNum; new_objDetail.ErrorResponse = new List <string>() { ex.Message }; } finally { LineNum++; } } if (_ErrorFile.Count > 0) { WriteErrorFile(_ErrorFile); return(false); } else { return(true); } }