public MetaResponse UpdateRequestDetail(string list) { try { DataTable dgvList = Utility.Utility_Component.JsonToDt(list); for (int i = 0; i < dgvList.Rows.Count; i++) { BOL_REQUEST_DETAIL oREQUEST_DETAIL = new BOL_REQUEST_DETAIL(); oREQUEST_DETAIL = Cast_REQUEST_DETAIL(dgvList.Rows[i]); BOL_REQUEST_ID oREQUEST_ID = new BOL_REQUEST_ID(); oREQUEST_ID = Cast_REQUEST_ID(dgvList.Rows[i]); switch (dgvList.Rows[i]["MK"].ToString()) { case "M": HandleModify(oREQUEST_DETAIL, oREQUEST_ID, dgvList.Rows[i]); break; default: break; } } response.Status = 1; response.Data = Utility.Utility_Component.DtToJSon(dgvList, "Application List Update");; timer.Stop(); response.Meta.Duration = timer.Elapsed.TotalSeconds; return(response); } catch (Exception ex) { return(ResponseUtility.GetUnexpectedResponse(response, timer, ex)); } }
private BOL_REQUEST_DETAIL Cast_REQUEST_DETAIL(DataRow row) { BOL_REQUEST_DETAIL oREQUEST_DETAIL = new BOL_REQUEST_DETAIL(); oREQUEST_DETAIL.CLIENT_CERTIFICATE_SEND_EMAIL_ADDRESS = row["CLIENT_CERTIFICATE_SEND_EMAIL_ADDRESS"].ToString(); oREQUEST_DETAIL.COMPANY_NAME = row["COMPANY_NAME"].ToString(); return(oREQUEST_DETAIL); }
public MetaResponse GDConfirmRequest(string list) { try { string msg = ""; DataTable dgvList = Utility.Utility_Component.JsonToDt(list); for (int i = 0; i < dgvList.Rows.Count; i++) { BOL_REQUEST_DETAIL oREQUEST_DETAIL = new BOL_REQUEST_DETAIL(); BOL_REQUEST_ID oREQUEST_ID = new BOL_REQUEST_ID(); //cast into objects oREQUEST_ID = Cast_REQUEST_ID(dgvList.Rows[i]); oREQUEST_DETAIL = Cast_REQUEST_DETAIL(dgvList.Rows[i]); //send mail bool mailSuccess = PrepareAndSendMail(oREQUEST_DETAIL, true, null); if (mailSuccess) { REQUEST_ID DAL_REQUEST_ID = new REQUEST_ID(con); if (!DAL_REQUEST_ID.IsAlreadyUpdated(oREQUEST_ID, out msg)) { //set GD to 1 oREQUEST_ID.GD = 1; //insert the record DAL_REQUEST_ID.GDConfirmationRequestUpdate(oREQUEST_ID, CURRENT_DATETIME, CURRENT_USER, out msg); //return message and MK value if (String.IsNullOrEmpty(msg)) //success { ResponseUtility.ReturnSuccessMessage(dgvList.Rows[i], UPDATED_AT_DATETIME, CURRENT_DATETIME, CURRENT_USER, string.Format(Utility.Messages.Jimugo.I000ZZ016, "GD確認依頼")); } else //failed { ResponseUtility.ReturnFailMessage(dgvList.Rows[i]); } } } else { ResponseUtility.MailSendingFail(dgvList.Rows[i]); } } response.Status = 1; response.Data = Utility.Utility_Component.DtToJSon(dgvList, "GD Confirm Request");; timer.Stop(); response.Meta.Duration = timer.Elapsed.TotalSeconds; return(response); } catch (Exception ex) { return(ResponseUtility.GetUnexpectedResponse(response, timer, ex)); } }
private void HandleModify(BOL_REQUEST_DETAIL oREQUEST_DETAIL, BOL_REQUEST_ID oREQUEST_ID, DataRow row) { string msg = ""; using (TransactionScope dbTxn = new TransactionScope()) { #region UPDATE REQUEST_DETSIL REQUEST_DETAIL DAL_REQUEST_DETAIL = new REQUEST_DETAIL(con); if (!DAL_REQUEST_DETAIL.IsAlreadyUpdated(oREQUEST_DETAIL, out msg)) // If updated_at is not already modified { //insert the record DAL_REQUEST_DETAIL.UpdateUsageApplication(oREQUEST_DETAIL, CURRENT_DATETIME, CURRENT_USER, out msg); if (!string.IsNullOrEmpty(msg)) { dbTxn.Dispose(); ResponseUtility.ReturnFailMessage(row); return; } } else { dbTxn.Dispose(); ResponseUtility.ReturnFailMessage(row); return; } #endregion #region UPDATE REQUEST_ID REQUEST_ID DAL_REQUEST_ID = new REQUEST_ID(con); if (!DAL_REQUEST_ID.IsAlreadyUpdated(oREQUEST_ID, out msg)) // If updated_at is not already modified { //insert the record DAL_REQUEST_ID.UpdateUsageApplication(oREQUEST_ID, CURRENT_DATETIME, CURRENT_USER, out msg); } else { dbTxn.Dispose(); ResponseUtility.ReturnFailMessage(row); return; } //return message and MK value if (String.IsNullOrEmpty(msg)) //success { dbTxn.Complete(); ResponseUtility.ReturnSuccessMessage(row, UPDATED_AT_DATETIME, CURRENT_DATETIME, CURRENT_USER); } else //failed { dbTxn.Dispose(); ResponseUtility.ReturnFailMessage(row); } #endregion } }
private BOL_REQUEST_DETAIL Cast_REQUEST_DETAIL() { BOL_REQUEST_DETAIL oREQUEST_DETAIL = new BOL_REQUEST_DETAIL(); oREQUEST_DETAIL.ORDER_DATE = Utility_Component.dtColumnToDateTime(GetParameterByKey("ORDER_DATE")); oREQUEST_DETAIL.SYSTEM_EFFECTIVE_DATE = Utility_Component.dtColumnToDateTime(GetParameterByKey("SYSTEM_EFFECTIVE_DATE")); oREQUEST_DETAIL.SYSTEM_REGIST_DEADLINE = Utility_Component.dtColumnToDateTime(GetParameterByKey("SYSTEM_REGISTER_DEADLINE")); oREQUEST_DETAIL.COMPANY_NO_BOX = GetParameterByKey("COMPANY_NO_BOX"); oREQUEST_DETAIL.REQ_SEQ = Utility_Component.dtColumnToInt(GetParameterByKey("REQ_SEQ")); return(oREQUEST_DETAIL); }
public MetaResponse UpdateApplicationCancel(string list) { try { string msg = ""; DataTable dgvList = Utility.Utility_Component.JsonToDt(list); for (int i = 0; i < dgvList.Rows.Count; i++) { BOL_REQUEST_DETAIL oREQUEST_DETAIL = new BOL_REQUEST_DETAIL(); oREQUEST_DETAIL = Cast_REQUEST_DETAIL(dgvList.Rows[i]); REQUEST_DETAIL DAL_REQUEST_DETAIL = new REQUEST_DETAIL(con); //already setting if (oREQUEST_DETAIL.SYSTEM_SETTING_STATUS != 0) { ResponseUtility.ReturnFailMessage(dgvList.Rows[i], Messages.Jimugo.E000WB011); } else { if (!DAL_REQUEST_DETAIL.IsAlreadyUpdated(oREQUEST_DETAIL, out msg)) // If updated_at is not already modified { //insert the record DAL_REQUEST_DETAIL.ApplicationCancelUpdate(oREQUEST_DETAIL, CURRENT_DATETIME, CURRENT_USER, out msg); //return message and MK value if (String.IsNullOrEmpty(msg)) //success { dgvList.Rows[i]["REQ_STATUS"] = "申請取消"; ResponseUtility.ReturnSuccessMessage(dgvList.Rows[i], UPDATED_AT_DATETIME, CURRENT_DATETIME, CURRENT_USER, string.Format(Utility.Messages.Jimugo.I000ZZ016, "申請取消")); } else //failed { ResponseUtility.ReturnFailMessage(dgvList.Rows[i]); } } else { ResponseUtility.ReturnFailMessage(dgvList.Rows[i]); } } } response.Status = 1; response.Data = Utility.Utility_Component.DtToJSon(dgvList, "Application Cancel ");; timer.Stop(); response.Meta.Duration = timer.Elapsed.TotalSeconds; return(response); } catch (Exception ex) { return(ResponseUtility.GetUnexpectedResponse(response, timer, ex)); } }
private BOL_REQUEST_DETAIL Cast_REQUEST_DETAIL(DataRow row) { BOL_REQUEST_DETAIL oREQUEST_DETAIL = new BOL_REQUEST_DETAIL(); oREQUEST_DETAIL.CLIENT_CERTIFICATE_SEND_EMAIL_ADDRESS = row["CLIENT_CERTIFICATE_SEND_EMAIL_ADDRESS"].ToString(); oREQUEST_DETAIL.COMPANY_NAME = row["COMPANY_NAME"].ToString(); //oCLIENT_CERTIFICATE.CREATED_AT = row["CREATED_AT"].ToString().Length >= 1 ? row["CREATED_AT"].ToString() : null;//check error //oCLIENT_CERTIFICATE.CREATED_BY = row["CREATED_BY"].ToString().Length >= 1 ? row["CREATED_BY"].ToString() : null; //oCLIENT_CERTIFICATE.UPDATED_AT = row["UPDATED_AT"].ToString().Length >= 1 ? row["UPDATED_AT"].ToString() : null; //oCLIENT_CERTIFICATE.UPDATED_BY = row["UPDATED_BY"].ToString().Length >= 1 ? row["UPDATED_BY"].ToString() : null; return(oREQUEST_DETAIL); }
private bool PrepareAndSendMail(BOL_REQUEST_DETAIL oREQUEST_DETAIL, bool REQUEST, string GD_CODE) { //prepare for mail parameters BOL_CONFIG config = new BOL_CONFIG("CTS020", con); string toAddress = REQUEST ? config.getStringValue("emailAddress.to.gdCheckReq") : config.getStringValue("emailAddress.to.gdChecked"); string ccAddress = config.getStringValue("emailAddress.cc"); string template_base_name = REQUEST ? "CTS020_GdCheckReq" : "CTS020_GdChecked"; string subject = REQUEST ? config.getStringValue("emailSubject.gdCheckReq") : config.getStringValue("emailSubject.gdChecked"); subject = subject.Replace("${companyName}", oREQUEST_DETAIL.COMPANY_NAME); Dictionary <string, string> map; //prepare for mail mapping if (REQUEST) { map = new Dictionary <string, string>() { { "${nmlCodeNissan}", oREQUEST_DETAIL.NML_CODE_NISSAN }, { "${nmlCodeNs}", oREQUEST_DETAIL.NML_CODE_NS }, { "${nmlCodeJatco}", oREQUEST_DETAIL.NML_CODE_JATCO }, { "${nmlCodeAk}", oREQUEST_DETAIL.NML_CODE_AK }, { "${nmlCodeNk}", oREQUEST_DETAIL.NML_CODE_NK }, { "${companyNoBox}", oREQUEST_DETAIL.COMPANY_NO_BOX }, { "${companyName}", oREQUEST_DETAIL.COMPANY_NAME }, { "${userId}", CURRENT_USER } }; } else { map = new Dictionary <string, string>() { { "${nmlCodeNissan}", oREQUEST_DETAIL.NML_CODE_NISSAN }, { "${nmlCodeNs}", oREQUEST_DETAIL.NML_CODE_NS }, { "${nmlCodeJatco}", oREQUEST_DETAIL.NML_CODE_JATCO }, { "${nmlCodeAk}", oREQUEST_DETAIL.NML_CODE_AK }, { "${nmlCodeNk}", oREQUEST_DETAIL.NML_CODE_NK }, { "${companyNoBox}", oREQUEST_DETAIL.COMPANY_NO_BOX }, { "${companyName}", oREQUEST_DETAIL.COMPANY_NAME }, { "${gdCode}", GD_CODE }, { "${userId}", CURRENT_USER } }; } //read email template string file_path = HttpContext.Current.Server.MapPath("~/Templates/Mail/" + template_base_name + ".txt"); string body = System.IO.File.ReadAllText(file_path); //send mail return(Utility.Mail.sendMail(toAddress, ccAddress, subject, body, map)); }
public MetaResponse GDConfirmComplete(string list) { try { string msg = ""; DataTable dgvList = Utility.Utility_Component.JsonToDt(list); for (int i = 0; i < dgvList.Rows.Count; i++) { //cast into objects BOL_REQUEST_DETAIL oREQUEST_DETAIL = new BOL_REQUEST_DETAIL(); BOL_REQUEST_ID oREQUEST_ID = new BOL_REQUEST_ID(); oREQUEST_DETAIL = Cast_REQUEST_DETAIL(dgvList.Rows[i]); oREQUEST_ID = Cast_REQUEST_ID(dgvList.Rows[i]); //get GD code By COMPANY NO BOX REQUEST_ID DAL_REQUEST_ID = new REQUEST_ID(con); string GD_CODE = DAL_REQUEST_ID.GetGDCode(oREQUEST_ID.COMPANY_NO_BOX.ToString(), out msg); if (string.IsNullOrEmpty(msg)) { #region Send Mail bool mailSuccess = PrepareAndSendMail(oREQUEST_DETAIL, false, GD_CODE); if (mailSuccess) //success { ResponseUtility.ReturnSuccessMessage(dgvList.Rows[i], UPDATED_AT_DATETIME, CURRENT_DATETIME, CURRENT_USER, string.Format(Utility.Messages.Jimugo.I000ZZ016, "GD確認完了")); } else //failed { ResponseUtility.MailSendingFail(dgvList.Rows[i]); } #endregion } else { ResponseUtility.ReturnFailMessage(dgvList.Rows[i]); } } response.Status = 1; response.Data = Utility.Utility_Component.DtToJSon(dgvList, "GD Confirmation Complete");; timer.Stop(); response.Meta.Duration = timer.Elapsed.TotalSeconds; return(response); } catch (Exception ex) { return(ResponseUtility.GetUnexpectedResponse(response, timer, ex)); } }
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); } } }
public MetaResponse Disapprove(string COMPANY_NO_BOX, int REQ_TYPE, string CHANGED_ITEMS, string SYSTEM_EFFECTIVE_DATE, string SYSTEM_REGIST_DEADLINE, string List) { try { DataSet ds = new DataSet(); DataTable Listing = Utility_Component.JsonToDt(List); DataRow row; if (Listing.Rows.Count > 1) { row = Listing.Rows[1]; } else { row = Listing.Rows[0]; } string msg = ""; BOL_REQUEST_DETAIL oREQUEST_DETAIL = new BOL_REQUEST_DETAIL(); oREQUEST_DETAIL.REQ_STATUS = 3; if (REQ_TYPE == 1 || REQ_TYPE == 9 || (REQ_TYPE == 2 && !string.IsNullOrEmpty(CHANGED_ITEMS.Trim()))) { oREQUEST_DETAIL.AMIGO_COOPERATION = 1; } else { oREQUEST_DETAIL.AMIGO_COOPERATION = 2; } oREQUEST_DETAIL.AMIGO_COOPERATION_CHENGED_ITEMS = CHANGED_ITEMS.Trim(); try { oREQUEST_DETAIL.SYSTEM_EFFECTIVE_DATE = Convert.ToDateTime(SYSTEM_EFFECTIVE_DATE); } catch (Exception) { } try { oREQUEST_DETAIL.SYSTEM_REGIST_DEADLINE = Convert.ToDateTime(SYSTEM_REGIST_DEADLINE); } catch (Exception) { } oREQUEST_DETAIL.REQ_SEQ = int.Parse(row["REQ_SEQ"].ToString()); oREQUEST_DETAIL.UPDATED_AT = row["UPDATED_AT_RAW"].ToString(); oREQUEST_DETAIL.COMPANY_NO_BOX = COMPANY_NO_BOX; REQUEST_DETAIL DAL_REQUEST_DETAIL = new REQUEST_DETAIL(con); DAL_REQUEST_DETAIL.Disapprove(oREQUEST_DETAIL, CURRENT_USER, CURRENT_DATETIME, out msg); if (!string.IsNullOrEmpty(msg)) { return(ResponseError(response, Utility.Messages.Jimugo.I000ZZ005, Listing, ds, row)); } CUSTOMER_MASTER DAL_CUSTOMER_MASTER = new CUSTOMER_MASTER(con); BOL_CUSTOMER_MASTER oCUSTOMER_MASTER = new BOL_CUSTOMER_MASTER(); oCUSTOMER_MASTER.COMPANY_NO_BOX = COMPANY_NO_BOX; oCUSTOMER_MASTER.REQ_SEQ = oREQUEST_DETAIL.REQ_SEQ; DAL_CUSTOMER_MASTER.Delete(oCUSTOMER_MASTER, out msg); if (string.IsNullOrEmpty(msg)) { DataTable dtMail = new DataTable(); bool success = DisapproveSendMail(row["COMPANY_NAME"].ToString(), row["INPUT_PERSON"].ToString(), row["INPUT_PERSON_EMAIL_ADDRESS"].ToString(), out dtMail); if (success) { response.Status = 1; row["UPDATED_AT"] = UPDATED_AT_DATETIME; row["UPDATED_AT_RAW"] = CURRENT_DATETIME; row["UPDATED_BY"] = CURRENT_USER; row["UPDATE_MESSAGE"] = string.Format(Messages.Jimugo.I000ZZ016, "否認"); Listing.TableName = "LISTING"; ds.Tables.Add(Listing.Copy()); dtMail.TableName = "MAIL"; ds.Tables.Add(dtMail.Copy()); } else { return(ResponseError(response, Utility.Messages.Jimugo.I000ZZ005, Listing, ds, row)); } } else { return(ResponseError(response, Utility.Messages.Jimugo.I000ZZ005, Listing, ds, row)); } response.Data = Utility.Utility_Component.DsToJSon(ds, "Approval"); timer.Stop(); response.Meta.Duration = timer.Elapsed.TotalSeconds; return(response); } catch (Exception ex) { return(ResponseUtility.GetUnexpectedResponse(response, timer, ex)); } }
public MetaResponse Approve(string COMPANY_NO_BOX, int REQ_TYPE, string REQ_TYPE_RAW, string CHANGED_ITEMS, string SYSTEM_EFFECTIVE_DATE, string SYSTEM_REGIST_DEADLINE, string List) { try { DataSet ds = new DataSet(); DataTable Listing = Utility_Component.JsonToDt(List); DataRow row; if (Listing.Rows.Count > 1) { row = Listing.Rows[1]; } else { row = Listing.Rows[0]; } string EMIAL_SENDING_TARGET_FLG = row["MAIL_SENDING_TARGET_FLG"].ToString().Trim(); string MAIL_DESTINATION = row["MAIL_DESTINATION"].ToString().Trim(); int TRANSACTION_TYPE = getTRANSACTION_TYPE(row["TRANSACTION_TYPE"].ToString().Trim()); DateTime START_USE_DATE = Convert.ToDateTime(row["START_USE_DATE"].ToString().Trim()); using (TransactionScope dbTxn = new TransactionScope()) { #region Approve BOL_REQUEST_DETAIL oREQUEST_DETAIL = new BOL_REQUEST_DETAIL(); oREQUEST_DETAIL.COMPANY_NO_BOX = COMPANY_NO_BOX; oREQUEST_DETAIL.REQ_STATUS = 2; if (REQ_TYPE == 1 || REQ_TYPE == 9 || (REQ_TYPE == 2 && !string.IsNullOrEmpty(CHANGED_ITEMS.Trim()))) { oREQUEST_DETAIL.AMIGO_COOPERATION = 1; } else { oREQUEST_DETAIL.AMIGO_COOPERATION = 2; } oREQUEST_DETAIL.AMIGO_COOPERATION_CHENGED_ITEMS = CHANGED_ITEMS.Trim(); try { oREQUEST_DETAIL.SYSTEM_EFFECTIVE_DATE = Convert.ToDateTime(SYSTEM_EFFECTIVE_DATE); } catch (Exception) { } try { oREQUEST_DETAIL.SYSTEM_REGIST_DEADLINE = Convert.ToDateTime(SYSTEM_REGIST_DEADLINE); } catch (Exception) { } oREQUEST_DETAIL.REQ_SEQ = int.Parse(row["REQ_SEQ"].ToString()); if (MAIL_DESTINATION == "1") { oREQUEST_DETAIL.SYSTEM_SETTING_STATUS = 1; } else { oREQUEST_DETAIL.SYSTEM_SETTING_STATUS = 0; } oREQUEST_DETAIL.UPDATED_AT = row["UPDATED_AT_RAW"].ToString(); string msg = ""; REQUEST_DETAIL DAL_REQUEST_DETAIL = new REQUEST_DETAIL(con); DAL_REQUEST_DETAIL.Approve(oREQUEST_DETAIL, CURRENT_USER, CURRENT_DATETIME, out msg); if (!string.IsNullOrEmpty(msg)) { return(ResponseError(response, Utility.Messages.Jimugo.I000ZZ005, Listing, ds, row)); } #endregion if (EMIAL_SENDING_TARGET_FLG == "*" && TRANSACTION_TYPE == 3) { DataTable LatestCustomer = new DataTable(); CUSTOMER_MASTER DAL_CUSTOMER_MASTER = new CUSTOMER_MASTER(con); if (REQ_TYPE == 2 || REQ_TYPE == 9) { LatestCustomer = DAL_CUSTOMER_MASTER.GetTopCustomerByKeys(oREQUEST_DETAIL.COMPANY_NO_BOX, TRANSACTION_TYPE, START_USE_DATE, out msg); } #region CONDUCT NEW CUSTOMER MASTER BOL_CUSTOMER_MASTER oCUSTOMER_MASTER = new BOL_CUSTOMER_MASTER(); if (LatestCustomer.Rows.Count > 0 && REQ_TYPE != 1) { oCUSTOMER_MASTER = Cast_CUSTOMER_MASTER(LatestCustomer.Rows[0]); } 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 = oREQUEST_DETAIL.REQ_SEQ; oCUSTOMER_MASTER.UPDATE_CONTENT = REQ_TYPE; DAL_CUSTOMER_MASTER.Delete(oCUSTOMER_MASTER, out msg); if (!string.IsNullOrEmpty(msg)) { return(ResponseError(response, Utility.Messages.Jimugo.I000ZZ005, Listing, ds, row)); } DAL_CUSTOMER_MASTER.Insert(oCUSTOMER_MASTER, CURRENT_DATETIME, CURRENT_USER, out msg); if (!string.IsNullOrEmpty(msg)) { return(ResponseError(response, Utility.Messages.Jimugo.I000ZZ005, Listing, ds, row)); } #endregion string CONTRACT_PLAN = row["CONTRACT_PLAN_RAW"].ToString().ToString(); if (CONTRACT_PLAN == "PRODUCT" && REQ_TYPE == 9) { //get latest customer for new applying time 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)) { #region Insert Browsing CUSTOMER MASTER BOL_CUSTOMER_MASTER oCUSTOMER_MASTER_BROWSING = new BOL_CUSTOMER_MASTER(); oCUSTOMER_MASTER_BROWSING = Cast_CUSTOMER_MASTER(LatestCustomer.Rows[0]); oCUSTOMER_MASTER_BROWSING.COMPANY_NO_BOX = COMPANY_NO_BOX; oCUSTOMER_MASTER_BROWSING.TRANSACTION_TYPE = TRANSACTION_TYPE; oCUSTOMER_MASTER_BROWSING.EFFECTIVE_DATE = Convert.ToDateTime(START_USE_DATE.Year + "/" + NEW_EFFECTIVE_DATE.Month + "/" + NEW_EFFECTIVE_DATE.Day); oCUSTOMER_MASTER_BROWSING.REQ_SEQ = oREQUEST_DETAIL.REQ_SEQ; oCUSTOMER_MASTER_BROWSING.UPDATE_CONTENT = REQ_TYPE; DAL_CUSTOMER_MASTER = new CUSTOMER_MASTER(con); DAL_CUSTOMER_MASTER.Insert(oCUSTOMER_MASTER_BROWSING, CURRENT_DATETIME, CURRENT_USER, out msg); if (!string.IsNullOrEmpty(msg)) { return(ResponseError(response, Utility.Messages.Jimugo.I000ZZ005, Listing, ds, row)); } #endregion } } } DataTable dtMail = new DataTable(); bool mailSuccess = false; if (EMIAL_SENDING_TARGET_FLG == "*" && MAIL_DESTINATION == "1") { mailSuccess = SendMailToMaintenance(COMPANY_NO_BOX, REQ_TYPE_RAW, row["COMPANY_NAME"].ToString(), CHANGED_ITEMS, SYSTEM_REGIST_DEADLINE, out dtMail); if (mailSuccess) { dbTxn.Complete(); return(SetSuccessMessage(row, Listing, dtMail, ds)); } else { return(ResponseError(response, Utility.Messages.Jimugo.I000ZZ005, Listing, ds, row)); } } else if (EMIAL_SENDING_TARGET_FLG == "*" && MAIL_DESTINATION == "2") { mailSuccess = SendMailToSupplier(row["COMPANY_NAME"].ToString(), row["INPUT_PERSON"].ToString(), row["INPUT_PERSON_EMAIL_ADDRESS"].ToString(), out dtMail); if (mailSuccess) { dbTxn.Complete(); return(SetSuccessMessage(row, Listing, dtMail, ds)); } else { return(ResponseError(response, Utility.Messages.Jimugo.I000ZZ005, Listing, ds, row)); } } dbTxn.Complete(); return(SetSuccessMessage(row, Listing, dtMail, ds)); } } catch (Exception ex) { return(ResponseUtility.GetUnexpectedResponse(response, timer, ex)); } }
public MetaResponse SendMail(string ClientCertificateList) { try { string strMsg = ""; bool mailSuccess = false; ArrayList company_no_boxs = new ArrayList(); DataTable dgvList = Utility.Utility_Component.JsonToDt(ClientCertificateList); List <string> l_SentMail = new List <string>(); for (int i = 0; i < dgvList.Rows.Count; i++) { DataRow dr = dgvList.Rows[i]; string l_COMPANY_NO_BOX = dr["COMPANY_NO_BOX"].ToString(); var certificate_list = dgvList.AsEnumerable().Where(row => row.Field <string>("COMPANY_NO_BOX") == l_COMPANY_NO_BOX).Select(s => s.Field <string>("CLIENT_CERTIFICATE_NO")).ToArray(); BOL_CLIENT_CERTIFICATE oCLIENT_CERTIFICATE = new BOL_CLIENT_CERTIFICATE(); oCLIENT_CERTIFICATE = Cast_CLIENT_CERTIFICATE(dr); //check method BOL_REQUEST_DETAIL oREQUEST_DETAIL = new BOL_REQUEST_DETAIL(); oREQUEST_DETAIL = Cast_REQUEST_DETAIL(dr); CLIENT_CERTIFICATE DAL_CLIENT_CERTIFICATE = new CLIENT_CERTIFICATE(con); if (l_SentMail.Where(x => x == l_COMPANY_NO_BOX).ToList().Count <= 0) { l_SentMail.Add(l_COMPANY_NO_BOX); mailSuccess = PrepareAndSendMail(certificate_list, oREQUEST_DETAIL.COMPANY_NAME, oREQUEST_DETAIL.CLIENT_CERTIFICATE_SEND_EMAIL_ADDRESS, oCLIENT_CERTIFICATE.EXPIRATION_DATE, oCLIENT_CERTIFICATE.PASSWORD, oCLIENT_CERTIFICATE.FY); if (mailSuccess) { //update email sent date DAL_CLIENT_CERTIFICATE.EmailButtonUpdate(oCLIENT_CERTIFICATE, UPDATED_AT_DATETIME, CURRENT_DATETIME, CURRENT_USER, out strMsg); if (String.IsNullOrEmpty(strMsg)) { //success dr["DISTRIBUTION_DATE"] = UPDATED_AT_DATETIME; ResponseUtility.ReturnMailSuccessMessage(dr, UPDATED_AT_DATETIME, CURRENT_DATETIME, CURRENT_USER); } else { //already use in another process ResponseUtility.ReturnFailMessage(dr); } } else { //fail message ResponseUtility.MailSendingFail(dr); } } else { //update email sent date DAL_CLIENT_CERTIFICATE.EmailButtonUpdate(oCLIENT_CERTIFICATE, UPDATED_AT_DATETIME, CURRENT_DATETIME, CURRENT_USER, out strMsg); if (String.IsNullOrEmpty(strMsg)) { //success dr["DISTRIBUTION_DATE"] = UPDATED_AT_DATETIME; ResponseUtility.ReturnMailSuccessMessage(dr, UPDATED_AT_DATETIME, CURRENT_DATETIME, CURRENT_USER); } else { //already use in another process ResponseUtility.ReturnFailMessage(dr); } } } response.Data = Utility.Utility_Component.DtToJSon(dgvList, "Mail status");; timer.Stop(); response.Meta.Duration = timer.Elapsed.TotalSeconds; return(response); } catch (Exception ex) { return(ResponseUtility.GetUnexpectedResponse(response, timer, ex)); } }
private BOL_REQUEST_DETAIL Cast_REQUEST_DETAIL(DataRow row) { BOL_REQUEST_DETAIL oREQUEST_DETAIL = new BOL_REQUEST_DETAIL(); oREQUEST_DETAIL.COMPANY_NO_BOX = row["COMPANY_NO_BOX"].ToString(); oREQUEST_DETAIL.REQ_SEQ = Utility_Component.dtColumnToInt(row["REQ_SEQ"].ToString()); oREQUEST_DETAIL.COMPANY_NAME = row["COMPANY_NAME"].ToString(); oREQUEST_DETAIL.CLOSE_FLG = row["CLOSE_FLG"].ToString(); string str_REQ_TYPE = row["REQ_TYPE"].ToString(); switch (str_REQ_TYPE) { case "新規": oREQUEST_DETAIL.REQ_TYPE = 1; break; case "変更": oREQUEST_DETAIL.REQ_TYPE = 2; break; case "解約": oREQUEST_DETAIL.REQ_TYPE = 9; break; default: break; } string str_REQ_STATUS = row["REQ_STATUS"].ToString(); switch (str_REQ_STATUS) { case "仮登録(保存": oREQUEST_DETAIL.REQ_STATUS = 0; break; case "申請中": oREQUEST_DETAIL.REQ_STATUS = 1; break; case "承認済": oREQUEST_DETAIL.REQ_STATUS = 2; break; case "否認": oREQUEST_DETAIL.REQ_STATUS = 3; break; case "申請取消": oREQUEST_DETAIL.REQ_STATUS = 9; break; default: break; } oREQUEST_DETAIL.REQ_DATE = Utility_Component.dtColumnToDateTime(row["REQ_DATE"].ToString()); oREQUEST_DETAIL.QUOTATION_DATE = Utility_Component.dtColumnToDateTime(row["QUOTATION_DATE"].ToString()); oREQUEST_DETAIL.ORDER_DATE = Utility_Component.dtColumnToDateTime(row["ORDER_DATE"].ToString()); oREQUEST_DETAIL.SYSTEM_EFFECTIVE_DATE = Utility_Component.dtColumnToDateTime(row["SYSTEM_EFFECTIVE_DATE"].ToString()); string str_system_status = row["SYSTEM_SETTING_STATUS"].ToString(); if (str_system_status == "依頼中") { oREQUEST_DETAIL.SYSTEM_SETTING_STATUS = 1; } else if (str_system_status == "設定済み") { oREQUEST_DETAIL.SYSTEM_SETTING_STATUS = 2; } else { oREQUEST_DETAIL.SYSTEM_SETTING_STATUS = 0; } oREQUEST_DETAIL.COMPLETION_NOTIFICATION_DATE = Utility_Component.dtColumnToDateTime(row["COMPLETION_NOTIFICATION_DATE"].ToString()); oREQUEST_DETAIL.NML_CODE_NISSAN = row["NML_CODE_NISSAN"].ToString(); oREQUEST_DETAIL.NML_CODE_NS = row["NML_CODE_NS"].ToString(); oREQUEST_DETAIL.NML_CODE_JATCO = row["NML_CODE_JATCO"].ToString(); oREQUEST_DETAIL.NML_CODE_AK = row["NML_CODE_AK"].ToString(); oREQUEST_DETAIL.NML_CODE_NK = row["NML_CODE_NK"].ToString(); oREQUEST_DETAIL.UPDATED_AT = row["UPDATED_AT"].ToString(); oREQUEST_DETAIL.UPDATED_AT_RAW = row["UPDATED_AT_RAW"].ToString(); return(oREQUEST_DETAIL); }