private void SetupPage() { selectedFile = ""; btnUpload.Enabled = false; btnPreview.Enabled = false; gvErrorList.Visible = gvUpdateList.Visible = false; lblSummaryList.Visible = false; fileReader = null; }
protected void PreviewFile(object sender, EventArgs e) { byte[] fileContent; if (ddlDataType.SelectedValue.Equals("")) { SetStatusMessage("You must select a file type from the drop down list"); } else if (ddlPlantSelect.SelectedIndex == 0 && ddlDataType.SelectedValue.Equals("RECEIPT")) { SetStatusMessage("You must select a Receiving Location to upload a receipt record"); } else { // validate the date in the select control periodYear = 0; periodMonth = 0; List <SETTINGS> sets = SQMSettings.SelectSettingsGroup("FILE_UPLOAD", ""); // ABW 20140805 string fileName = ddlDataType.SelectedValue.ToString() + ".TXT"; int primaryCompany = Convert.ToInt32(sets.Find(x => x.SETTING_CD == "CompanyID").VALUE); PSsqmEntities Entities = new PSsqmEntities(); BUSINESS_ORG busOrg = SQMModelMgr.LookupBusOrg(Entities, primaryCompany, "", true, false); selectedFile = tbFileSelected.Text = flUpload.FileName; int fileLen = flUpload.PostedFile.ContentLength; fileContent = new byte[Convert.ToInt32(fileLen)]; int nBytes = flUpload.PostedFile.InputStream.Read(fileContent, 0, Convert.ToInt32(fileLen)); fileDelimiter = sets.Find(x => x.SETTING_CD == "FileDelimiter1").VALUE.ToCharArray(); plantDataMultiplier = 1; //fileReader = new SQMFileReader().InitializeCSV(1, flUpload.PostedFile.FileName, fileContent, fileDelimiter, plantDataMultiplier); fileReader = new SQMFileReader().InitializeCSV(primaryCompany, fileName, fileContent, fileDelimiter, plantDataMultiplier, periodYear, periodMonth, busOrg.PREFERRED_CURRENCY_CODE); using (StreamReader sr = new StreamReader(fileReader.FileStream)) { string line; int lineNo = 0; while ((line = sr.ReadLine()) != null) { fileReader.PreviewList.Add(line); } gvPreview.DataSource = fileReader.PreviewList; gvPreview.DataBind(); gvPreview.Visible = true; gvExcelPreview.Visible = false; } } if (ddlDataType.SelectedValue.Equals("RECEIPT")) { dvPlantSelect.Style.Add("display", "inline"); } }
private void SetupPage() { selectedFile = ""; btnUpload.Enabled = false; btnPreview.Enabled = false; gvErrorList.Visible = gvUpdateList.Visible = false; lblSummaryList.Visible = false; fileReader = null; if (ddlPlantSelect.Items.Count == 0) { SQMBasePage.SetLocationList(ddlPlantSelect, SQMModelMgr.SelectBusinessLocationList(SessionManager.UserContext.HRLocation.Company.COMPANY_ID, 0, true), 0); ddlPlantSelect.Items.Insert(0, new Telerik.Web.UI.RadComboBoxItem("", "")); } }
static void ProcessFile(string fileType) { string fileSearch = fileType.ToUpper() + "_*"; string strftpLocation = sets.Find(x => x.SETTING_CD == "FTP_LOCATION").VALUE.ToString(); DirectoryInfo dir = new DirectoryInfo(strftpLocation); FileInfo[] files = dir.GetFiles(fileSearch).OrderByDescending(p => p.LastWriteTime).ToArray(); bool fileProcessed; if (files != null && files.Count() > 0) { byte[] buff; fileProcessed = false; foreach (FileInfo file in files) { //_file = new FileInfo(file); //_fileName = _fileName + @"<br/>" + _file.Name; buff = File.ReadAllBytes(file.FullName); fileReader = new SQMFileReader().InitializeCSV(primaryCompany, file.Name, buff, fileDelimiter, plantDataMultiplier, 0, 0, "USD"); if (fileReader.Status < 0) { WriteLine("Error encountered loading the file: " + file); } else { if (!fileProcessed) // only process the most recent file { fileReader.FileName = fileType.ToUpper(); fileReader.LoadCSV(); fileProcessed = true; WriteLine(file.Name + " processed " + DateTime.UtcNow.ToString("hh:mm MM/dd/yyyy")); } // move the file string sourceFile = file.FullName; string destinationFile = strftpLocation + @"\Processed\" + file.Name; System.IO.File.Move(sourceFile, destinationFile); } } } }
static void ProcessInputFile(string fileType, string oldFile) { // check for a file string newFile = ""; switch (fileType) { case "COMPANY": newFile = fileLocation + "COMPANY_" + timestamp + "_" + fileCount + ".txt"; break; case "PLANT": newFile = fileLocation + "PLANT_" + timestamp + "_" + fileCount + ".txt"; break; case "PART": newFile = fileLocation + "PART_" + timestamp + "_" + fileCount + ".txt"; break; case "PLANT_DATA": newFile = fileLocation + "PLANT_DATA_" + timestamp + "_" + fileCount + ".txt"; break; case "CURRENCY_DATA": newFile = fileLocation + "CURRENCY_DATA_" + timestamp + "_" + fileCount + ".txt"; break; default: break; } if (newFile.Length == 0) { WriteLine("Invalid file type: " + fileType); return; } if (File.Exists(oldFile)) { try { // rename the file File.Move(oldFile, newFile); } catch { WriteLine("Error renaming the data file: " + oldFile + " to " + newFile); return; } } else { WriteLine("File does not exist: " + oldFile); return; } // process the renamed file uploadFile = new FileInfo(newFile); fileStream = new FileStream(newFile, FileMode.Open, FileAccess.Read); long fileLen = uploadFile.Length; fileContent = new byte[fileStream.Length]; if (fileLen < 5) { WriteLine("The file does not contain relevant data: " + newFile); return; } int nBytes = fileStream.Read(fileContent, 0, Convert.ToInt32(fileLen)); // if we ever decide to upload currency file through this program, we will need to set the last three parameters to Year, Month & Pref Currency fileReader = new SQMFileReader().InitializeCSV(companyID, fileType + ".TXT", fileContent, fileDelimiter, plantDataMultiplier, 0, 0, ""); if (fileReader.Status < 0) { WriteLine("Error encountered loading the file: " + newFile); return; } ProcessFile(fileType); }
static void ProcessFTPInputFile(string fileType) { // check for a file (look for all files that contain the first part of the file name. DateTime cutOff = DateTime.Now.AddDays(-1); List <FTPLineResult> results; string newFile = ""; switch (fileType) { case "COMPANY": Regex matchExpression = new Regex("^company$", RegexOptions.IgnoreCase); results = FTPHelper.GetFilesListSortedByDate(fileLocation, matchExpression, cutOff); newFile = fileLocation + "COMPANY_" + timestamp + ".txt"; break; case "PLANT": newFile = fileLocation + "PLANT_" + timestamp + ".txt"; break; case "PART": newFile = fileLocation + "PART_" + timestamp + ".txt"; break; case "PLANT_DATA": newFile = fileLocation + "PLANT_DATA_" + timestamp + ".txt"; break; case "CURRENCY_DATA": newFile = fileLocation + "CURRENCY_DATA_" + timestamp + ".txt"; break; default: break; } if (newFile.Length == 0) { WriteLine("Invalid file type: " + fileType); return; } // need to figure out what we are doing... //if (File.Exists(oldFile)) //{ // try // { // // rename the file // File.Move(oldFile, newFile); // } // catch // { // WriteLine("Error renaming the data file: " + oldFile + " to " + newFile); // return; // } //} //else //{ // WriteLine("File does not exist: " + oldFile); // return; //} // process the renamed file uploadFile = new FileInfo(newFile); fileStream = new FileStream(newFile, FileMode.Open, FileAccess.Read); long fileLen = uploadFile.Length; fileContent = new byte[fileStream.Length]; if (fileLen < 5) { WriteLine("The file does not contain relevant data: " + newFile); return; } int nBytes = fileStream.Read(fileContent, 0, Convert.ToInt32(fileLen)); // if we ever decide to upload currency file through this program, we will need to set the last three parameters to Year, Month & Pref Currency fileReader = new SQMFileReader().InitializeCSV(companyID, fileType + ".TXT", fileContent, fileDelimiter, plantDataMultiplier, 0, 0, ""); if (fileReader.Status < 0) { WriteLine("Error encountered loading the file: " + newFile); return; } ProcessFile(fileType); }
protected void btnUploadFile_Click(object sender, EventArgs e) { byte[] fileContent; if (ddlDataType.SelectedValue.Equals("")) { SetStatusMessage("You must select a data type from the drop down list"); } else { // validate the date in the select control periodYear = 0; periodMonth = 0; List <SETTINGS> sets = SQMSettings.SelectSettingsGroup("FILE_UPLOAD", ""); // ABW 20140805 int primaryCompany = Convert.ToInt32(sets.Find(x => x.SETTING_CD == "CompanyID").VALUE); PSsqmEntities Entities = new PSsqmEntities(); string fileName = ""; lblSummaryList.Visible = false; if (flUpload.HasFile) { btnUpload.Enabled = false; selectedFile = tbFileSelected.Text = flUpload.FileName; int fileLen = flUpload.PostedFile.ContentLength; if (fileLen < 5) { SetStatusMessage("The file does not contain relevant data: " + flUpload.FileName); return; } fileDelimiter = sets.Find(x => x.SETTING_CD == "FileDelimiter1").VALUE.ToCharArray(); plantDataMultiplier = 1; fileName = ddlDataType.SelectedValue.ToString() + ".TXT"; try { string fileType = flUpload.PostedFile.ContentType; fileContent = new byte[Convert.ToInt32(fileLen)]; int nBytes = flUpload.PostedFile.InputStream.Read(fileContent, 0, Convert.ToInt32(fileLen)); } catch { SetStatusMessage("Error encountered opening or acquiring the file: " + flUpload.FileName); return; } //fileReader = new SQMFileReader().InitializeCSV(1, flUpload.PostedFile.FileName, fileContent, fileDelimiter, plantDataMultiplier); fileReader = new SQMFileReader().InitializeCSV(primaryCompany, fileName, fileContent, fileDelimiter, plantDataMultiplier, periodYear, periodMonth, "USD"); if (fileReader.Status < 0) { SetStatusMessage("Error encountered loading the file: " + flUpload.FileName); return; } ProcessFile(); } else { SetStatusMessage("The selected file is empty: " + flUpload.FileName); } } }
protected void btnUploadFile_Click(object sender, EventArgs e) { byte[] fileContent; if (ddlDataType.SelectedValue.Equals("")) { SetStatusMessage("You must select a data type from the drop down list"); } else if (ddlPlantSelect.SelectedIndex == 0 && ddlDataType.SelectedValue.Equals("RECEIPT")) { SetStatusMessage("You must select a Receiving Location to upload a receipt record"); } else { // validate the date in the select control periodYear = 0; periodMonth = 0; List <SETTINGS> sets = SQMSettings.SelectSettingsGroup("FILE_UPLOAD", ""); // ABW 20140805 int primaryCompany = Convert.ToInt32(sets.Find(x => x.SETTING_CD == "CompanyID").VALUE); PSsqmEntities Entities = new PSsqmEntities(); BUSINESS_ORG busOrg = SQMModelMgr.LookupBusOrg(Entities, primaryCompany, "", true, false); string fileName = ""; lblSummaryList.Visible = false; if (flUpload.HasFile) { btnUpload.Enabled = false; selectedFile = tbFileSelected.Text = flUpload.FileName; int fileLen = flUpload.PostedFile.ContentLength; if (fileLen < 5) { SetStatusMessage("The file does not contain relevant data: " + flUpload.FileName); return; } fileDelimiter = sets.Find(x => x.SETTING_CD == "FileDelimiter1").VALUE.ToCharArray(); plantDataMultiplier = 1; fileName = ddlDataType.SelectedValue.ToString() + ".TXT"; try { string fileType = flUpload.PostedFile.ContentType; fileContent = new byte[Convert.ToInt32(fileLen)]; int nBytes = flUpload.PostedFile.InputStream.Read(fileContent, 0, Convert.ToInt32(fileLen)); } catch { SetStatusMessage("Error encountered opening or acquiring the file: " + flUpload.FileName); return; } //fileReader = new SQMFileReader().InitializeCSV(1, flUpload.PostedFile.FileName, fileContent, fileDelimiter, plantDataMultiplier); fileReader = new SQMFileReader().InitializeCSV(primaryCompany, fileName, fileContent, fileDelimiter, plantDataMultiplier, periodYear, periodMonth, busOrg.PREFERRED_CURRENCY_CODE); if (ddlDataType.SelectedValue.Equals("RECEIPT")) { fileReader.LocationCode = SQMModelMgr.LookupPlant(Convert.ToDecimal(ddlPlantSelect.SelectedValue)).DUNS_CODE; } if (fileReader.Status < 0) { SetStatusMessage("Error encountered loading the file: " + flUpload.FileName); return; } ProcessFile(); if (ddlDataType.SelectedValue.Equals("RECEIPT")) { dvPlantSelect.Style.Add("display", "inline"); } } else { SetStatusMessage("The selected file is empty: " + flUpload.FileName); } } }