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); }
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; } }
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; } }
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)); } } } }