Пример #1
0
        public void Update(BOL_EDI_CANDIDATE oEDI_CANDIDATE, string CURRENT_DATETIME, string CURRENT_USER, out String strMsg)
        {
            ConnectionMaster oMaster = new ConnectionMaster(strConnectionString, strUpdate);

            oMaster.crudCommand.Parameters.Add(new SqlParameter("@EDI_ACCOUNT", oEDI_CANDIDATE.EDI_ACCOUNT));
            oMaster.crudCommand.Parameters.Add(new SqlParameter("@USED_FLG", oEDI_CANDIDATE.USED_FLG));
            oMaster.crudCommand.Parameters.Add(new SqlParameter("@CURRENT_USER", CURRENT_USER));
            oMaster.crudCommand.Parameters.Add(new SqlParameter("@CURRENT_DATETIME", CURRENT_DATETIME));
            oMaster.ExcuteQuery(2, out strMsg);
        }
        private BOL_EDI_CANDIDATE GetEDI_CANDIDATE(USAGE_INFO_REGISTRATION oUSAGE_INFO_REG)
        {
            BOL_EDI_CANDIDATE oEDI_CANDIDATE = new BOL_EDI_CANDIDATE();

            oEDI_CANDIDATE.EDI_ACCOUNT = oUSAGE_INFO_REG.EDI_ACCOUNT;
            oEDI_CANDIDATE.USED_FLG    = "*";
            oEDI_CANDIDATE.CREATED_BY  = oUSAGE_INFO_REG.UPDATED_BY;
            oEDI_CANDIDATE.UPDATED_BY  = oUSAGE_INFO_REG.UPDATED_BY;

            return(oEDI_CANDIDATE);
        }
        private void HandleInsert(USAGE_INFO_REGISTRATION oUSAGE_INFO_REG, string OPERATION, DataRow row)
        {
            string strMsg = "";

            //Search in EDI_CANDICATE
            BOL_EDI_CANDIDATE oEDI_CANDIDATE = new BOL_EDI_CANDIDATE();

            EDI_CANDIDATE DAL_EDI_CANDICATE = new EDI_CANDIDATE(con);
            DataTable     dtUseFLG          = DAL_EDI_CANDICATE.GetUseFLG(oUSAGE_INFO_REG.EDI_ACCOUNT, out strMsg);

            using (TransactionScope dbTxn = new TransactionScope())
            {
                //Prepare EDI CANDIDATE
                oEDI_CANDIDATE = GetEDI_CANDIDATE(oUSAGE_INFO_REG);


                if (dtUseFLG.Rows.Count == 0)
                {
                    //Insert AS USED
                    DAL_EDI_CANDICATE.Insert(oEDI_CANDIDATE, CURRENT_DATETIME, CURRENT_USER, out strMsg);
                }
                else
                {
                    if (dtUseFLG.Rows[0]["USED_FLG"].ToString() == "*") //if record is already used
                    {
                        ResponseUtility.ReturnFailMessage(row, Utility.Messages.Jimugo.E000WB013);
                        return;
                    }
                    else
                    {
                        //set used flage
                        oEDI_CANDIDATE.USED_FLG = "*";
                        //Update as USED
                        DAL_EDI_CANDICATE.Update(oEDI_CANDIDATE, CURRENT_DATETIME, CURRENT_USER, out strMsg);
                    }
                }

                EDI_ACCOUNT     DAL_EDI_ACCOUNT = new EDI_ACCOUNT(con);
                BOL_EDI_ACCOUNT oEDI_ACCOUNT    = GetEDI_ACCOUNT(oUSAGE_INFO_REG);

                if (DAL_EDI_ACCOUNT.IsCompanyNoBoxAlreadyRegistered(oEDI_ACCOUNT.COMPANY_NO_BOX, out strMsg))
                {
                    ResponseUtility.ReturnFailMessage(row, String.Format(Utility.Messages.Jimugo.E000ZZ038, "会社番号+BOX"));
                    return;
                }

                if (DAL_EDI_ACCOUNT.IsEDIAccountAlreadyRegistered(oEDI_ACCOUNT.EDI_ACCOUNT, out strMsg))
                {
                    ResponseUtility.ReturnFailMessage(row, String.Format(Utility.Messages.Jimugo.E000ZZ038, "EDIアカウント"));
                    return;
                }

                DAL_EDI_ACCOUNT.Insert(oEDI_ACCOUNT, CURRENT_DATETIME, CURRENT_USER, out strMsg);

                #region ASSIGN_MK_VALUE_AND_MESSAGES

                if (String.IsNullOrEmpty(strMsg)) //success
                {
                    dbTxn.Complete();
                    ResponseUtility.ReturnSuccessMessage(row, UPDATED_AT_DATETIME, CURRENT_DATETIME, CURRENT_USER);
                }
                else //failed
                {
                    ResponseUtility.ReturnFailMessage(row);
                }
            }
            #endregion
        }