Ejemplo n.º 1
0
        private bool CheckAndCreateMaskedFile(string _FileName, string _MetaFileName)
        {
            bool _return = false;

            Logger.Trace("STARTED: CheckAndCreateMaskedFile Method.");
            try
            {
                FileProcessingModel _fileProcessingModel = null;
                bool IsProcessed = false;
                try
                {
                    FileExtn _fileExt = new FileExtn();

                    FileExtnType _fileExtTyp = new FileExtnType();
                    if (_FileName.ToUpper().Trim().Contains(Nbs_East))
                    {
                        _fileExt = FileExtn.TXT;
                    }

                    else
                    {
                        _fileExt = (FileExtn)Enum.Parse(typeof(FileExtn), FileIOService.GetFileExtension(_FileName).Split('.')[1].ToUpper());
                    }

                    if (_fileExt.ToString().ToUpper() == Convert.ToString(FileExtn.TXT))
                    {
                        _fileExtTyp = (FileExtnType)GetFileExtensionAndTypeDictionary()
                                      .FirstOrDefault(x => x.Key == Convert.ToString(_fileExt)).Value.Key;
                    }
                    _fileProcessingModel = new FileProcessingModel
                    {
                        InputFileName                  = FileIOService.GetFileName(_FileName),
                        InputFileNameExtension         = FileIOService.GetFileExtension(_FileName),
                        InputFileStream                = FileIOService.GetFileStream(_FileName),
                        InputMetadataFileName          = FileIOService.GetFileName(_MetaFileName),
                        InputMetadataFileNameExtension = FileIOService.GetFileExtension(_MetaFileName),
                        InputMetaDataFileStream        = FileIOService.GetFileStream(_MetaFileName),
                        FileExtensionType              = _fileExtTyp,
                        FileExtension                  = _fileExt
                    };
                    IsProcessed = true;
                    Logger.Trace(string.Format("STARTED: Processing of file: {0}", _FileName));
                }
                catch (Exception e) { IsProcessed = false; }

                if (IsProcessed)
                {
                    //DataMasking *****Started****
                    Logger.Trace("STARTED: DataMasking Process");
                    DataSet dsMaskingSource = new DataSet();
                    dsMaskingSource.Clear();
                    dsMaskingSource = FileIOService.GetMaskingSourceDataSet();

                    FileProcessingModel model = DataMaskingService.DataMaskingFileProcessing(dsMaskingSource, _FileName, _MetaFileName, _fileProcessingModel);
                    _fileProcessingModel.HasOutputFileDetails = (model == null ? false : model.HasOutputFileDetails);
                    _fileProcessingModel.HasOutputErrors      = (model == null ? true : model.HasOutputErrors);

                    Logger.Trace("ENDED: DataMasking Process");
                    //DataMasking *****Ended****

                    if (!_fileProcessingModel.HasOutputErrors && _fileProcessingModel.HasOutputFileDetails)
                    {
                        _fileProcessingModel.OutputFileName                  = "Masked_" + _fileProcessingModel.InputFileName;
                        _fileProcessingModel.OutputFileNameExtension         = _fileProcessingModel.InputFileNameExtension;
                        _fileProcessingModel.OutputMetadataFileName          = "Masked_" + _fileProcessingModel.InputMetadataFileName;
                        _fileProcessingModel.OutputMetadataFileNameExtension = _fileProcessingModel.InputMetadataFileNameExtension;

                        string outputFileName         = ConfigHelper.Model.OutputFilePathLocation_Local + Path.DirectorySeparatorChar + _fileProcessingModel.OutputFileName + _fileProcessingModel.OutputFileNameExtension;
                        string outputMetadataFileName = ConfigHelper.Model.OutputFilePathLocation_Local + Path.DirectorySeparatorChar + _fileProcessingModel.OutputMetadataFileName + _fileProcessingModel.OutputMetadataFileNameExtension;

                        bool retOutputFile     = FileIOService.CreateFileFromFileStream(outputFileName, _fileProcessingModel.OutputDataFileBytes);
                        bool retOutputMetaFile = FileIOService.CopyFile(_MetaFileName, outputMetadataFileName);


                        Logger.Trace(string.Format("ENDED: Processing of file: {0}", _FileName));

                        if (retOutputFile && retOutputMetaFile)
                        {
                            _ = RemoveInputFiles(_FileName, _MetaFileName);

                            Logger.Trace(string.Format("SUCCESS: Output file generated successfully - {0}", outputFileName));
                            _return = true;
                        }
                        else
                        {
                            Logger.Trace("DISCARDED: Output Error");
                            _return = false;
                            _       = MoveFilesToOutputDiscarded(_FileName, _MetaFileName);
                        }
                    }
                    else
                    {
                        Logger.Trace("DISCARDED: Output Error");
                        _return = false;
                        _       = MoveFilesToOutputDiscarded(_FileName, _MetaFileName);
                    }
                }
                else
                {
                    Logger.Trace("DISCARDED: INPUT Error");
                    _return = false;
                    _       = MoveFilesToInputDiscarded(_FileName, _MetaFileName);
                }
            }
            catch (Exception ex)
            {
                _return = false;
                Logger.Error(ex, "CheckAndCreateMaskedFile");
                Logger.Trace("DISCARDED: Output Error");
                _ = MoveFilesToOutputDiscarded(_FileName, _MetaFileName);
            }
            Logger.Trace("ENDED: CheckAndCreateMaskedFile Method");
            return(_return);
        }
        private void LoadFormStartupData()
        {
            cmbxProduct.ContextMenu  = new ContextMenu();  //disable right click
            cmbxWorkflow.ContextMenu = new ContextMenu();
            try
            {
                cmbxWorkflow.DataSource    = new BindingSource(GetWorkflowDictionary(), null);
                cmbxWorkflow.DisplayMember = "Value";
                cmbxWorkflow.ValueMember   = "Key";


                cmbxProduct.DataSource    = new BindingSource(GetProductDictionary(), null);
                cmbxProduct.DisplayMember = "Value";
                cmbxProduct.ValueMember   = "Key";
            }
            catch (Exception)
            {
            }
            txtSettingName.Text      = string.Empty;
            txtStartPos.Text         = string.Empty;
            txtFieldLength.Text      = string.Empty;
            txtDelimitedColumns.Text = string.Empty;
            DataRow drSource = dtSource.Rows.Find(ParentSourceId);

            txtConfigName.Text     = Convert.ToString(drSource["ConfigurationName"]);
            txtFileExtensions.Text = Convert.ToString(drSource["FileExtensionTargets"]);
            txtRecordTypes.Text    = Convert.ToString(drSource["RecordType"]);
            FileExtensionType      = (FileExtnType)GetFileExtensionTypeDictionary().FirstOrDefault(x => x.Value == Convert.ToString(drSource["FileExtnType"])).Key;
            txtFileExtnType.Text   = FileExtensionType.ToString();
            if (FileExtensionType == FileExtnType.PrintImageSD)
            {
                txtStartPos.Enabled         = true;
                txtFieldLength.Enabled      = true;
                txtDelimitedColumns.Enabled = false;
                txtPath.Enabled             = false;
                txtFieldName.Enabled        = false;
                txtRowNo.Enabled            = true;
                if (Mode == Enums.FormMode.Edit)
                {
                    btnSave.Visible = false;
                    DataRow drChild = dtConfiguration.Rows.Find(ChildConfigurationId);
                    txtSettingName.Text      = Convert.ToString(drChild["SettingName"]);
                    txtPageNumber.Text       = Convert.ToString(drChild["PageNumber"]);
                    txtRowNo.Text            = Convert.ToString(drChild["RowNo"]);
                    txtStartPos.Text         = Convert.ToString(drChild["StartPos"]);
                    txtFieldLength.Text      = Convert.ToString(drChild["FieldLength"]);
                    txtDelimitedColumns.Text = string.Empty;
                    txtPath.Text             = string.Empty;
                    txtFieldName.Text        = string.Empty;
                    lblTitle.Text            = "Edit record details for Configuration " + txtSettingName.Text;

                    KeyValuePair <int, string> selectedWorkflow = GetWorkflowDictionary().FirstOrDefault(x => x.Value.Trim().ToLower() == Convert.ToString(drChild["Workflow"]).Trim().ToLower());
                    cmbxWorkflow.SelectedItem = selectedWorkflow;
                    KeyValuePair <int, string> selectedProduct = GetProductDictionary().FirstOrDefault(x => x.Value.Trim().ToLower() == Convert.ToString(drChild["Product"]).Trim().ToLower());
                    cmbxProduct.SelectedItem = selectedProduct;
                }
                else
                {
                    lblTitle.Text   = "Add new record for Data Masking Configuration.";
                    btnSave.Visible = true;
                }
            }
            else
            {
                txtStartPos.Enabled         = true;
                txtFieldLength.Enabled      = true;
                txtDelimitedColumns.Enabled = false;
                txtPath.Enabled             = false;
                txtFieldName.Enabled        = false;
                txtRowNo.Enabled            = false;
                if (Mode == Enums.FormMode.Edit)
                {
                    btnSave.Visible = false;
                    DataRow drChild = dtConfiguration.Rows.Find(ChildConfigurationId);
                    txtSettingName.Text      = Convert.ToString(drChild["SettingName"]);
                    txtStartPos.Text         = Convert.ToString(drChild["StartPos"]);
                    txtFieldLength.Text      = Convert.ToString(drChild["FieldLength"]);
                    txtDelimitedColumns.Text = string.Empty;
                    txtPath.Text             = string.Empty;
                    txtFieldName.Text        = string.Empty;
                    lblTitle.Text            = "Editing Record for " + txtSettingName.Text;

                    KeyValuePair <int, string> selectedWorkflow = GetWorkflowDictionary().FirstOrDefault(x => x.Value.Trim().ToLower() == Convert.ToString(drChild["Workflow"]).Trim().ToLower());
                    cmbxWorkflow.SelectedItem = selectedWorkflow;
                    KeyValuePair <int, string> selectedProduct = GetProductDictionary().FirstOrDefault(x => x.Value.Trim().ToLower() == Convert.ToString(drChild["Product"]).Trim().ToLower());
                    cmbxProduct.SelectedItem = selectedProduct;
                }
                else
                {
                    lblTitle.Text   = "Adding New Record";
                    btnSave.Visible = true;
                }
            }

            txtSettingName.Focus();
        }