Exemple #1
0
        /// <summary>
        /// Maneja el evento que envia la instrucción de editar un componente
        /// </summary>
        /// <param name="sender">La fuente del evento.</param>
        /// <param name="e">Los argumentos de tipo <see cref="RoutedEventArgs"/> que contienen la información del evento.</param>
        private void btnEditComp_Click(object sender, RoutedEventArgs e)
        {
            string      idString  = ((sender as Button).Parent as Grid).Children.OfType <FrameworkElement>().Where(x => x is TextBlock).Select(y => (y as TextBlock).Text).FirstOrDefault();
            int         id        = int.TryParse(idString, out id) ? id : -1;
            CtoCompItem item      = this.GetComponentById(id);
            var         cmpEditor = new ComponentPicker(item.Component);

            cmpEditor.ShowDialog();
            if (cmpEditor.DialogResult.Value)
            {
                Componente updateC = cmpEditor.SelectedComponent;
                item.Component.UpdateComponentTr(TabalimApp.CurrentTablero,
                                                 (Object result) =>
                {
                    if ((Boolean)result)
                    {
                        if (!TabalimApp.CurrentTablero.Circuitos.ContainsKey(item.Component.Circuito.ToString()))
                        {
                            TabalimApp.CurrentTablero.Circuitos.Add(item.Component.Circuito.ToString(), item.Component.Circuito);
                        }
                        this.Refresh();
                    }
                },
                                                 updateC.Circuito, updateC.Count, updateC.Potencia);
            }
        }
Exemple #2
0
        /// <summary>
        /// Obtiene el circuito asociado al botón presionado
        /// </summary>
        /// <param name="sender">El botón que envía la acción.</param>
        /// <returns>El circuito seleccionado</returns>
        private Circuito GetCircuito(Button sender, out string cKey)
        {
            cKey = (((sender.Parent as StackPanel).Parent as Grid).Children[0] as TextBlock).Text;
            cKey = cKey.Split('(')[1].Split(')')[0];
            string      key  = cKey;
            CtoCompItem item = this.listOfCircuits.ItemsSource.OfType <CtoCompItem>().Where(x => x.CtoKey == key).FirstOrDefault();

            return(item.Circuit);
        }
Exemple #3
0
        /// <summary>
        /// Maneja el evento que envia la instrucción de eliminar un componente
        /// </summary>
        /// <param name="sender">La fuente del evento.</param>
        /// <param name="e">Los argumentos de tipo <see cref="RoutedEventArgs"/> que contienen la información del evento.</param>
        private async void btnDelComp_Click(object sender, RoutedEventArgs e)
        {
            string      idString = ((sender as Button).Parent as Grid).Children.OfType <FrameworkElement>().Where(x => x is TextBlock).Select(y => (y as TextBlock).Text).FirstOrDefault();
            int         id       = int.TryParse(idString, out id) ? id : -1;
            CtoCompItem item     = this.GetComponentById(id);

            if (await this.ShowQuestionDialog("Eliminar componente",
                                              String.Format("Esta seguro de querer eliminar el componente {0}", item.ComKey)))
            {
                item.Component.DeleteComponentTr(
                    (Object result) =>
                {
                    if ((Boolean)result)
                    {
                        this.Refresh();
                    }
                });
            }
        }