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);
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }