Пример #1
0
        protected void VinculaFacturaAction(DataGridViewRow row, bool inputValue)
        {
            if (row == null)
            {
                return;
            }

            //if (NoAsignado == 0)
            //{
            //    DesvinculaFacturaAction(row);
            //    return;
            //}

            LineaFomentoInfo item = row.DataBoundItem as LineaFomentoInfo;

            if (item == null)
            {
                return;
            }

            item.Cobrado = true;

            //Se le ha asignado algo a mano
            if (item.Asignado != 0 || inputValue)
            {
                //Cobros en positivo
                if (_entity.Importe >= 0)
                {
                    if (item.Asignado > NoAsignado)
                    {
                        item.Asignado = NoAsignado;
                    }
                    //if (item.Asignado > item.Pendiente) item.Asignado = item.Pendiente;
                }
                //Cobros en negativo. Abonos
                else
                {
                    if (item.Asignado < NoAsignado)
                    {
                        item.Asignado = NoAsignado;
                    }
                    if (item.Asignado < item.Pendiente)
                    {
                        item.Asignado = item.Pendiente;
                    }
                }
            }
            else
            {
                //Cobros en positivo
                if (_entity.Importe >= 0)
                {
                    if (item.Pendiente <= NoAsignado)
                    {
                        item.Asignado = item.Pendiente;
                    }
                    else
                    {
                        item.Asignado = NoAsignado;
                    }
                }
                //Cobros en negativo. Abonos
                else
                {
                    if (item.Pendiente >= NoAsignado)
                    {
                        item.Asignado = item.Pendiente;
                    }
                    else
                    {
                        item.Asignado = NoAsignado;
                    }
                }
            }

            CobroREA cobro = _entity.CobroREAs.GetItemByExpedienteREA(item.Oid);

            if (cobro == null)
            {
                cobro = _entity.CobroREAs.NewItem(_entity, item);
                item.FechaAsignacion = DateTime.Now.ToShortDateString();
            }
            else
            {
                cobro.CopyFrom(_entity, item);
                item.FechaAsignacion = DateTime.Now.ToShortDateString();
            }

            UpdateAsignado();

            MarkAsNoActiva(row);
        }
Пример #2
0
        protected void ApportionAction(DataGridViewRow row, decimal totalSolicitado)
        {
            if (row == null)
            {
                return;
            }

            LineaFomentoInfo item = row.DataBoundItem as LineaFomentoInfo;

            if (item == null)
            {
                return;
            }

            item.Cobrado = true;

            decimal proportion = (_entity.Importe != 0)
                                                                                ? _entity.Importe * (item.Pendiente * 100 / totalSolicitado) / 100
                                                                                : 0;

            //Cobros en positivo
            if (_entity.Importe >= 0)
            {
                if (proportion <= NoAsignado)
                {
                    item.Asignado = proportion;
                }
                else
                {
                    item.Asignado = NoAsignado;
                }
            }
            //Cobros en negativo. Abonos
            else
            {
                if (proportion >= NoAsignado)
                {
                    item.Asignado = proportion;
                }
                else
                {
                    item.Asignado = NoAsignado;
                }
            }

            CobroREA cobro = _entity.CobroREAs.GetItemByExpedienteREA(item.Oid);

            if (cobro == null)
            {
                cobro = _entity.CobroREAs.NewItem(_entity, item);
                item.FechaAsignacion = DateTime.Now.ToShortDateString();
            }
            else
            {
                cobro.CopyFrom(_entity, item);
                item.FechaAsignacion = DateTime.Now.ToShortDateString();
            }

            UpdateAsignado();

            MarkAsNoActiva(row);
        }
Пример #3
0
        protected override void LinkREAExpedientAction(DataGridViewRow row)
        {
            if (row == null)
            {
                return;
            }

            if (NoAsignado == 0)
            {
                UnlinkREAExpedientAction(row);
                return;
            }

            FacREAInfo item = row.DataBoundItem as FacREAInfo;

            if (item == null)
            {
                return;
            }

            //Se le ha asignado algo a mano
            if (item.Asignado != 0)
            {
                //Cobros en positivo
                if (_entity.Importe >= 0)
                {
                    if (item.Asignado > NoAsignado)
                    {
                        item.Asignado = NoAsignado;
                    }
                    //if (item.Asignado > item.Pendiente) item.Asignado = item.Pendiente;
                }
                //Cobros en negativo. Abonos
                else
                {
                    if (item.Asignado < NoAsignado)
                    {
                        item.Asignado = NoAsignado;
                    }
                    if (item.Asignado < item.Pendiente)
                    {
                        item.Asignado = item.Pendiente;
                    }
                }
            }
            else
            {
                //Cobros en positivo
                if (_entity.Importe >= 0)
                {
                    if (item.Pendiente <= NoAsignado)
                    {
                        item.Asignado = item.Pendiente;
                    }
                    else
                    {
                        item.Asignado = NoAsignado;
                    }
                }
                //Cobros en negativo. Abonos
                else
                {
                    if (item.Pendiente >= NoAsignado)
                    {
                        item.Asignado = item.Pendiente;
                    }
                    else
                    {
                        item.Asignado = NoAsignado;
                    }
                }
            }

            CobroREA cobro = _entity.CobroREAs.GetItemByExpedienteREA(item.OidExpedienteREA);

            if (cobro == null)
            {
                cobro = _entity.CobroREAs.NewItem(_entity, item);
                item.FechaAsignacion = DateTime.Now.ToShortDateString();
            }
            else
            {
                cobro.CopyFrom(_entity, item);
                item.FechaAsignacion = DateTime.Now.ToShortDateString();
            }

            UpdateAsignado();

            MarkAsNoActiva(row);
        }