/// <summary> /// Add Lot Template /// </summary> /// <param name="dataset">New Lot Template</param> /// <returns>dataset</returns> public DataSet AddLotTemplate(DataSet dataset) { System.DateTime startTime = System.DateTime.Now; DataSet dsReturn = new DataSet(); String[] sql = new String[3]; List <string> sqlCommandList = new List <string>(); try { if (dataset.Tables.Contains("param")) { DataTable dataTable = dataset.Tables["param"]; Hashtable hashData = SolarViewer.Hemera.Share.Common.CommonUtils.ConvertToHashtable(dataTable); //add by zhanghao for uda POR_LOT_TEMPLATE_ATTR_FIELDS lotTempUda = new POR_LOT_TEMPLATE_ATTR_FIELDS(); //end sql[0] = "SELECT * FROM POR_LOT_TEMPLATE WHERE TEMPLATE_NAME ='" + hashData[POR_LOT_TEMPLATE_FIELDS.FIELD_TEMPLATE_NAME] + "'"; IDataReader read = db.ExecuteReader(CommandType.Text, sql[0]); if (read.Read()) { SolarViewer.Hemera.Share.Common.ReturnMessageUtils.AddServerReturnMessage(dsReturn, "${res:SolarViewer.Hemera.Modules.Wip.LotTemplateEngine.TemplateNameAlreadyExist}"); return(dsReturn); } else { using (DbConnection dbconn = db.CreateConnection()) { //Open Connection dbconn.Open(); DbTransaction dbtran = dbconn.BeginTransaction(); //Create Transaction try { int version = 1; sql[1] = @"INSERT INTO POR_LOT_TEMPLATE(TEMPLATE_KEY, TEMPLATE_NAME, TEMPLATE_STATUS, TEMPLATE_DESCRIPTIONS, TEMPLATE_VERSION, CREATOR, CREATE_TIME, CREATE_TIMEZONE_KEY) VALUES('" + hashData[POR_LOT_TEMPLATE_FIELDS.FIELD_TEMPLATE_KEY] + "','" + hashData[POR_LOT_TEMPLATE_FIELDS.FIELD_TEMPLATE_NAME] + "','" + hashData[POR_LOT_TEMPLATE_FIELDS.FIELD_TEMPLATE_STATUS] + "','" + hashData[POR_LOT_TEMPLATE_FIELDS.FIELD_TEMPLATE_DESCRIPTIONS] + "'," + version + ",'" + hashData[COMMON_FIELDS.FIELD_COMMON_CREATOR] + "'," + "to_date('" + System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "','yyyy-MM-DD hh24:mi:ss'),'" + hashData[COMMON_FIELDS.FIELD_COMMON_CREATE_TIMEZONE_KEY] + "')"; db.ExecuteNonQuery(dbtran, CommandType.Text, sql[1]); //add by zhanghao for uda if (dataset.Tables.Contains(POR_LOT_TEMPLATE_ATTR_FIELDS.DATABASE_TABLE_NAME)) { DatabaseTable.BuildInsertSqlStatements(ref sqlCommandList, new POR_LOT_TEMPLATE_ATTR_FIELDS(), dataset.Tables[POR_LOT_TEMPLATE_ATTR_FIELDS.DATABASE_TABLE_NAME], new Dictionary <string, string>() { { COMMON_FIELDS.FIELD_COMMON_EDIT_TIME, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") }, { COMMON_FIELDS.FIELD_COMMON_EDIT_TIMEZONE, "CN-ZH" } }, new List <string>() { COMMON_FIELDS.FIELD_COMMON_OPERATION_ACTION }); } foreach (string sqlU in sqlCommandList) { db.ExecuteNonQuery(dbtran, CommandType.Text, sqlU); } //end dbtran.Commit(); SolarViewer.Hemera.Share.Common.ReturnMessageUtils.AddServerReturnMessage(dsReturn, ""); } catch (Exception ex) { SolarViewer.Hemera.Share.Common.ReturnMessageUtils.AddServerReturnMessage(dsReturn, ex.Message); //Rollback Transaction dbtran.Rollback(); LogService.LogError("AddLotTemplate Error: " + ex.Message); } finally { //Close Connection dbconn.Close(); } } } } } catch (Exception ex) { SolarViewer.Hemera.Share.Common.ReturnMessageUtils.AddServerReturnMessage(dsReturn, ex.Message); LogService.LogError("AddLotTemplate Error: " + ex.Message); } System.DateTime endTime = System.DateTime.Now; LogService.LogInfo("AddLotTemplate Time: " + (endTime - startTime).TotalMilliseconds.ToString()); return(dsReturn); }
/// <summary> /// Update Lot Template /// </summary> /// <param name="dataset">information of Lot Template</param> /// <returns>dataset</returns> public DataSet UpdateLotTemplate(DataSet dataset) { System.DateTime startTime = System.DateTime.Now; DataSet dsReturn = new DataSet(); String[] sql = new String[3]; List <string> sqlCommandList = new List <string>(); try { if (dataset.Tables.Contains("param")) { DataTable dataTable = dataset.Tables["param"]; Hashtable hashData = SolarViewer.Hemera.Share.Common.CommonUtils.ConvertToHashtable(dataTable); //ADD BY ZHANGHAO FOR UDA POR_LOT_TEMPLATE_ATTR_FIELDS lotTempUda = new POR_LOT_TEMPLATE_ATTR_FIELDS(); //END using (DbConnection dbconn = db.CreateConnection()) { //Open Connection dbconn.Open(); //Create Transaction DbTransaction dbtran = dbconn.BeginTransaction(); try { sql[0] = @"UPDATE POR_LOT_TEMPLATE SET TEMPLATE_STATUS=" + hashData[POR_LOT_TEMPLATE_FIELDS.FIELD_TEMPLATE_STATUS] + "," + "TEMPLATE_DESCRIPTIONS='" + hashData[POR_LOT_TEMPLATE_FIELDS.FIELD_TEMPLATE_DESCRIPTIONS] + "'," + "EDITOR='" + hashData[COMMON_FIELDS.FIELD_COMMON_EDITOR] + "'," + "EDIT_TIME=to_date('" + System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "','yyyy-MM-DD hh24:mi:ss')," + "EDIT_TIMEZONE_KEY='" + hashData[COMMON_FIELDS.FIELD_COMMON_EDIT_TIMEZONE] + "' " + "WHERE TEMPLATE_KEY='" + hashData[POR_LOT_TEMPLATE_FIELDS.FIELD_TEMPLATE_KEY] + "'"; db.ExecuteNonQuery(dbtran, CommandType.Text, sql[0]); //add by zhanghao for uda //add uda if (dataset.Tables.Contains(POR_LOT_TEMPLATE_ATTR_FIELDS.DATABASE_TABLE_NAME)) { DatabaseTable.BuildSqlStatementsForUDAs(ref sqlCommandList, new POR_LOT_TEMPLATE_ATTR_FIELDS(), dataset.Tables[POR_LOT_TEMPLATE_ATTR_FIELDS.DATABASE_TABLE_NAME], POR_LOT_TEMPLATE_ATTR_FIELDS.FIELD_LOT_TEMPLATE_KEY); } foreach (string sqlU in sqlCommandList) { db.ExecuteNonQuery(dbtran, CommandType.Text, sqlU); } dbtran.Commit(); SolarViewer.Hemera.Share.Common.ReturnMessageUtils.AddServerReturnMessage(dsReturn, ""); } catch (Exception ex) { dbtran.Rollback(); SolarViewer.Hemera.Share.Common.ReturnMessageUtils.AddServerReturnMessage(dsReturn, ex.Message); LogService.LogError("UpdateLotTemplate Error: " + ex.Message); } finally { //Close Connection dbconn.Close(); } } } } catch (Exception ex) { SolarViewer.Hemera.Share.Common.ReturnMessageUtils.AddServerReturnMessage(dsReturn, ex.Message); LogService.LogError("UpdateLotTemplate Error: " + ex.Message); } System.DateTime endTime = System.DateTime.Now; LogService.LogInfo("UpdateLotTemplate Time: " + (endTime - startTime).TotalMilliseconds.ToString()); return(dsReturn); }