public void Insert(BOL_REPORT_HISTORY oREPORT_HISTORY, string CURRENT_DATETIME, string CURRENT_USER, out String strMsg) { ConnectionMaster oMaster = new ConnectionMaster(strConnectionString, strInsert); oMaster.crudCommand.Parameters.Add(new SqlParameter("@COMPANY_NO_BOX", oREPORT_HISTORY.COMPANY_NO_BOX)); oMaster.crudCommand.Parameters.Add(new SqlParameter("@REQ_SEQ", oREPORT_HISTORY.REQ_SEQ)); oMaster.crudCommand.Parameters.Add(new SqlParameter("@REPORT_TYPE", oREPORT_HISTORY.REPORT_TYPE)); oMaster.crudCommand.Parameters.Add(new SqlParameter("@REPORT_HISTORY_SEQ", oREPORT_HISTORY.REPORT_HISTORY_SEQ)); oMaster.crudCommand.Parameters.Add(new SqlParameter("@OUTPUT_AT", oREPORT_HISTORY.OUTPUT_AT != null ? oREPORT_HISTORY.OUTPUT_AT : (object)DBNull.Value)); oMaster.crudCommand.Parameters.Add(new SqlParameter("@OUTPUT_FILE", oREPORT_HISTORY.OUTPUT_FILE)); oMaster.crudCommand.Parameters.Add(new SqlParameter("@EMAIL_ADDRESS", oREPORT_HISTORY.EMAIL_ADDRESS != null ? oREPORT_HISTORY.EMAIL_ADDRESS : (object)DBNull.Value)); oMaster.crudCommand.Parameters.Add(new SqlParameter("@CURRENT_DATETIME", CURRENT_DATETIME)); oMaster.crudCommand.Parameters.Add(new SqlParameter("@CURRENT_USER", CURRENT_USER)); oMaster.ExcuteQuery(1, out strMsg); }
public MetaResponse SubmitOrderRegister(string list, System.Web.HttpPostedFile file) { using (TransactionScope dbTxn = new TransactionScope()) { try { string msg = ""; //set global PARAMETERS PARAMETERS = Utility.Utility_Component.JsonToDt(list); #region Update REQUEST_DETAIL //cast to REQUEST DETAIL OBJECT BOL_REQUEST_DETAIL oREQUEST_DETAIL = new BOL_REQUEST_DETAIL(); oREQUEST_DETAIL = Cast_REQUEST_DETAIL(); oREQUEST_DETAIL.SYSTEM_SETTING_STATUS = 1; REQUEST_DETAIL DAL_REQUEST_DETAIL = new REQUEST_DETAIL(con); DAL_REQUEST_DETAIL.Update(oREQUEST_DETAIL, CURRENT_DATETIME, CURRENT_USER, out msg); //rollback if not success if (!String.IsNullOrEmpty(msg)) { dbTxn.Dispose(); return(ResponseUtility.ReturnFailMessage(response, timer, BodyMessage)); } #endregion #region Insert CUSTOMER MASTER //COUNT IN CUSTOMER MASTER string COMPANY_NAME = GetParameterByKey("COMPANY_NAME"); string COMPANY_NO_BOX = GetParameterByKey("COMPANY_NO_BOX"); string CONTRACT_PLAN = GetParameterByKey("CONTRACT_PLAN"); int TRANSACTION_TYPE = int.Parse(GetParameterByKey("TRANSACTION_TYPE")); int REQ_SEQ = int.Parse(GetParameterByKey("REQ_SEQ")); int REQ_TYPE = int.Parse(GetParameterByKey("REQ_TYPE")); DateTime START_USE_DATE = DateTime.Parse(GetParameterByKey("START_USE_DATE")); CUSTOMER_MASTER DAL_CUSTOMER_MASTER = new CUSTOMER_MASTER(con); int customer_count = DAL_CUSTOMER_MASTER.getCustomerCountByKeys(COMPANY_NO_BOX, TRANSACTION_TYPE, START_USE_DATE, REQ_SEQ, out msg); if (customer_count == 0) //if customer not found { DataTable LatestCustomer = new DataTable(); BOL_CUSTOMER_MASTER oCUSTOMER_MASTER = new BOL_CUSTOMER_MASTER(); if (REQ_TYPE == 2) { LatestCustomer = DAL_CUSTOMER_MASTER.GetTopCustomerByKeys(COMPANY_NO_BOX, TRANSACTION_TYPE, START_USE_DATE, out msg); if (LatestCustomer.Rows.Count > 0) { oCUSTOMER_MASTER = Cast_CUSTOMER_MASTER(LatestCustomer.Rows[0]); oCUSTOMER_MASTER.UPDATE_CONTENT = 3; } else //Need another message? { dbTxn.Dispose(); return(ResponseUtility.ReturnFailMessage(response, timer, BodyMessage)); } } if (REQ_TYPE == 1) { oCUSTOMER_MASTER.UPDATE_CONTENT = 1; } //insert info form screen oCUSTOMER_MASTER.COMPANY_NO_BOX = COMPANY_NO_BOX; oCUSTOMER_MASTER.TRANSACTION_TYPE = TRANSACTION_TYPE; oCUSTOMER_MASTER.EFFECTIVE_DATE = START_USE_DATE; oCUSTOMER_MASTER.REQ_SEQ = REQ_SEQ; DAL_CUSTOMER_MASTER.Insert(oCUSTOMER_MASTER, CURRENT_DATETIME, CURRENT_USER, out msg); //rollback if not success if (!String.IsNullOrEmpty(msg)) { dbTxn.Dispose(); return(ResponseUtility.ReturnFailMessage(response, timer, BodyMessage)); } #region Insert Browsing supplier CUSTOMER MASTER BOL_CUSTOMER_MASTER oBROWSING_SUPPLIER = new BOL_CUSTOMER_MASTER(); if (CONTRACT_PLAN == "PRODUCT" && REQ_TYPE == 2) { DateTime NEW_EFFECTIVE_DATE = Convert.ToDateTime(DAL_CUSTOMER_MASTER.GetEffectiveDateForNewApplyingTime(oREQUEST_DETAIL.COMPANY_NO_BOX, TRANSACTION_TYPE, START_USE_DATE, out msg)); if ((NEW_EFFECTIVE_DATE.Month + NEW_EFFECTIVE_DATE.Day) != (START_USE_DATE.Month + START_USE_DATE.Day)) { oBROWSING_SUPPLIER = Cast_CUSTOMER_MASTER(LatestCustomer.Rows[0]); oBROWSING_SUPPLIER.COMPANY_NO_BOX = COMPANY_NO_BOX; oBROWSING_SUPPLIER.TRANSACTION_TYPE = TRANSACTION_TYPE; oBROWSING_SUPPLIER.EFFECTIVE_DATE = Convert.ToDateTime(START_USE_DATE.Year + "/" + NEW_EFFECTIVE_DATE.Month + "/" + NEW_EFFECTIVE_DATE.Day); oBROWSING_SUPPLIER.UPDATE_CONTENT = 3; oBROWSING_SUPPLIER.REQ_SEQ = REQ_SEQ; DAL_CUSTOMER_MASTER.Insert(oBROWSING_SUPPLIER, CURRENT_DATETIME, CURRENT_USER, out msg); } //rollback if not success if (!String.IsNullOrEmpty(msg)) { dbTxn.Dispose(); return(ResponseUtility.ReturnFailMessage(response, timer, BodyMessage)); } } #endregion } #endregion #region Insert REPORT_HISTORY //Insert Report_History BOL_REPORT_HISTORY oREPORT_HISTORY = new BOL_REPORT_HISTORY(); oREPORT_HISTORY.COMPANY_NO_BOX = COMPANY_NO_BOX; oREPORT_HISTORY.REQ_SEQ = REQ_SEQ; oREPORT_HISTORY.REPORT_TYPE = 4; REPORT_HISTORY DAL_REPORT_HISTORY = new REPORT_HISTORY(con); int HISTORY_SEQ = DAL_REPORT_HISTORY.GetReportHistorySEQ(COMPANY_NO_BOX, oREPORT_HISTORY.REPORT_TYPE, oREPORT_HISTORY.REQ_SEQ, out msg); //rollback if not success if (!String.IsNullOrEmpty(msg)) { dbTxn.Dispose(); return(ResponseUtility.ReturnFailMessage(response, timer, BodyMessage)); } oREPORT_HISTORY.REPORT_HISTORY_SEQ = HISTORY_SEQ; oREPORT_HISTORY.OUTPUT_AT = Utility_Component.dtColumnToDateTime(DateTime.Now.ToString()); oREPORT_HISTORY.OUTPUT_FILE = COMPANY_NO_BOX + "-1-" + REQ_SEQ + "_注文書_" + COMPANY_NAME + "様.pdf"; oREPORT_HISTORY.EMAIL_ADDRESS = null; DAL_REPORT_HISTORY.Insert(oREPORT_HISTORY, CURRENT_DATETIME, CURRENT_USER, out msg); //rollback if not success if (!String.IsNullOrEmpty(msg)) { dbTxn.Dispose(); return(ResponseUtility.MailSendingFail(response, timer, BodyMessage)); } #endregion #region Save File //get destination path form config table BOL_CONFIG config = new BOL_CONFIG("CTS050", con); string destination = config.getStringValue("fileSavePath.purchaseOrder"); SaveFile(file, destination, oREPORT_HISTORY.OUTPUT_FILE, out msg); if (!string.IsNullOrEmpty(msg)) { dbTxn.Dispose(); response.Status = 0; timer.Stop(); response.Meta.Duration = timer.Elapsed.TotalSeconds; response.Message = "File Path Not Found"; //add in body message DataRow row = BodyMessage.NewRow(); row["Error Message"] = "File Path Not Found"; BodyMessage.Rows.Add(row); response.Data = Utility_Component.DtToJSon(BodyMessage, "Message"); return(response); } #endregion #region SendMail bool mailSuccess = PrepareAndSendMail(); if (!mailSuccess) { dbTxn.Dispose(); return(ResponseUtility.MailSendingFail(response, timer, BodyMessage)); } #endregion //all process success dbTxn.Complete(); response.Status = 1; response.Message = string.Format(Utility.Messages.Jimugo.I000ZZ016, "注文登録"); DataRow dr = BodyMessage.NewRow(); dr["Message"] = response.Message; dr["UPDATED_AT"] = UPDATED_AT_DATETIME; dr["UPDATED_AT_RAW"] = CURRENT_DATETIME; BodyMessage.Rows.Add(dr); response.Data = Utility_Component.DtToJSon(BodyMessage, "Message"); timer.Stop(); response.Meta.Duration = timer.Elapsed.TotalSeconds; return(response); } catch (Exception ex) { dbTxn.Dispose(); ResponseUtility.GetUnexpectedResponse(response, timer, ex); //add in body message DataRow dr = BodyMessage.NewRow(); dr["Error Message"] = "something went wrong."; BodyMessage.Rows.Add(dr); response.Data = Utility_Component.DtToJSon(BodyMessage, "Message"); return(response); } } }