Ejemplo n.º 1
0
 public ExtractFormatDTO GetAccountExtractFormat(string pAcctCode)
 {
     SAPbobsCOM.Recordset lObjResults = (SAPbobsCOM.Recordset)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset);
     try
     {
         string lStrQuery = this.GetSQL("GetAccountExtractFormat").InjectSingleValue("AcctCode", pAcctCode);
         lObjResults.DoQuery(lStrQuery);
         if (lObjResults.RecordCount > 0)
         {
             ExtractFormatDTO lObjExtractFormat = new ExtractFormatDTO();
             lObjExtractFormat.Code = lObjResults.GetColumnValue <string>("U_FZ_ExtFormat");
             lObjExtractFormat.Name = lObjResults.GetColumnValue <string>("Name");
             if (lObjExtractFormat.Code == null || lObjExtractFormat.Code == "")
             {
                 return(null);
             }
             return(lObjExtractFormat);
         }
         return(null);
     }
     catch (Exception e)
     {
         LogUtility.WriteError(string.Format("[ExtractFormatDAO - GetAccountExtractFormat] Error al obtener el formato de la cuenta {0}: {1}", pAcctCode, e.Message));
         throw new Exception(string.Format("Error al obtener el formato de la cuenta {0}: {1}", pAcctCode, e.Message));
     }
     finally
     {
         MemoryUtility.ReleaseComObject(lObjResults);
     }
 }
Ejemplo n.º 2
0
        private void SBO_Application_ItemEvent(string FormUID, ref SAPbouiCOM.ItemEvent pVal, out bool BubbleEvent)
        {
            BubbleEvent = true;
            try
            {
                if (pVal.FormUID != mObjForm.UniqueID)
                {
                    return;
                }
                if (!pVal.BeforeAction)
                {
                    switch (pVal.EventType)
                    {
                    case SAPbouiCOM.BoEventTypes.et_VALIDATE:
                        if (pVal.ItemUID == mEdtAccountField.Item.UniqueID)
                        {
                            string lStrGLAcct = (mObjForm.Items.Item(STR_SEARCH_UID).Specific as SAPbouiCOM.EditText).Value;
                            mObjExtractFormat               = mObjExtractFormatDAO.GetAccountExtractFormat(lStrGLAcct);
                            mBtnImport.Item.Visible         = mObjExtractFormat != null;
                            mTxtSelectedFormat.Item.Visible = mObjExtractFormat != null;
                            if (mObjExtractFormat != null)
                            {
                                mTxtSelectedFormat.Caption = string.Format("Formato: {0}", mObjExtractFormat.Name);
                            }
                        }
                        break;

                    case SAPbouiCOM.BoEventTypes.et_CLICK:
                        if (pVal.ItemUID == mBtnImport.Item.UniqueID)
                        {
                            if (mEdtAccountField.Value != "")
                            {
                                // Based on the sellected account's bank, select the proper formatter.
                                switch (mObjExtractFormat.Code)
                                {
                                case "BANAMEX":
                                    mObjExtractFormatter = new BanamexFormatter();
                                    break;

                                case "BANCOMER":
                                    mObjExtractFormatter = new BancomerFormatter();
                                    break;

                                case "BANORTE":
                                    mObjExtractFormatter = new BanorteFormatter();
                                    break;

                                case "SANTANDER":
                                    mObjExtractFormatter = new SantanderFormatter();
                                    break;

                                case "SCOTIABANK":
                                    mObjExtractFormatter = new ScotiabankFormatter();
                                    break;

                                default:
                                    Application.SBO_Application.MessageBox("Formato no soportado.");
                                    return;
                                }
                                showOpenFileDialog();
                            }
                            else
                            {
                                Application.SBO_Application.MessageBox("No se selecciono una Cuenta Contable.");
                            }
                        }
                        break;
                    }
                }
                else
                {
                    switch (pVal.EventType)
                    {
                    case SAPbouiCOM.BoEventTypes.et_FORM_CLOSE:
                        UnloadEvents();
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                Application.SBO_Application.MessageBox(ex.Message);
            }
        }