Exemplo n.º 1
0
        protected override void SubmitAction()
        {
            _tipo = (ETipoAlbaranes)Enum.Parse(typeof(ETipoAlbaranes), this.TipoAlbaran_CB.Text);
            long serie = TodosSerie_CkB.Checked ? 0 : _serie.Oid;
            OutputDeliveryList lista = null;

            switch (this._tipo)
            {
            case ETipoAlbaranes.Todos:
            case ETipoAlbaranes.Lista:
                lista = OutputDeliveryList.GetList(true, 0, ETipoEntidad.Cliente, serie, this.FInicial_DTP.Value, this.FFinal_DTP.Value);
                break;

            case ETipoAlbaranes.Facturados:
                lista = OutputDeliveryList.GetFacturados(true, 0, serie, this.FInicial_DTP.Value, this.FFinal_DTP.Value);
                break;

            case ETipoAlbaranes.NoFacturados:
                lista = OutputDeliveryList.GetNoFacturados(true, 0, serie, this.FInicial_DTP.Value, this.FFinal_DTP.Value);
                break;

            case ETipoAlbaranes.Agrupados:
                lista = OutputDeliveryList.GetNoFacturadosAgrupados(serie, this.FInicial_DTP.Value, this.FFinal_DTP.Value, true);
                break;
            }

            if (this.Listado_RB.Checked)
            {
                if (this.Detallado_RB.Checked)
                {
                    this.PrintDetail(this._lista);
                }
                else
                {
                    this.PrintList(this._lista);
                }
            }
            else if (this.Detallado_RB.Checked)
            {
                this.PrintDetail(lista);
            }
            else
            {
                this.PrintList(lista);
            }

            _action_result = DialogResult.OK;
        }
        private bool AddAlbaran()
        {
            if (_entity.OidSerie == 0)
            {
                PgMng.ShowInfoException(Resources.Messages.NO_SERIE_SELECTED);
                return(false);
            }

            OutputDeliveryList list = null;

            if (!_entity.AlbaranContado)
            {
                if (_entity.OidCliente != 0)
                {
                    list = OutputDeliveryList.GetNoFacturados(true, _entity.OidCliente, _entity.OidSerie, (_entity.Rectificativa ? ETipoFactura.Rectificativa : ETipoFactura.Ordinaria));
                }
                else
                {
                    list = OutputDeliveryList.GetNoFacturados(true, 0, _entity.OidSerie, (_entity.Rectificativa ? ETipoFactura.Rectificativa : ETipoFactura.Ordinaria));
                }
            }
            else
            {
                list = OutputDeliveryList.GetNoFacturadosAgrupados(_entity.OidSerie, true);
            }

            //Quitamos de la lista los ya añadidos
            List <OutputDeliveryInfo> lista = new List <OutputDeliveryInfo>();

            foreach (OutputDeliveryInfo item in list)
            {
                if (_entity.AlbaranFacturas.GetItemByAlbaran(item.Oid) == null)
                {
                    lista.Add(item);
                }
            }

            OutputDeliveryList lista_completa = OutputDeliveryList.GetListByCliente(true, _entity.OidCliente);

            //Añadimos a lista los eliminados
            foreach (AlbaranFactura item in _albaranes_factura)
            {
                if (_entity.AlbaranFacturas.GetItemByAlbaran(item.OidAlbaran) == null)
                {
                    lista.Add(lista_completa.GetItem(item.OidAlbaran));
                }
            }

            DeliverySelectForm form = new DeliverySelectForm(this, ETipoEntidad.Cliente, OutputDeliveryList.GetList(lista));

            form.ShowDialog(this);
            if (form.DialogResult == DialogResult.OK)
            {
                _results = form.Selected as List <OutputDeliveryInfo>;

                if (_entity.Rectificativa && (_results.Count > 1))
                {
                    PgMng.ShowInfoException("No es posible asignar varios albaranes a una factura rectificativa.");
                    return(false);
                }

                foreach (OutputDeliveryInfo item in _results)
                {
                    if (item.OidHolder != _results[0].OidHolder)
                    {
                        PgMng.ShowInfoException("No es posible asignar albaranes de clientes distintos a una misma Factura.");
                        return(false);
                    }
                }

                _back_job = BackJob.AddAlbaran;
                //PgMng.StartBackJob(this);

                DoAddAlbaran(null);

                if (Result == BGResult.OK)
                {
                    Serie_BT.Enabled = false;
                    Datos.ResetBindings(false);
                }
            }

            if ((_entity.AlbaranContado) && (_entity.Conceptos.Count < 0))
            {
                Agrupada_CkB.Enabled = false;
            }

            return(false);
        }
        public virtual void CrearFacturaAction()
        {
            DeliverySelectForm form = new DeliverySelectForm(this, ETipoEntidad.Cliente, OutputDeliveryList.GetNoFacturados(true));

            form.ShowDialog(this);

            if (form.DialogResult == DialogResult.OK)
            {
                try
                {
                    PgMng.Reset(4, 1, Resources.Messages.GENERANDO_FACTURAS, this);
                    List <OutputDeliveryInfo> albaranes = form.Selected as List <OutputDeliveryInfo>;
                    PgMng.Grow();

                    OutputInvoices facturas = OutputInvoices.NewList();
                    facturas.NewItems(albaranes);
                    PgMng.Grow();

                    facturas.Save();
                    facturas.CloseSession();

                    _selected      = albaranes;
                    _action_result = DialogResult.OK;
                }
                catch (Exception ex)
                {
                    PgMng.ShowInfoException(ex);
                }
                finally
                {
                    PgMng.FillUp();
                }
            }
        }
        protected override void RefreshMainData()
        {
            PgMng.Grow(string.Empty, "OutputDelivery");

            _selectedOid = ActiveOID;

            switch (DataType)
            {
            case EntityMngFormTypeData.Default:

                switch (_delivery_type)
                {
                case ETipoAlbaranes.Todos:

                    if (Library.Common.ModulePrincipal.GetUseActiveYear())
                    {
                        List = OutputDeliveryList.GetList(false, _holder_type, Library.Common.ModulePrincipal.GetActiveYear().Year);
                    }
                    else
                    {
                        List = OutputDeliveryList.GetList(false, _holder_type);
                    }
                    break;

                case ETipoAlbaranes.Facturados:

                    if (Library.Common.ModulePrincipal.GetUseActiveYear())
                    {
                        List = OutputDeliveryList.GetFacturados(false, Library.Common.ModulePrincipal.GetActiveYear().Year);
                    }
                    else
                    {
                        List = OutputDeliveryList.GetFacturados(false);
                    }
                    break;

                case ETipoAlbaranes.NoFacturados:

                    if (Library.Common.ModulePrincipal.GetUseActiveYear())
                    {
                        List = OutputDeliveryList.GetNoFacturados(true, _oid_client, _oid_serie, Library.Common.ModulePrincipal.GetActiveYear().Year);
                    }
                    else
                    {
                        List = OutputDeliveryList.GetNoFacturados(true, _oid_client, _oid_serie);
                    }
                    break;

                case ETipoAlbaranes.Agrupados:

                    if (Library.Common.ModulePrincipal.GetUseActiveYear())
                    {
                        List = OutputDeliveryList.GetAgrupados(false, Library.Common.ModulePrincipal.GetActiveYear().Year);
                    }
                    else
                    {
                        List = OutputDeliveryList.GetAgrupados(false);
                    }
                    break;

                case ETipoAlbaranes.Work:

                    if (Library.Common.ModulePrincipal.GetUseActiveYear())
                    {
                        List = OutputDeliveryList.GetWorkList(false, Library.Common.ModulePrincipal.GetActiveYear().Year);
                    }
                    else
                    {
                        List = OutputDeliveryList.GetWorkList(false);
                    }
                    break;
                }
                break;

            case EntityMngFormTypeData.ByParameter:
                _sorted_list = List.GetSortedList();
                break;
            }
            PgMng.Grow(string.Empty, "Lista de Albaranes");
        }