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); } }
public bool Validate_File(string _fileName, string Token, int _event_id, string upload_id, string forIntimation = "") { // List<string>ErrorFile = new List<string>(); int LineNum = 1; List <CommonValidation.ErrorFile_list> _ErrorFile = new List <CommonValidation.ErrorFile_list>(); foreach (string Line in File.ReadAllLines(_fileName)) { string record_type = Line.Substring(0, 2); string NewLine = Line.Remove(0, 3); try { switch (record_type) { case "00": string[] _obj_array = NewLine.Split('~'); Header _objHeader = new Header() { Batch_No = _obj_array[0], ISIN = _obj_array[1], Event_No = _obj_array[2] }; // ErrorFile.AddRange(CommonValidation.GetHeaderErrors(_obj)); if (_event_id != Convert.ToInt32(_obj_array[2])) { throw new CustomException.InvalidFileRejected(); } else { CommonValidation.ErrorFile_list new_objHeader = new CommonValidation.ErrorFile_list(); new_objHeader.LineNum = LineNum; new_objHeader.ErrorResponse = CommonValidation.GetHeaderErrors(_objHeader); if (new_objHeader.ErrorResponse.Count > 0) { _ErrorFile.Add(new_objHeader); } break; } case "01": // var checkDetail = NewLine.Split('~').Cast<Detail>(); string[] _obj_DetailArray = NewLine.Split('~'); Detail _ObjDetail = new Detail() { Sr_no = _obj_DetailArray[0], Unkn1 = _obj_DetailArray[1], DPCL = _obj_DetailArray[2], PAN = _obj_DetailArray[3], AccNo = _obj_DetailArray[4], Unkn2 = _obj_DetailArray[5], shares = _obj_DetailArray[6], Name = _obj_DetailArray[7], JT1 = _obj_DetailArray[8], JT2 = _obj_DetailArray[9], ADD1 = _obj_DetailArray[10], ADD2 = _obj_DetailArray[11], ADD3 = _obj_DetailArray[12], City = _obj_DetailArray[13], state = _obj_DetailArray[14], Country = _obj_DetailArray[15], Pin = _obj_DetailArray[16], DOB = _obj_DetailArray[17], Unkn3 = _obj_DetailArray[18], Mobile = _obj_DetailArray[19], Email = _obj_DetailArray[20], Unkn4 = _obj_DetailArray[21], }; CommonValidation.ErrorFile_list new_objDetail = new CommonValidation.ErrorFile_list(); new_objDetail.LineNum = LineNum; new_objDetail.ErrorResponse = CommonValidation.GetDetailErrors(_ObjDetail); if (new_objDetail.ErrorResponse.Count > 0) { _ErrorFile.Add(new_objDetail); } 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, Token); //return false; int getreturnint = 0; getreturnint = WriteErrorFile(_ErrorFile, Token, _fileName, _event_id, upload_id, forIntimation); if (getreturnint == 1) { return(true); } else { return(false); } } else { return(true); } }