Пример #1
0
 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();
     }
 }
Пример #2
0
        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();
            }
        }
Пример #3
0
        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();
                }
            }
        }