protected void SelectFormaPagoAction()
        {
            if (FormaPago_CB.SelectedItem == null)
            {
                return;
            }

            EFormaPago fPago = (EFormaPago)(long)FormaPago_CB.SelectedValue;

            switch (fPago)
            {
            case EFormaPago.Contado:
                DiasPago_NTB.Enabled = false;
                _entity.DiasPago     = 0;
                break;

            case EFormaPago.XDiasFechaFactura:
                DiasPago_NTB.Enabled = true;
                break;

            case EFormaPago.XDiasMes:
                DiasPago_NTB.Enabled = true;
                break;
            }
        }
예제 #2
0
        protected virtual void SetFormaPago()
        {
            if (!ControlsMng.IsCurrentItemValid(Datos_DGW))
            {
                return;
            }
            CreditCard item = ControlsMng.GetCurrentItem(Datos_DGW) as CreditCard;

            EFormaPago[] list;

            if (item.ETipoTarjeta == ETipoTarjeta.Credito)
            {
                list = new EFormaPago[] { EFormaPago.MesVencido, EFormaPago.XDiasMes }
            }
            ;
            else
            {
                list = new EFormaPago[] { EFormaPago.Contado }
            };

            SelectEnumInputForm form = new SelectEnumInputForm(true);

            form.SetDataSource(Library.Common.EnumText <EFormaPago> .GetList(list));

            if (form.ShowDialog(this) == DialogResult.OK)
            {
                ComboBoxSource forma_pago = form.Selected as ComboBoxSource;

                item.FormaPago = forma_pago.Oid;
                Datos_DGW.CurrentCell.Value = item.FormaPagoLabel;
            }
        }
예제 #3
0
        public static DateTime GetPrevisionPago(EFormaPago forma_pago, DateTime fecha_base, long dias_credito, long dia_extracto)
        {
            switch (forma_pago)
            {
            case EFormaPago.Contado:
                return(fecha_base);

            case EFormaPago.XDiasFechaFactura:
                return(fecha_base.AddDays(dias_credito));

            case EFormaPago.XDiasMes:
            {
                DateTime f;
                f = fecha_base.AddMonths(1);
                f = new DateTime(f.Year, f.Month, 1);
                return(f.AddDays(dias_credito - 1));
            }

            case EFormaPago.MesVencido:
            {
                DateTime f;
                f = fecha_base.AddMonths(1);
                f = new DateTime(f.Year, f.Month, (dias_credito != 0) ? (int)dias_credito : 1);

                if (fecha_base.Day <= dia_extracto)
                {
                    return(f);
                }
                else
                {
                    return(f.AddMonths(1));
                }
            }

            case EFormaPago.Trimestral:
            {
                DateTime f = fecha_base;

                switch ((int)(fecha_base.Month % 3))
                {
                case 1: f = fecha_base.AddMonths(3); break;

                case 2: f = fecha_base.AddMonths(2); break;

                case 0: f = fecha_base.AddMonths(1); break;
                }

                try
                {
                    return(DateAndTime.Parse(Convert.ToInt32(dias_credito), f.Month, f.Year));
                }
                catch { return(f); }
            }
            }

            return(fecha_base);
        }
        private void FormaPago_CB_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (FormaPago_CB.SelectedValue == null)
            {
                return;
            }
            EFormaPago forma_pago = (EFormaPago)(long)FormaPago_CB.SelectedValue;

            _entity.EFormaPago = forma_pago;

            _entity.Prevision = Library.Common.EnumFunctions.GetPrevisionPago(forma_pago, _entity.Fecha, _entity.DiasPago);
            Prevision_TB.Text = _entity.Prevision.ToShortDateString();
        }
예제 #5
0
 public static DateTime GetPrevisionPago(EFormaPago forma_pago, DateTime fecha_base, long dias_credito)
 {
     return(GetPrevisionPago(forma_pago, fecha_base, dias_credito, 1));
 }