예제 #1
0
        /// <summary>
        /// Maneja los eventos de los item del formulario
        /// </summary>
        /// <param name="FormUID"></param>
        /// <param name="pVal"></param>
        /// <param name="BubbleEvent"></param>
        public static void m_SBO_Appl_ItemEvent(string FormUID, ref SAPbouiCOM.ItemEvent pVal, out bool BubbleEvent)
        {
            BubbleEvent = true;
            SAPbouiCOM.Form oForm = null;
            string          Pago  = string.Empty;
            string          Fecha = string.Empty;

            try
            {
                oForm = Conexion_SBO.m_SBO_Appl.Forms.Item(FormUID);
                if (pVal.BeforeAction == false)
                {
                    if (pVal.EventType == SAPbouiCOM.BoEventTypes.et_LOST_FOCUS)
                    {
                        if (pVal.ItemUID.Equals("6"))
                        {
                            // Obtener Fecha
                            Fecha = ((SAPbouiCOM.EditText)oForm.Items.Item("6").Specific).String;

                            int Index = 0;

                            // Asociar Pagos
                            List <string> ListaPagos = PagosMasivos.ObtenerPagosExistentes(Fecha);

                            if (ListaPagos.Count > 0)
                            {
                                SAPbouiCOM.Item     oItem     = oForm.Items.Item("4");
                                SAPbouiCOM.ComboBox oComboBox = ((SAPbouiCOM.ComboBox)(oItem.Specific));
                                oComboBox.Item.DisplayDesc = true;

                                // Limpiar Combobox si tiene datos y eliminar userdatasource
                                if (oComboBox.ValidValues.Count > 0)
                                {
                                    FuncionesComunes.BorrarCombo(FormUID, "4");
                                    oComboBox.DataBind.UnBind();
                                }

                                foreach (string pago in ListaPagos)
                                {
                                    oComboBox.ValidValues.Add(Index.ToString(), pago);
                                    Index++;
                                }
                                oComboBox.DataBind.SetBound(true, "", "udsPagos");
                            }
                            else
                            {
                                FuncionesComunes.BorrarCombo(FormUID, "4");
                                Conexion_SBO.m_SBO_Appl.StatusBar.SetText(string.Format("No se encontraron pagos en fecha: {0}", Fecha), SAPbouiCOM.BoMessageTime.bmt_Long, SAPbouiCOM.BoStatusBarMessageType.smt_Warning);
                            }
                        }
                    }
                    if (pVal.EventType == SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED)
                    {
                        // boton Generar
                        if (pVal.ItemUID.Equals("1"))
                        {
                            // Obtener Fecha
                            Fecha = ((SAPbouiCOM.EditText)oForm.Items.Item("6").Specific).String;

                            // Obtener pago
                            Pago = ((SAPbouiCOM.ComboBox)oForm.Items.Item("4").Specific).Value;

                            // Validar ingreso de pago
                            result = ValidarCampos(Fecha, Pago);
                            if (result.Success)
                            {
                                Pago   = ((SAPbouiCOM.ComboBox)oForm.Items.Item("4").Specific).Selected.Description;
                                result = PagosMasivos.GestionarPagoMasivo(Pago);

                                if (result.Success)
                                {
                                    Conexion_SBO.m_SBO_Appl.StatusBar.SetText(result.Mensaje, SAPbouiCOM.BoMessageTime.bmt_Long, SAPbouiCOM.BoStatusBarMessageType.smt_Success);
                                }
                                else
                                {
                                    Conexion_SBO.m_SBO_Appl.StatusBar.SetText(result.Mensaje, SAPbouiCOM.BoMessageTime.bmt_Long, SAPbouiCOM.BoStatusBarMessageType.smt_Error);
                                }
                            }
                            else
                            {
                                Conexion_SBO.m_SBO_Appl.StatusBar.SetText(result.Mensaje, SAPbouiCOM.BoMessageTime.bmt_Long, SAPbouiCOM.BoStatusBarMessageType.smt_Warning);
                            }
                        }
                        // boton cancelar
                        else if (pVal.ItemUID.Equals("2"))
                        {
                            oForm.Close();
                        }
                    }
                }
            }
            catch
            {
            }
        }