public static PlantillaPlana AplanarPlantilla(PlantillaEstadistica plantilla) { List <PlantillaPlanaItem> listItems; listItems = new List <PlantillaPlanaItem>(); listItems.Add(new PlantillaPlanaItem(plantilla.Codigo, plantilla.Descripcion, "Todo", "Último Resultado", false, false, 0, PlantillaPlanaItem.PlantillaPlanaItemTipo.Plantilla)); foreach (Modulo modulo in plantilla.Modulos) { listItems.Add(new PlantillaPlanaItem(modulo.Codigo, modulo.Nombre, "Todo", "Último Resultado", false, false, plantilla.Codigo, PlantillaPlanaItem.PlantillaPlanaItemTipo.Modulo)); foreach (Agrupador agrupador in modulo.Agrupadores) { listItems.Add(new PlantillaPlanaItem(agrupador.Codigo, agrupador.Nombre, "Todo", "Último Resultado", false, false, modulo.Codigo, PlantillaPlanaItem.PlantillaPlanaItemTipo.Agrupador)); foreach (Variable variable in agrupador.Variables) { listItems.Add(new PlantillaPlanaItem(variable.Codigo, variable.Nombre, string.Empty, string.Empty, false, false, agrupador.Codigo, PlantillaPlanaItem.PlantillaPlanaItemTipo.Variable)); } } } PlantillaPlana plantillaAplanada = new PlantillaPlana(); plantillaAplanada.Items = listItems; return(plantillaAplanada); }
private async void ObtenerPlantillas() { try { IsBusyLoadingPlantillas = true; IEnumerable <decimal> selectedAreasIds = SelectedAreas.Select(x => x.ID); IEnumerable <decimal> selectedProfesionalsIds = SelectedProfesionales.Select(x => x.ID); var plantillasFromService = await Task.Run(() => plantillasService.GetPlantillas(selectedProfesionalsIds, selectedAreasIds, FechaInicio, FechaFin, (TipoFechaCreacion) ? (TipoFecha.Creacion) : (TipoFecha.UltimaModificacion))); if (!plantillasFromService.HasElements()) { Plantillas = null; PlantillaSelected = 0; Plantilla = null; PlantillaPlana = null; return; } Plantillas = new ObservableCollection <PlantillaEstadistica>(plantillasFromService.OrderBy(p => p.Descripcion)); if (Plantillas.HasElements()) { PlantillaSelected = Plantillas.FirstOrDefault().Codigo; Plantilla = await Task.Run(() => plantillasService.GetPlantilla(PlantillaSelected)); PlantillaPlana = PlantillaPlana.AplanarPlantilla(Plantilla); } } catch (Exception ex) { MessageBox.Show("Ha ocurrido un error: " + ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } finally { IsBusyLoadingPlantillas = false; } }
private async void ObtenerPlantillaSelected() { if (PlantillaSelected < 1) { return; } try { IsBusyLoadingPlantilla = true; Plantilla = await Task.Run(() => plantillasService.GetPlantilla(PlantillaSelected)); PlantillaPlana = PlantillaPlana.AplanarPlantilla(Plantilla); } catch (Exception ex) { MessageBox.Show("Ha ocurrido un error: " + ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } finally { IsBusyLoadingPlantilla = false; } }