private void MetroWindow_Loaded(object sender, RoutedEventArgs e) { //Todas las orientaciones disponibles CmbRumboFrente.ItemsSource = Met_Manzana.DespliegoOrientaciones(); if (!string.IsNullOrWhiteSpace(M.Manzana.RumboFrente.rumboActual)) { CmbRumboFrente.SelectedItem = M.Manzana.RumboFrente.rumboActual; } //Agrego los tipos de Colindancias cmbTipo.ItemsSource = M.Constant.TipoColindancias; //Obtengo las Manzanas que cumplen con criterio en plano cmbManzana.ItemsSource = ObtengoManzanas(); //Si solamente leyó una manzana que la asigné de manera automática if (cmbManzana.Items.Count == 1) { cmbManzana.SelectedIndex = 0; } //La lista debe de estar de acuerdo a lo insertado en listado de Colindancias ListPrincipal.ItemsSource = M.Manzana.ColindanciaManzana; //Asigno Lote o Macrolote if (M.Manzana.EsMacrolote) { rbMacroLote.IsChecked = true; } else { rbLote.IsChecked = true; } }
private void AsignaOrientaciones(string RumboFrente) { //Inicializo Lista M.Manzana.OrientacionCalculada = new List <string>(); //Calculo las Orientaciones de acuerdo a Lista M.Manzana.OrientacionCalculada = Met_Manzana.OrientacionFrente(RumboFrente); //Asigno resultado cmbRumboActual.ItemsSource = M.Manzana.OrientacionCalculada; //Asigno la primera orientación cmbRumboActual.SelectedIndex = 0; }
private void btnAdd_Click(object sender, RoutedEventArgs e) { ObjectId idtxtCol = new ObjectId(), //Id de Texto con el que Colinda idLineCol = new ObjectId(); //Id de Linea/Polilinea con la que Colinda //Selecciono el Item string rumboSeleccionado = (cmbRumboActual.SelectedItem ?? "").ToString(); //Si ya se selecciono algo en el combobox de tipo if (cmbTipo.SelectedIndex != -1) { this.WindowState = WindowState.Minimized; //Solicito que me hagan saber el texto que colinda if (Met_Autodesk.Entity("Selecciona la línea de colindancia al " + rumboSeleccionado + "\n", out idLineCol, M.Constant.TiposLineas) && Met_Autodesk.Entity("Selecciona la colindancia al " + rumboSeleccionado + "\n", out idtxtCol, typeof(DBText))) { if (idLineCol.OpenEntity().Layer == M.Constant.LayerManzana) { //Obtengo el DBText seleccionado DBText DBTextColindancia = idtxtCol.OpenEntity() as DBText; //Texto del DB Text string txtColindancia = DBTextColindancia.TextString.FormatString(); //Modelo los datos M.ManzanaData insertedData = new M.ManzanaData() { hndPlColindancia = idLineCol.Handle, hndTxtColindancia = idtxtCol.Handle, inicialRumbo = (M.Constant.Orientaciones [Met_Manzana.ObtengoPosicion(rumboSeleccionado, 0), 1]), rumboActual = rumboSeleccionado, textColindancia = cmbTipo.SelectedIndex > 0 ? txtColindancia : "calle " + txtColindancia }; bool PolilineaNueva = false, RumboNuevo = false; int sigPosicion = 0; //Si ya se había insertado esa polilinea PolilineaNueva = M.Manzana.ColindanciaManzana.Where (x => x.hndPlColindancia.Value == insertedData.hndPlColindancia.Value). Count() > 0 ? false : true; //Si ya se había insertado ese rumbo en la lista RumboNuevo = M.Manzana.ColindanciaManzana. Where(x => x.rumboActual == insertedData.rumboActual).Count() > 0 ? false : true; //Si es Nueva Polilinea y nuevo Rumbo if (PolilineaNueva && RumboNuevo) { sigPosicion = insertedData.InsertoColindancia(); } else { sigPosicion = insertedData.ReasignoColindancia(PolilineaNueva, RumboNuevo); } //Reviso que rumbo mostrará SigColindancia(sigPosicion); if (ListPrincipal.ItemsSource != null) { ListPrincipal.Items.Refresh(); } else { ListPrincipal.ItemsSource = M.Manzana.ColindanciaManzana; } } else { this.ShowMessageAsync("Layer Incorrecto", "La línea debe de estar en Layer " + M.Constant.LayerManzana); } } this.WindowState = WindowState.Normal; } else { this.ShowMessageAsync("Datos no seleccionados", "Favor de seleccionar Tipo de Colindancia"); } }