Beispiel #1
0
        public void UpLoadFile(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            MESDBHelper.OleExec SFCDB = this.DBPools["SFCDB"].Borrow();

            SFCDB.BeginTrain();
            try
            {
                T_R_FILE TRF = new T_R_FILE(SFCDB, DB_TYPE_ENUM.Oracle);

                Row_R_FILE RRF = (Row_R_FILE)TRF.NewRow();
                RRF.ID       = TRF.GetNewID(BU, SFCDB);
                RRF.NAME     = Data["Name"].ToString();
                RRF.FILENAME = Data["FileName"].ToString();
                RRF.MD5      = Data["MD5"].ToString();
                RRF.USETYPE  = Data["UseType"].ToString();
                RRF.STATE    = "1";
                RRF.VALID    = 1;
                //不使用CLOB字段
                //RRF.CLOB_FILE = ":CLOB_FILE";// Data["Bas64File"].ToString();
                RRF.BLOB_FILE            = ":BLOB_FILE";
                RRF.EDIT_EMP             = LoginUser.EMP_NO;
                RRF.EDIT_TIME            = DateTime.Now;
                SFCDB.ThrowSqlExeception = true;
                //將同類文件改為歷史版本
                TRF.SetFileDisableByName(RRF.NAME, RRF.USETYPE, SFCDB);

                string strSql = RRF.GetInsertString(this.DBTYPE);
                strSql = strSql.Replace("':CLOB_FILE'", ":CLOB_FILE");
                strSql = strSql.Replace("':BLOB_FILE'", ":BLOB_FILE");
                System.Data.OleDb.OleDbParameter p = new System.Data.OleDb.OleDbParameter(":BLOB_FILE", System.Data.OleDb.OleDbType.Binary);
                string B64 = Data["Bas64File"].ToString();

                string b64  = B64.Remove(0, B64.LastIndexOf(',') + 1);
                byte[] data = Convert.FromBase64String(b64);
                p.Value = data;
                //new System.Data.OleDb.OleDbParameter(":CLOB_FILE", Data["Bas64File"].ToString()),
                SFCDB.ExecSqlNoReturn(strSql, new System.Data.OleDb.OleDbParameter[]
                                      { p });

                //SFCDB.ExecSQL(RRF.GetInsertString(this.DBTYPE));
                SFCDB.CommitTrain();
                StationReturn.Status = StationReturnStatusValue.Pass;
            }
            catch (Exception ee)
            {
                SFCDB.RollbackTrain();
                //this.DBPools["SFCDB"].Return(SFCDB);
                StationReturn.Status      = StationReturnStatusValue.Fail;
                StationReturn.MessageCode = "MES00000037";
                StationReturn.MessagePara.Add(ee.Message);
            }
            SFCDB.ThrowSqlExeception = false;
            this.DBPools["SFCDB"].Return(SFCDB);
        }
Beispiel #2
0
        public void GetFileByName(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            MESDBHelper.OleExec SFCDB = this.DBPools["SFCDB"].Borrow();

            try
            {
                T_R_FILE TRF = new T_R_FILE(SFCDB, DB_TYPE_ENUM.Oracle);
                //R_FILE R = TRF.GetFileByName(Data["Name"].ToString(),Data["UseType"].ToString(),SFCDB );
                R_FILE R = TRF.GetFileByFileName(Data["Name"].ToString(), Data["UseType"].ToString(), SFCDB);

                StationReturn.Data   = R;
                StationReturn.Status = StationReturnStatusValue.Pass;
            }
            catch (Exception ee)
            {
                StationReturn.Status      = StationReturnStatusValue.Fail;
                StationReturn.MessageCode = "MES00000037";
                StationReturn.MessagePara.Add(ee.Message);
            }
            SFCDB.ThrowSqlExeception = false;
            this.DBPools["SFCDB"].Return(SFCDB);
        }
Beispiel #3
0
        public void FileDownLoad(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn)
        {
            MESDBHelper.OleExec SFCDB = this.DBPools["SFCDB"].Borrow();
            string ID = Data["ID"].ToString();

            try
            {
                T_R_FILE   TRF      = new T_R_FILE(SFCDB, DB_TYPE_ENUM.Oracle);
                Row_R_FILE RRF      = (Row_R_FILE)TRF.GetObjByID(ID, SFCDB);
                string     filePath = ConfigurationManager.AppSettings["WebFilePath"];
                filePath += "\\" + RRF.FILENAME;
                if (System.IO.File.Exists(filePath))
                {
                    System.IO.File.Delete(filePath);
                }

                System.IO.FileStream F = new System.IO.FileStream(filePath, System.IO.FileMode.Create);
                byte[] b = (byte[])RRF["BLOB_FILE"];
                F.Write(b, 0, b.Length);
                F.Flush();
                F.Close();



                StationReturn.Data   = "DOWNLOAD\\" + RRF.FILENAME;
                StationReturn.Status = StationReturnStatusValue.Pass;
            }
            catch (Exception ee)
            {
                StationReturn.Status      = StationReturnStatusValue.Fail;
                StationReturn.MessageCode = "MES00000037";
                StationReturn.MessagePara.Add(ee.Message);
            }
            SFCDB.ThrowSqlExeception = false;
            this.DBPools["SFCDB"].Return(SFCDB);
        }