protected void btnDownload_Click(object sender, EventArgs e) { try { SOKanbanFile skf = new SOKanbanFile(13); Response.Clear(); Response.Buffer = true; Response.Charset = ""; Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.ContentType = skf.ContentType; Response.AppendHeader("Content-Disposition", "attachment; filename=\"" + skf.Name + "\""); Response.BinaryWrite(skf.Data); Response.Flush(); Response.End(); } catch (Exception ex) { ltlMessage.Text = ex.Message.ToString().ToErrorMessageFormat(); } }
protected void imgBtnDownload_Click(object sender, ImageClickEventArgs e) { try { ImageButton imgBtnDownload = (ImageButton)sender; GridViewRow row = (GridViewRow)imgBtnDownload.NamingContainer; Int32 RefID = Convert.ToInt32(gvSalesOrders.DataKeys[row.RowIndex].Values["RefID"].ToString()); SOKanbanFile skf = new SOKanbanFile(RefID); Response.Clear(); Response.Buffer = true; Response.Charset = ""; Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.ContentType = skf.ContentType; Response.AppendHeader("Content-Disposition", "attachment; filename=\"" + skf.Name + "\""); Response.BinaryWrite(skf.Data); Response.Flush(); Response.End(); } catch (Exception ex) { ltlMessage.Text = ex.Message.ToString().ToErrorMessageFormat(); } }
private void ValidateAndUploadFile() { try { ViewState["xls"] = FileUpload1.FileBytes; IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(FileUpload1.PostedFile.InputStream); excelReader.IsFirstRowAsColumnNames = true; DataSet xls = excelReader.AsDataSet(); ViewState["Valid"] = true; DataTable CustomerFile = CreateTable(); List <string> colNames = new List <string>(columns.Values); List <string> colKeys = new List <string>(columns.Keys); Int32 ID = 1; CustomerFile = xls.Tables[sheet].AsEnumerable().Select(r => { var row = CustomerFile.NewRow(); row.ItemArray = new object[] { ID++, r[colNames[0]].ToString() == string.Empty ? r[colNames[0]] : string.Format("{0:yyyy-MM-dd}", DateTime.ParseExact(r[colNames[0]].ToString(), formats, CultureInfo.InvariantCulture, DateTimeStyles.None)), r[colNames[1]].ToString() == string.Empty ? r[colNames[1]] : string.Format("{0:yyyy-MM-dd}", DateTime.ParseExact(r[colNames[1]].ToString(), formats, CultureInfo.InvariantCulture, DateTimeStyles.None)), r[colNames[2]], r[colNames[3]], r[colNames[4]], r[colNames[5]], r[colNames[6]], r[colNames[7]], r[colNames[8]], r[colNames[9]], r[colNames[10]], r[colNames[11]] }; return(row); }).CopyToDataTable(); CustomerFile.AsEnumerable().Where(r => r[columns.FirstOrDefault(x => x.Value == "Customer Part Number").Key] == DBNull.Value | r[columns.FirstOrDefault(x => x.Value == "Quantity").Key] == DBNull.Value).ToList().ForEach(r => r.Delete()); CustomerFile.AcceptChanges(); CustomerFile = CustomerFile.AsEnumerable().Where( r => r[colKeys[0]].ToString() != string.Empty | r[colKeys[1]].ToString() != string.Empty | r[colKeys[2]].ToString() != string.Empty | r[colKeys[3]].ToString() != string.Empty | r[colKeys[4]].ToString() != string.Empty | r[colKeys[5]].ToString() != string.Empty | r[colKeys[6]].ToString() != string.Empty | r[colKeys[7]].ToString() != string.Empty | r[colKeys[8]].ToString() != string.Empty | r[colKeys[9]].ToString() != string.Empty | r[colKeys[10]].ToString() != string.Empty | r[colKeys[11]].ToString() != string.Empty ).CopyToDataTable(); CustomerFile.TableName = "xml"; MemoryStream s = new MemoryStream(); CustomerFile.WriteXml(s, true); s.Seek(0, SeekOrigin.Begin); StreamReader sr = new StreamReader(s); string xml = sr.ReadToEnd(); sr.Close(); DataTable order = SOKanbanFile.Validate_Standard(xml); gvSheet.DataSource = order; gvSheet.DataBind(); gvSheet.Visible = !(bool)ViewState["Valid"]; if ((bool)ViewState["Valid"]) { SOKanbanFile skf = new SOKanbanFile(); skf.Name = Path.GetFileName(FileUpload1.PostedFile.FileName); skf.ContentType = FileUpload1.PostedFile.ContentType; skf.Data = (byte[])ViewState["xls"]; order.TableName = "Orders"; s = new MemoryStream(); order.WriteXml(s, true); s.Seek(0, SeekOrigin.Begin); sr = new StreamReader(s); skf.Xml = sr.ReadToEnd(); sr.Close(); skf.SysCreator = HttpContext.Current.User.Identity.Name; Int32 refID = skf.Import_Standard(); ltlMessage.Text = string.Format("<img src='../App_Themes/Default/images/listing/ico-accept.png' /> Successfuly uploaded file for processing to Exact. Our Reference Number is {0}.", refID).ToSuccessMessageFormat(); } } catch (Exception ex) { if (ex.Message.ToString().Contains("does not belong to table")) { ltlMessage.Text = "File is invalid. Please choose the customer EDI or Excel file containing Sales Orders per Kanban.".ToErrorMessageFormat(); } else { ltlMessage.Text = string.Format("The file you are uploading is invalid. {0}.", ex.Message.ToString()).ToErrorMessageFormat(); } } }