decimal encontrarRango(decimal aleatorio, TipoDistribucion tipoDistribucion)
        {
            int demanda = 0;

            List <decimal> distribucion = new List <decimal>();
            List <decimal> valores      = new List <decimal>();


            if (tipoDistribucion == TipoDistribucion.demanda)
            {
                distribucion = this.distribucionAcomulada;
                valores      = this.demanda;
            }
            else if (tipoDistribucion == TipoDistribucion.retraso)
            {
                distribucion = this.retrasoAcomulado;
                valores      = this.retraso;
            }

            foreach (decimal item in distribucion)
            {
                if (aleatorio <= item)
                {
                    return(Convert.ToDecimal(valores[demanda]));
                }
                demanda++;
            }
            return(0);
        }
Ejemplo n.º 2
0
        private void mview_SelectTipoDistribucion(object sender, EventArgs e)
        {
            ComboBox cb = sender as ComboBox;
            KeyValuePair <string, int> value = ((KeyValuePair <string, int>)cb.SelectedItem);
            TipoDistribucion           t     = (TipoDistribucion)value.Value;

            if (t != null)
            {
                this.mView.MostrarCheck = t == TipoDistribucion.IndirectaSinCentroCosto;
            }
        }
        private void cboDistribucion_SelectedIndexChanged(object sender, EventArgs e)
        {
            setLabelGradosDeLibertad();


            switch (((Distribucion)cboDistribucion.SelectedItem).id)
            {
            case 1:
                if (((Distribucion)cboDistribucion.SelectedItem).tipoDistribucion == Distribucion.Tipo.continua)
                {
                    distribucionElegida = TipoDistribucion.continuaExponencial;
                }
                else
                {
                    distribucionElegida = TipoDistribucion.discretaBinomial;
                }
                break;

            case 2:
                if (((Distribucion)cboDistribucion.SelectedItem).tipoDistribucion == Distribucion.Tipo.continua)
                {
                    distribucionElegida = TipoDistribucion.continuaNormal;
                }
                else
                {
                    distribucionElegida = TipoDistribucion.discretaPoisson;
                }
                break;

            case 3:
                if (((Distribucion)cboDistribucion.SelectedItem).tipoDistribucion == Distribucion.Tipo.continua)
                {
                    distribucionElegida = TipoDistribucion.continuaUniforme;
                }
                else
                {
                    distribucionElegida = TipoDistribucion.discretaUniforme;
                }
                break;

            default:
                break;
            }
        }
Ejemplo n.º 4
0
        private void cboDistribucionGenerador_SelectedIndexChanged(object sender, EventArgs e)
        {
            bloquearControlesGeneracion();
            limpiarCampos();

            switch (((Distribucion)cboDistribucion.SelectedItem).id)
            {
            case 1:
                distribucionElegida = TipoDistribucion.continuaExponencial;
                txtLambda.Enabled   = true;

                break;

            case 2:

                distribucionElegida = TipoDistribucion.continuaNormal;

                txtDesvEstandar.Enabled = true;
                txtMedia.Enabled        = true;

                break;

            case 3:

                distribucionElegida = TipoDistribucion.continuaUniforme;


                break;

            case 4:
                distribucionElegida = TipoDistribucion.continuaPoisson;
                txtLambda.Enabled   = true;
                break;

            default:
                break;
            }
        }
Ejemplo n.º 5
0
        private void AsignarImporteAtodos(TipoDistribucion aTipoDistribucion, bool soloSeleccionados = false, Enumerados.TipoImporteFacturas aTipoIMporte = Enumerados.TipoImporteFacturas.Cache)
        {
            decimal    importe             = 0;
            bool       esCachet            = aTipoIMporte == Enumerados.TipoImporteFacturas.Cache;
            TextEdit   diferenciaControl   = esCachet ? Diferencia_textEdit : DiferenciaDieta_textEdit;
            GridColumn selectColumn        = aTipoIMporte == Enumerados.TipoImporteFacturas.Cache ? colImporteArtista : colDieta;
            int        cantidadIntegrantes = soloSeleccionados ? gridView1.GetSelectedRows().Count() : gridView1.RowCount;

            if (aTipoDistribucion == TipoDistribucion.DistribuirDiferencia)
            {
                importe = Convert.ToDecimal(diferenciaControl.EditValue);
            }
            else
            {
                importe = aTipoDistribucion == TipoDistribucion.Limpiar
                    ? 0
                    : Convert.ToDecimal(ImporteUAaProcesar_textEdit.EditValue);
            }

            if (!soloSeleccionados)
            {
                for (var i = 0; i < gridView1.RowCount; i++)
                {
                    decimal valor =
                        decimal.Round(
                            importe / (aTipoDistribucion == TipoDistribucion.Distribuir ? cantidadIntegrantes : 1), 2,
                            MidpointRounding.ToEven);
                    gridView1.SetRowCellValue(i, selectColumn, valor);
                }
            }
            else
            {
                var selectedRowsHandles = gridView1.GetSelectedRows();
                if (aTipoDistribucion != TipoDistribucion.DistribuirDiferencia &&
                    aTipoDistribucion != TipoDistribucion.Retencion)
                {
                    foreach (var rowHandle in selectedRowsHandles)
                    {
                        gridView1.SetRowCellValue(rowHandle, selectColumn,
                                                  decimal.Round(
                                                      importe / (aTipoDistribucion == TipoDistribucion.Distribuir ? cantidadIntegrantes : 1),
                                                      2, MidpointRounding.ToEven));
                    }
                }
                else if (aTipoDistribucion == TipoDistribucion.DistribuirDiferencia)
                {
                    foreach (var selectedRowsHandle in selectedRowsHandles)
                    {
                        decimal cellValue =
                            Convert.ToDecimal(gridView1.GetRowCellValue(selectedRowsHandle, selectColumn));
                        decimal diferencia =
                            Decimal.Round(Convert.ToDecimal(diferenciaControl.EditValue) / cantidadIntegrantes, 2,
                                          MidpointRounding.ToEven);
                        gridView1.SetRowCellValue(selectedRowsHandle, selectColumn,
                                                  decimal.Round(cellValue + diferencia, 2, MidpointRounding.ToEven));
                    }
                }
                else if (aTipoDistribucion == TipoDistribucion.Retencion)
                {
                    foreach (var selectedRowsHandle in selectedRowsHandles)
                    {
                        gridView1.SetRowCellValue(selectedRowsHandle, colRetencion,
                                                  decimal.Round(Convert.ToDecimal(ImporteUAaProcesar_textEdit.EditValue), 2,
                                                                MidpointRounding.ToEven));
                    }
                }
            }
        }