示例#1
0
        public void UploadData()
        {
            try
            {
                StringBuilder     sb         = new StringBuilder();
                string            sql        = @"select Value from AppConfig where Key=@Key";
                SQLiteParameter[] parameters = new SQLiteParameter[] {
                    new SQLiteParameter("@Key", "CaseBarcode")
                };
                DataTable dt = db.ExecuteDataTable(sql, parameters);
                if (dt != null && dt.Rows.Count > 0)
                {
                    //取出传回去的相关字段
                    string    configSql = @"select siteCode,ModType,ModID,DH from FromERPDetail limit 1";
                    DataTable configDT  = db.ExecuteDataTable(configSql, null);

                    sql = @"select ID,CaseNumber,FromID,LoginID from CaseNumber";
                    DataTable caseDt = db.ExecuteDataTable(sql, null);
                    if (caseDt != null && caseDt.Rows.Count > 0)
                    {
                        sql = @"select ID,CaseNumberID,ProdID,Num,LoginID from CaseNumberDetail";
                        DataTable caseDetailDt = db.ExecuteDataTable(sql, null);
                        if (caseDetailDt != null && caseDetailDt.Rows.Count > 0)
                        {
                            CaseData data = new CaseData();
                            data.InvoiceBarcode = dt.Rows[0].ItemArray[0].ToString();
                            data.LoginID        = GlobalShare.LoginID;
                            data.siteCode       = configDT.Rows[0].ItemArray[0].ToString();
                            data.ModType        = configDT.Rows[0].ItemArray[1].ToString();
                            data.ModID          = configDT.Rows[0].ItemArray[2].ToString();
                            data.DH             = configDT.Rows[0].ItemArray[3].ToString();
                            List <CaseNumberEntity> caseList = new List <CaseNumberEntity>();
                            data.InvoiceCase = caseList;
                            foreach (DataRow caseDr in caseDt.Rows)
                            {
                                CaseNumberEntity caseItem = new CaseNumberEntity();
                                caseItem.ID         = caseDr[0].ToString();
                                caseItem.CaseNumber = caseDr[1].ToString();
                                caseItem.FromID     = caseDr[2].ToString();
                                caseItem.LoginID    = caseDr[3].ToString();
                                List <CaseNumberDetail> detailList = new List <CaseNumberDetail>();
                                caseItem.InvoiceCaseDetail = detailList;
                                DataRow[] detailArray = caseDetailDt.Select("CaseNumberID='" + caseDr[0].ToString() + "'");
                                if (detailArray.Length > 0)
                                {
                                    foreach (DataRow detailDr in detailArray)
                                    {
                                        CaseNumberDetail detailItem = new CaseNumberDetail();
                                        detailItem.ID           = detailDr[0].ToString();
                                        detailItem.CaseNumberID = detailDr[1].ToString();
                                        detailItem.ProdID       = detailDr[2].ToString();
                                        detailItem.Num          = detailDr[3].ToString();
                                        detailItem.LoginID      = detailDr[4].ToString();
                                        detailList.Add(detailItem);
                                    }
                                }
                                caseList.Add(caseItem);
                            }
                            string jsonStrData = JsonConvert.SerializeObject(data);
                            if (!string.IsNullOrEmpty(jsonStrData))
                            {
                                if (D300SysUI.CheckNetworkStatus())
                                {
                                    //上传数据
                                    string returnJson = DataUpDownload.UploadInvoiceDetail(jsonStrData);
                                    if (!string.IsNullOrEmpty(returnJson))
                                    {
                                        ResultModel resModel = JsonConvert.DeserializeObject <ResultModel>(returnJson);
                                        if (resModel != null && resModel.IsSuccess)
                                        {
                                            msgDialog.ShowMessage("上传成功", 1);
                                            //删除数据
                                            ClearDataBase();
                                        }
                                        else
                                        {
                                            msgDialog.ShowMessage("上传失败", 1);
                                        }
                                    }
                                    else
                                    {
                                        msgDialog.ShowMessage("上传失败", 1);
                                    }
                                }
                                else
                                {
                                    msgDialog.ShowMessage("网络没有连接", 1);
                                }
                            }
                            else
                            {
                                msgDialog.ShowMessage("上传失败", 1);
                            }
                        }
                        else
                        {
                            msgDialog.ShowMessage("上传失败", 1);
                        }
                    }
                    else
                    {
                        msgDialog.ShowMessage("上传失败", 1);
                    }
                }
                else
                {
                    msgDialog.ShowMessage("上传失败,没有数据", 1);
                }
            }
            catch (Exception ex)
            {
                msgDialog.ShowMessage("上传失败", 1);
            }
        }
示例#2
0
        public void UpdateAppHandler()
        {
            string startProcess = string.Empty;
            string folder       = "HomotorDepotMgrUpdate";
            string updatePath   = Path.GetDirectoryName(path) + "\\" + folder;

            if (Directory.Exists(updatePath))
            {
                //找到更新程序的exe,并进行更新
                DirectoryInfo root = new DirectoryInfo(updatePath);
                if (root.GetFiles().Length > 0)
                {
                    foreach (var fn in root.GetFiles())
                    {
                        if (Path.GetExtension(fn.FullName).Equals(".exe"))
                        {
                            startProcess = fn.FullName;
                            break;
                        }
                    }
                    File.Copy(path + "\\appDB.db", updatePath + "\\appDB.db", true);
                    Process.Start(startProcess, "");
                    //关闭当前程序
                    GlobalShare.LoginID = string.Empty;
                    this.Close();
                    this.Dispose();
                    Application.Exit();
                }
            }
            else
            {
                try
                {
                    if (D300SysUI.CheckNetworkStatus())
                    {
                        msgDialog.ShowMessage("正在下载更新程序,请稍后···", 1);
                        List <string> fileList = DataUpDownload.GetDownloadFileList(folder);
                        if (fileList.Count > 0)
                        {
                            float factor = 0.25f;
                            if (!Directory.Exists(updatePath))
                            {
                                Directory.CreateDirectory(updatePath);
                            }
                            //下载更新程序
                            for (int i = 0; i < fileList.Count; i++)
                            {
                                string   curFullName = string.Empty;
                                FileInfo newInfo     = new FileInfo(fileList[i]);
                                if (!newInfo.DirectoryName.Equals("\\"))
                                {
                                    if (!Directory.Exists(updatePath + newInfo.DirectoryName))
                                    {
                                        Directory.CreateDirectory(updatePath + newInfo.DirectoryName);
                                    }
                                }
                                curFullName = updatePath + newInfo.FullName;
                                if (Path.GetExtension(curFullName).Equals(".exe"))
                                {
                                    startProcess = curFullName;
                                }
                                DataUpDownload.DownloadFile("/" + folder + newInfo.FullName.Replace("\\", "/"), curFullName);
                                int percent = (int)(fileList.Count * factor);
                                if ((i + 1) == percent)
                                {
                                    if ((i + 1) == fileList.Count)
                                    {
                                        msgDialog.ShowMessage("更新程序下载完成,立即启动更新", 1);
                                    }
                                    else
                                    {
                                        msgDialog.ShowMessage("更新程序已下载" + (factor * 100) + "%", 1);
                                        factor = factor + 0.25f;
                                    }
                                }
                            }
                            //找到更新程序的exe,并进行更新
                            File.Copy(path + "\\appDB.db", updatePath + "\\appDB.db", true);
                            Process.Start(startProcess, "");
                            //关闭当前程序
                            GlobalShare.LoginID = string.Empty;
                            this.Close();
                            this.Dispose();
                            Application.Exit();
                        }
                        else
                        {
                            msgDialog.ShowMessage("更新失败,没有找到更新程序", 1);
                        }
                    }
                    else
                    {
                        msgDialog.ShowMessage("网络没有连接", 1);
                    }
                }
                catch (Exception ex)
                {
                    msgDialog.ShowMessage(ex.Message, 1);
                }
            }
        }
示例#3
0
 public void DownloadDetailHandler(Scanner.CodeInfo obj)
 {
     #region 记录发货单条码
     string            sql        = @"delete from AppConfig where Key=@Key";
     SQLiteParameter[] parameters = new SQLiteParameter[] {
         new SQLiteParameter("@Key", "CaseBarcode"),
         new SQLiteParameter("@Value", obj.barcode)
     };
     try
     {
         db.ExecuteNonQuery(sql, parameters);
         sql = @"insert into AppConfig(Key,Value) values(@Key,@Value)";
         //parameters = new SQLiteParameter[]{
         //    new SQLiteParameter("@Key", "CaseBarcode"),
         //    new SQLiteParameter("@Value", "0000000004-01")
         // };
         db.ExecuteNonQuery(sql, parameters);
     }
     catch (Exception ex)
     {
     }
     #endregion
     #region   条码,下载发货单明细
     if (D300SysUI.CheckNetworkStatus())
     {
         string      detailStrJson = DataUpDownload.DownloadInvoiceDetail(obj.barcode);
         FromERPJson model         = JsonConvert.DeserializeObject <FromERPJson>(detailStrJson);
         if (model.IsSuccess)
         {
             msgDialog.ShowMessage("正在处理中,请稍后···", 1);
             sql = @"delete from FromERPDetail";
             try
             {
                 db.ExecuteNonQuery(sql, null);
             }
             catch (Exception ex)
             {
             }
             if (model.ReturnData.Count > 0)
             {
                 bool isSuccess = false;
                 using (SQLiteConnection connection = new SQLiteConnection(db.ConnectionString))
                 {
                     connection.Open();
                     using (DbTransaction transaction = connection.BeginTransaction())
                     {
                         using (SQLiteCommand command = new SQLiteCommand(connection))
                         {
                             try
                             {
                                 for (int i = 0; i < model.ReturnData.Count; i++)
                                 {
                                     command.CommandText = @"insert into FromERPDetail(InvoiceID,ProdID,Model,ProdName,Num,Barcode,BoxBarcode,NormNum,Title,bJianMaInBox,siteCode,ModType,ModID,DH) values (@InvoiceID,@ProdID,@Model,@ProdName,@Num,@Barcode,@BoxBarcode,@NormNum,@Title,@bJianMaInBox,@siteCode,@ModType,@ModID,@DH)";
                                     parameters          = new SQLiteParameter[] {
                                         new SQLiteParameter("@InvoiceID", model.ReturnData[i].InvoiceID),
                                         new SQLiteParameter("@ProdID", model.ReturnData[i].ProdID),
                                         new SQLiteParameter("@Model", model.ReturnData[i].Model),
                                         new SQLiteParameter("@ProdName", model.ReturnData[i].ProdName),
                                         new SQLiteParameter("@Num", model.ReturnData[i].Num),
                                         new SQLiteParameter("@Barcode", model.ReturnData[i].Barcode),
                                         new SQLiteParameter("@BoxBarcode", model.ReturnData[i].BoxBarcode),
                                         new SQLiteParameter("@NormNum", model.ReturnData[i].NormNum),
                                         new SQLiteParameter("@Title", model.ReturnData[i].Title),
                                         new SQLiteParameter("@bJianMaInBox", model.ReturnData[i].bJianMaInBox),
                                         new SQLiteParameter("@siteCode", model.ReturnData[i].siteCode),
                                         new SQLiteParameter("@ModType", model.ReturnData[i].ModType),
                                         new SQLiteParameter("@ModID", model.ReturnData[i].ModID),
                                         new SQLiteParameter("@DH", model.ReturnData[i].DH)
                                     };
                                     if (parameters != null)
                                     {
                                         command.Parameters.AddRange(parameters);
                                     }
                                     command.ExecuteNonQuery();
                                 }
                                 transaction.Commit();
                                 isSuccess = true;
                             }
                             catch (Exception ex)
                             {
                                 transaction.Rollback();
                                 isSuccess = false;
                             }
                         }
                     }
                 }
                 if (isSuccess)
                 {
                     CaseMgr caseMgrFrm = new CaseMgr(0);
                     caseMgrFrm.Show();
                 }
             }
         }
         else
         {
             msgDialog.ShowMessage("没有该发货草稿单据", 1);
         }
     }
     else
     {
         msgDialog.ShowMessage("网络没有连接", 1);
     }
     #endregion
 }