public Vivienda CotizaViviendaPRYBE(string SumaAsegurada, string CodigoPostal) { Vivienda cotizacion = new Vivienda(); double tarZonaTerremoto, tarZonaFHM, tarCobIncendio, tarCobRC, tarifaFinal, sumaAseg, primaNeta, primaTotal, primerPago, pagoSub, iva, derPoliza; string idZonaTerremoto, idZonaFHM; Zona zona = new Zona(); try { zona = RegresaZona(CodigoPostal); idZonaTerremoto = zona.Terremoto; idZonaFHM = zona.FHM; iva = 1.16; derPoliza = 100.00; tarZonaTerremoto = 0.00; tarZonaFHM = 0.00; sumaAseg = Convert.ToDouble(SumaAsegurada); if (idZonaFHM == "" || idZonaTerremoto == "") { cotizacion.ErrorBool = true; cotizacion.ErrorDesc = "No se encontro la zona de riesgo para el Código Postal capturado"; } else { switch (idZonaTerremoto) { case "A": tarZonaTerremoto = Convert.ToDouble(System.Configuration.ConfigurationManager.AppSettings[idZonaTerremoto].ToString()); break; case "B": tarZonaTerremoto = Convert.ToDouble(System.Configuration.ConfigurationManager.AppSettings[idZonaTerremoto].ToString()); break; case "B1": tarZonaTerremoto = Convert.ToDouble(System.Configuration.ConfigurationManager.AppSettings[idZonaTerremoto].ToString()); break; case "C": tarZonaTerremoto = Convert.ToDouble(System.Configuration.ConfigurationManager.AppSettings[idZonaTerremoto].ToString()); break; case "D": tarZonaTerremoto = Convert.ToDouble(System.Configuration.ConfigurationManager.AppSettings[idZonaTerremoto].ToString()); break; case "E": tarZonaTerremoto = Convert.ToDouble(System.Configuration.ConfigurationManager.AppSettings[idZonaTerremoto].ToString()); break; case "F": tarZonaTerremoto = Convert.ToDouble(System.Configuration.ConfigurationManager.AppSettings[idZonaTerremoto].ToString()); break; case "G": tarZonaTerremoto = Convert.ToDouble(System.Configuration.ConfigurationManager.AppSettings[idZonaTerremoto].ToString()); break; case "H": tarZonaTerremoto = Convert.ToDouble(System.Configuration.ConfigurationManager.AppSettings[idZonaTerremoto].ToString()); break; case "H1": tarZonaTerremoto = Convert.ToDouble(System.Configuration.ConfigurationManager.AppSettings[idZonaTerremoto].ToString()); break; case "I": tarZonaTerremoto = Convert.ToDouble(System.Configuration.ConfigurationManager.AppSettings[idZonaTerremoto].ToString()); break; case "J": tarZonaTerremoto = Convert.ToDouble(System.Configuration.ConfigurationManager.AppSettings[idZonaTerremoto].ToString()); break; } switch (idZonaFHM) { case "A1PY": tarZonaFHM = Convert.ToDouble(System.Configuration.ConfigurationManager.AppSettings[idZonaFHM].ToString()); break; case "A1ZG": tarZonaFHM = Convert.ToDouble(System.Configuration.ConfigurationManager.AppSettings[idZonaFHM].ToString()); break; case "A1ZI": tarZonaFHM = Convert.ToDouble(System.Configuration.ConfigurationManager.AppSettings[idZonaFHM].ToString()); break; case "A1ZP": tarZonaFHM = Convert.ToDouble(System.Configuration.ConfigurationManager.AppSettings[idZonaFHM].ToString()); break; case "A2": tarZonaFHM = Convert.ToDouble(System.Configuration.ConfigurationManager.AppSettings[idZonaFHM].ToString()); break; case "A3": tarZonaFHM = Convert.ToDouble(System.Configuration.ConfigurationManager.AppSettings[idZonaFHM].ToString()); break; } tarCobIncendio = Convert.ToDouble(System.Configuration.ConfigurationManager.AppSettings["CobIncendio"].ToString()); tarCobRC = Convert.ToDouble(System.Configuration.ConfigurationManager.AppSettings["CobRC"].ToString()); tarifaFinal = tarZonaTerremoto + tarZonaFHM + tarCobIncendio + tarCobRC; primaNeta = (sumaAseg * (tarifaFinal / 1000)); pagoSub = (primaNeta / 12) * iva; primerPago = (pagoSub) + (derPoliza * iva); cotizacion.PrimaNeta = Convert.ToString(primaNeta); cotizacion.PrimerPago = Convert.ToString(primerPago); cotizacion.PagoSubsecuente = Convert.ToString(pagoSub); cotizacion.PrimaTotal = Convert.ToString(primaNeta * iva); Cobertura tmp1 = new Cobertura(); Cobertura tmp2 = new Cobertura(); Cobertura tmp3 = new Cobertura(); Cobertura tmp4 = new Cobertura(); Cobertura tmp5 = new Cobertura(); Cobertura tmp6 = new Cobertura(); tmp1.Id = "1"; tmp1.Descripcion = "TODO RIESGO INCENDIO EDIFICIO"; tmp1.SumaAseg = Convert.ToString(sumaAseg); cotizacion.coberturas.Add(tmp1); tmp2.Id = "2"; tmp2.Descripcion = "GASTOS EXTRAS"; tmp2.SumaAseg = Convert.ToString(sumaAseg * 0.10); cotizacion.coberturas.Add(tmp2); tmp3.Id = "3"; tmp3.Descripcion = "REMOCION DE ESCOMBROS"; tmp3.SumaAseg = Convert.ToString(sumaAseg * 0.10); cotizacion.coberturas.Add(tmp3); tmp4.Id = "4"; tmp4.Descripcion = "FENOMENOS HIDROMETEOROLOGICOS"; tmp4.SumaAseg = "AMPARADA"; cotizacion.coberturas.Add(tmp4); tmp5.Id = "5"; tmp5.Descripcion = "TERREMOTO Y/O ERUPCION VOLCANICA"; tmp5.SumaAseg = "AMPARADA"; cotizacion.coberturas.Add(tmp5); tmp6.Id = "6"; tmp6.Descripcion = "RESPONSABILIDAD CIVIL FAMILIAR"; tmp6.SumaAseg = "1,500,000.00"; cotizacion.coberturas.Add(tmp6); } } catch (Exception ex) { cotizacion.ErrorBool = true; cotizacion.ErrorDesc = ex.Message; } return cotizacion; }
public async Task UpdateZonaAsync(Zona zona) { _context.Update(zona); await _context.SaveChangesAsync(); }
// ELIMINAR public void Eliminar(Zona zona) { IPersistenciaZona FabricaZona = FabricaPersitencia.getPersistenciaZona(); FabricaZona.Eliminar(zona); }
public void MapFixtureWebPublica(Zona zona, PublicIndexVM vm) { vm.Fixture = MapFixtureWebPublica(zona); }
public async Task CreateZonaAsync(Zona zona) { await _context.AddAsync(zona); await _context.SaveChangesAsync(); }
public ResumenDeJornadasVM Tablas(Zona zona, List <Fecha> fechas) { var result = new ResumenDeJornadasVM($"Resumen de jornadas {zona.DescripcionCompleta()}", zona.TorneoId, zona.Id); AgregarCategorias(zona, result); CrearUnaTablaPorFecha(fechas, result); foreach (var fecha in fechas) { var jornadasContador = 1; foreach (var jornada in fecha.Jornadas) { var renglonLocal = new JornadasPorFechaRenglonVM { JornadaId = jornada.Id, JornadaNumero = jornadasContador, Equipo = jornada.NombreDelLocal(), Escudo = _imagenesEscudosPersistence.PathRelativo(jornada.Local?.ClubId ?? -1), }; var renglonVisitante = new JornadasPorFechaRenglonVM { JornadaId = jornada.Id, JornadaNumero = jornadasContador, Equipo = jornada.NombreDelVisitante(), Escudo = _imagenesEscudosPersistence.PathRelativo(jornada.Visitante?.ClubId ?? -1), }; foreach (var partido in jornada.Partidos) { var resultadoPorCatLocal = new ResultadosPorCategoriaVM { Orden = partido.Categoria.Orden, Goles = partido.GolesLocal }; var resultadoPorCatVisit = new ResultadosPorCategoriaVM { Orden = partido.Categoria.Orden, Goles = partido.GolesVisitante }; renglonLocal.ResultadosPorCategorias.Add(resultadoPorCatLocal); renglonVisitante.ResultadosPorCategorias.Add(resultadoPorCatVisit); } renglonLocal.ResultadosPorCategorias.Sort((x, y) => x.Orden.CompareTo(y.Orden)); renglonVisitante.ResultadosPorCategorias.Sort((x, y) => x.Orden.CompareTo(y.Orden)); CalcularPuntosTotales(renglonLocal, renglonVisitante); renglonLocal.PartidoVerificado = jornada.ResultadosVerificados.ToCheckString(); renglonVisitante.PartidoVerificado = jornada.ResultadosVerificados.ToCheckString(); result.JornadasPorFecha.Single(x => x.FechaId == fecha.Id).Renglones.Add(renglonLocal); result.JornadasPorFecha.Single(x => x.FechaId == fecha.Id).Renglones.Add(renglonVisitante); jornadasContador++; } } return(result); }
private void btnVer_Click(object sender, EventArgs e) { try { if (seguir) { Producto p = (Producto)dataGridView1.CurrentRow.DataBoundItem; if (p != null) { Zona z = controller.BuscarZona_Producto(p); if (z != null) { if (z.Descripcion == "A") { ModeloCantFija cantfija = new ModeloCantFija(); string Descripcion = string.Empty; Descripcion += "\t\t Sistema del Minimercado"; Descripcion += SALTO; Descripcion += "_________________________________________________________"; Descripcion += SALTO; Descripcion += "\t\t\t\t Informacion del Producto"; Descripcion += SALTO; Descripcion += "_________________________________________________________"; Descripcion += SALTO; Descripcion += "Datos del Producto"; Descripcion += SALTO + SALTO; Descripcion += "Codigo: " + p.CodigoBarra; Descripcion += SALTO; Descripcion += "Descripcion: " + p.Descripcion; Descripcion += SALTO; Descripcion += "Stock: " + p.Stock + " unidades"; Descripcion += SALTO; Descripcion += "Precio: $" + p.Precio; Descripcion += SALTO + SALTO; Descripcion += "Informacion del Pedido:"; Descripcion += SALTO + SALTO; if (p.DemandaPromedioDiaria > 0) { Descripcion += "Punto de Reorden del Producto: " + cantfija.CalcularPuntoReorden(p.DemandaPromedioDiaria).ToString("F3", new System.Globalization.CultureInfo("es-AR")) + " unidades."; Descripcion += SALTO + SALTO; Descripcion += "Cantidad que debe ordenarse: " + cantfija.CalcularCantidadUnidadesReorden(p).ToString("F3", new System.Globalization.CultureInfo("es-AR")) + " unidades"; Descripcion += SALTO + SALTO; Descripcion += "Costo anual Total del Producto: $" + cantfija.CalcularCostoAnualTotal(p).ToString("F3", new System.Globalization.CultureInfo("es-AR")); } else { Descripcion += "Su stock es mayor que las unidades estimadas a vender"; } InfoProducto inf = new InfoProducto(Descripcion); inf.ShowDialog(); } else if (z.Descripcion == "B") { ModeloCantFija cantfija = new ModeloCantFija(); string Descripcion = string.Empty; Descripcion += "\t\t Sistema - MiniMercado"; Descripcion += SALTO; Descripcion += "_________________________________________________________"; Descripcion += SALTO; Descripcion += "\t\t\t\t Informacion del Producto"; Descripcion += SALTO; Descripcion += "_________________________________________________________"; Descripcion += SALTO; Descripcion += "Datos del Producto"; Descripcion += SALTO + SALTO; Descripcion += "Codigo: " + p.CodigoBarra; Descripcion += SALTO; Descripcion += "Descripcion: " + p.Descripcion; Descripcion += SALTO; Descripcion += "Stock: " + p.Stock + " unidades"; Descripcion += SALTO; Descripcion += "Precio: $" + p.Precio; Descripcion += SALTO + SALTO; Descripcion += "Informacion del Pedido:"; Descripcion += SALTO + SALTO; try { Descripcion += "Cantidad que debe ordenarse: " + cantfija.CalcularCantidadUnidadesReorden(p).ToString("F3", new System.Globalization.CultureInfo("es-AR")) + " unidades"; } catch (Exception ex) { MessageBox.Show(ex.Message); } InfoProducto inf = new InfoProducto(Descripcion); inf.ShowDialog(); } else { ModeloPeriodoTiempoFijo tiempofijo = new ModeloPeriodoTiempoFijo(); string Descripcion = string.Empty; Descripcion += "\t\t Sistema - MINIMERCADO"; Descripcion += SALTO; Descripcion += "_________________________________________________________"; Descripcion += SALTO; Descripcion += "\t\t\t\t Informacion del Producto"; Descripcion += SALTO; Descripcion += "_________________________________________________________"; Descripcion += SALTO; Descripcion += "Datos del Producto"; Descripcion += SALTO + SALTO; Descripcion += "Codigo: " + p.CodigoBarra; Descripcion += SALTO; Descripcion += "Descripcion: " + p.Descripcion; Descripcion += SALTO; Descripcion += "Stock: " + p.Stock + " unidades"; Descripcion += SALTO; Descripcion += "Precio: $" + p.Precio; Descripcion += SALTO + SALTO; Descripcion += "Informacion del Pedido:"; Descripcion += SALTO + SALTO; SaldoInventario s = controller.BuscarUltimaSaldoInventario(p); try { Descripcion += "Cantidad que debe ordenarse: " + tiempofijo.CalcularCantidadUnidadesReorden(p, s.ValorInventario).ToString("F3", new System.Globalization.CultureInfo("es-AR")) + " unidades"; } catch (Exception ex) { MessageBox.Show(ex.Message); } InfoProducto inf = new InfoProducto(Descripcion); inf.ShowDialog(); } } else { MessageBox.Show("El producto debe tener una zona especificada"); } } else { MessageBox.Show("Debe cargar las demandas y los saldo de los articulos"); } } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public modZona(OrigenesDeDatos.Zona z) { this.zonaDB = z; }
public Zona(Zona zona) { this.codigo = zona.codigo; this.nombre = zona.nombre; }
// BUSCAR public Zona BuscarT(string nombre, string departamento) { Zona zona = null; SqlConnection _Conexion = new SqlConnection(Conexion.Cnn); SqlCommand _Comando = new SqlCommand("BUSCAR_ZONAST", _Conexion); _Comando.CommandType = CommandType.StoredProcedure; SqlParameter _nombre = new SqlParameter("@Nombre", nombre); SqlParameter _departamento = new SqlParameter("@Departamento", departamento); _Comando.Parameters.Add(_departamento); _Comando.Parameters.Add(_nombre); SqlDataReader _Reader; // SERVICIOS SqlCommand _comandoServicios = new SqlCommand("LISTAR_SERVICIOS", _Conexion); _comandoServicios.CommandType = CommandType.StoredProcedure; _comandoServicios.Parameters.AddWithValue("@Nombre", nombre); _comandoServicios.Parameters.AddWithValue("@Departamento", departamento); SqlDataReader _ReaderServicios; List <string> listadoServicios = new List <string>(); string nombreOficial = ""; int habitantes = 0; bool activo = false; string servicio = ""; try { _Conexion.Open(); _Reader = _Comando.ExecuteReader(); if (_Reader.HasRows == false) { _Reader.Close(); throw new Exception("No se han encontrado resultados"); } while (_Reader.Read()) { nombreOficial = (string)_Reader["NombreOficial"]; habitantes = (int)_Reader["Habitantes"]; activo = (bool)_Reader["Activo"]; } _Reader.Close(); _ReaderServicios = _comandoServicios.ExecuteReader(); if (_ReaderServicios.HasRows) { while (_ReaderServicios.Read()) { servicio = (string)_ReaderServicios["Servicio"]; listadoServicios.Add(servicio); } } zona = new Zona(nombre, departamento, nombreOficial, habitantes, listadoServicios, activo); _Reader.Close(); _ReaderServicios.Close(); } catch (Exception ex) { throw new ApplicationException("ERROR: " + ex.Message); } finally { _Conexion.Close(); } return(zona); }
public modZona() { this.zonaDB = new Zona(); }
private void bmMantenimiento_ItemClick(object sender, ItemClickEventArgs e) { var subMenu = e.Item as BarSubItem; if (subMenu != null) { return; } switch (e.Item.Name) { case "btnNuevo": LimpiarCampos(); TipoMnt = TipoMantenimiento.Nuevo; IdEntidadMnt = 0; pkIdEntidad.EditValue = 0; ZonaMnt = null; ZonaMnt = new Zona(); btnGrabar.Enabled = true; btnGrabarCerrar.Enabled = true; btnGrabarNuevo.Enabled = true; btnEliminar.Enabled = false; btnActualizar.Enabled = false; if (Permisos.Nuevo) { CamposSoloLectura(false); } break; case "btnGrabar": if (Guardar()) { SeGuardoObjeto = true; btnGrabar.Enabled = false; btnGrabarCerrar.Enabled = false; btnGrabarNuevo.Enabled = false; TipoMnt = TipoMantenimiento.Modificar; if (Permisos.Eliminar) { btnEliminar.Enabled = true; btnActualizar.Enabled = true; } } break; case "btnGrabarCerrar": if (Guardar()) { SeGuardoObjeto = true; Close(); } break; case "btnGrabarNuevo": if (Guardar()) { SeGuardoObjeto = true; LimpiarCampos(); TipoMnt = TipoMantenimiento.Nuevo; pkIdEntidad.EditValue = 0; IdEntidadMnt = 0; btnEliminar.Enabled = false; btnActualizar.Enabled = false; ValoresPorDefecto(); ZonaMnt = null; ZonaMnt = new Zona(); } if (Permisos.Nuevo) { CamposSoloLectura(false); } break; case "btnEliminar": EliminaRegistro(); break; case "btnLimpiarCampos": LimpiarCampos(); break; case "btnActualizar": if (IdEntidadMnt > 0) { TraerDatos(); } break; case "btnCerrar": if (SeGuardoObjeto) { Close(); } else { ZonaMnt = null; Close(); } break; } }
public ActionResult CreateZona(Zona zona, String redova, String sjedista) { //TODO: mozda odraditi preko procedure int idsale = (int)Session["sala"]; Sala sala = db.Salas.Find(idsale); int maxr; int maxs; int kolona; int r = Int32.Parse(redova); maxr = db.Reds.Where(x => x.Zona_Sala_ID_sale == idsale).Count(); if (sjedista == null) { maxs = db.Sjedistes.Where(x => x.Red_Zona_Sala_ID_sale == idsale).Max(x => x.ID_sjedista); } else { maxs = Int32.Parse(sjedista); } if (maxr == 0) { kolona = maxs / r; } else { kolona = maxs / maxr; } zona.Sala_ID_sale = idsale; zona.ID_zone = db.Zonas.Max(x => x.ID_zone) + 1; zona.Sala = sala; db.Zonas.Add(zona); db.SaveChanges(); for (int i = 0; i < r; i++) { Red red = new Red(); red.ID_reda = maxr + i + 1; red.Zona_ID_zone = zona.ID_zone; red.Zona_Sala_ID_sale = idsale; db.Reds.Add(red); db.SaveChanges(); for (int j = 0; j < kolona; j++) { Sjediste sjed = new Sjediste(); if (maxr == 0) { sjed.ID_sjedista = i * kolona + j + 1; } else { sjed.ID_sjedista = maxs + i * kolona + j + 1; } sjed.Red_ID_reda = red.ID_reda; sjed.Red_Zona_ID_zone = zona.ID_zone; sjed.Red_Zona_Sala_ID_sale = idsale; db.Sjedistes.Add(sjed); db.SaveChanges(); } } return(RedirectToAction("DetaljiSala", new { id = idsale })); }
public void PreencherZona(Zona zonaInserida, Area areaPartida, int totalAreasCriadas, Vetor2[] coordAreas, int nAreas, System.Random rnd) { bool permissao; Vetor2 novaCoord; //numeroDeAreasRandomizado--- if (totalAreasCriadas >= nAreas) { //interrompe a recursão. return; } else { int porta = rnd.Next(0, 4); switch (porta) { //Não cria; case 0: //baixo //Cria; novaCoord = new Vetor2(areaPartida.posicaoMatriz.x, areaPartida.posicaoMatriz.y + 1); //Checa permissao = true; for (int i = 0; i <= totalAreasCriadas; i++) { if ((coordAreas[i].x == novaCoord.x && coordAreas[i].y == novaCoord.y) || (novaCoord.x >= Config.tamanhoMatrizZona.x || novaCoord.x >= Config.tamanhoMatrizZona.y) || (novaCoord.x < 1 || novaCoord.y < 1)) { permissao = false; } } //Insere if (permissao == true) { zonaInserida.zona[areaPartida.posicaoMatriz.x, areaPartida.posicaoMatriz.y + 1] = new Area(novaCoord); totalAreasCriadas++; coordAreas[totalAreasCriadas] = novaCoord; } break; case 1: //cima: //Cria; novaCoord = new Vetor2(areaPartida.posicaoMatriz.x, areaPartida.posicaoMatriz.y - 1); //Checa permissao = true; for (int i = 0; i <= totalAreasCriadas; i++) { if (coordAreas[i].x == novaCoord.x && coordAreas[i].y == novaCoord.y) { permissao = false; } } //Insere if (permissao == true) { zonaInserida.zona[areaPartida.posicaoMatriz.x, areaPartida.posicaoMatriz.y - 1] = new Area(novaCoord); totalAreasCriadas++; coordAreas[totalAreasCriadas] = novaCoord; } break; case 2: //esquerda //Cria; novaCoord = new Vetor2(areaPartida.posicaoMatriz.x - 1, areaPartida.posicaoMatriz.y); //Checa permissao = true; for (int i = 0; i <= totalAreasCriadas; i++) { if (coordAreas[i].x == novaCoord.x && coordAreas[i].y == novaCoord.y) { permissao = false; } } //Insere if (permissao == true) { zonaInserida.zona[areaPartida.posicaoMatriz.x - 1, areaPartida.posicaoMatriz.y] = new Area(novaCoord); totalAreasCriadas++; coordAreas[totalAreasCriadas] = novaCoord; } break; case 3: //direita //Cria; novaCoord = new Vetor2(areaPartida.posicaoMatriz.x + 1, areaPartida.posicaoMatriz.y); //Checa permissao = true; for (int i = 0; i <= totalAreasCriadas; i++) { if (coordAreas[i].x == novaCoord.x && coordAreas[i].y == novaCoord.y) { permissao = false; } } //Insere if (permissao == true) { zonaInserida.zona[areaPartida.posicaoMatriz.x + 1, areaPartida.posicaoMatriz.y] = new Area(novaCoord); totalAreasCriadas++; coordAreas[totalAreasCriadas] = novaCoord; } break; } //Chama a recursão: if (totalAreasCriadas > (nAreas / 4)) { PreencherZonaLimitado(zonaInserida, totalAreasCriadas, coordAreas, nAreas, rnd); } else { int posicaorandom = rnd.Next(0, totalAreasCriadas + 1); PreencherZona(zonaInserida, zonaInserida.zona[coordAreas[posicaorandom].x, coordAreas[posicaorandom].y], totalAreasCriadas, coordAreas, nAreas, rnd); //Console.WriteLine("entrou" + (totalAreasCriadas + 1)); } } }
public void AdicionarInfoPortas(Zona zonaInserida) { for (int i = 1; i < Config.tamanhoMatrizZona.x - 1; i++) { for (int j = 1; j < Config.tamanhoMatrizZona.y - 1; j++) { if (zonaInserida.zona[i, j] != null) { //checar lados //cima if (zonaInserida.zona[i, j - 1] != null) { if (zonaInserida.zona[i, j - 1].secreta == false) { zonaInserida.zona[i, j].entradas[2] = zonaInserida.zona[i, j - 1].posicaoMatriz; } if (zonaInserida.zona[i, j - 1].secreta == true) { zonaInserida.zona[i, j].entradasSecretas[2] = zonaInserida.zona[i, j - 1].posicaoMatriz; } } //baixo if (zonaInserida.zona[i, j + 1] != null) { if (zonaInserida.zona[i, j + 1].secreta == false) { zonaInserida.zona[i, j].entradas[3] = zonaInserida.zona[i, j + 1].posicaoMatriz; } if (zonaInserida.zona[i, j + 1].secreta == true) { zonaInserida.zona[i, j].entradasSecretas[3] = zonaInserida.zona[i, j + 1].posicaoMatriz; } } //esquerda if (zonaInserida.zona[i - 1, j] != null) { if (zonaInserida.zona[i - 1, j].secreta == false) { zonaInserida.zona[i, j].entradas[0] = zonaInserida.zona[i - 1, j].posicaoMatriz; } if (zonaInserida.zona[i - 1, j].secreta == true) { zonaInserida.zona[i, j].entradasSecretas[0] = zonaInserida.zona[i - 1, j].posicaoMatriz; } } //direita if (zonaInserida.zona[i + 1, j] != null) { if (zonaInserida.zona[i + 1, j].secreta == false) { zonaInserida.zona[i, j].entradas[1] = zonaInserida.zona[i + 1, j].posicaoMatriz; } if (zonaInserida.zona[i + 1, j].secreta == true) { zonaInserida.zona[i, j].entradasSecretas[1] = zonaInserida.zona[i + 1, j].posicaoMatriz; } } //FIM CHECAGEM } } } }
public bool InsertarAsientoZona(List <Asiento> listaAsientos, Zona zona) { return(asientoRepository.InsertarAsientoZona(listaAsientos, zona)); }
public static IZona GetZona() { Zona oZona = new Zona(); return((IZona)oZona); }
private static List <Equipo> EquiposDeLaZonaDatosParaLosDatosWebPublicaAperturaClausura(Zona zona) { if (!zona.Fechas.Any()) { return(zona.Equipos.ToList()); } var locales = zona.Fechas.SelectMany(x => x.Jornadas).Select(y => y.Local).Where(x => x != null); var visitantes = zona.Fechas.SelectMany(x => x.Jornadas).Select(y => y.Visitante).Where(x => x != null); return(locales.Concat(visitantes).Distinct().ToList()); }
public IHttpActionResult GetAll(int id) { List <Zona> lsZonas = new List <Zona>(); try { var zonas = db.zonas.ToList().OrderBy(z => z.descripcion); foreach (var tZona in zonas) { if (tZona.id_torneo == id) { Zona zona = new Zona(); Torneo torneo = new Torneo(); List <Equipo> lsEquipos = new List <Equipo>(); zona.id_zona = tZona.id_zona; zona.descripcion = tZona.descripcion; zona.torneo = torneo; zona.torneo.id_torneo = tZona.id_torneo; var equipos = (from tEquipos in db.equipos join tEquiposZona in db.equipos_zona on tEquipos.id_equipo equals tEquiposZona.id_equipo join tZonas in db.zonas on tEquiposZona.id_zona equals tZonas.id_zona where tZonas.id_zona == zona.id_zona select new { id_equipo = tEquipos.id_equipo, nombre = tEquipos.nombre, id_torneo = tEquipos.id_torneo, logo = tEquipos.logo, id_zona = tZonas.id_zona, }).OrderBy(s => s.nombre); foreach (var equipoZona in equipos) { Equipo equipo = new Equipo(); Torneo torneoEquipo = new Torneo(); int? idZona = equipoZona.id_zona; if (idZona != null) { equipo.id_equipo = equipoZona.id_equipo; equipo.nombre = equipoZona.nombre; equipo.logo = (equipoZona.logo != null) ? (int)equipoZona.logo : 0; equipo.torneo = torneo; equipo.torneo.id_torneo = equipoZona.id_torneo; lsEquipos.Add(equipo); } } zona.lsEquipos = lsEquipos; lsZonas.Add(zona); } } return(Ok(lsZonas)); } catch (Exception e) { return(BadRequest(e.ToString())); } }
private List <Equipo> EquiposDeLaZonaDatosParaLosDatosWebPublicaAperturaRelampago(Zona zona) { return(_context.ZonaRelampagoEquipos.Where(x => x.Zona.Id == zona.Id).Select(y => y.Equipo).Where(x => x != null).ToList()); }
public void MapPosicionesWebPublica(Zona zona, PublicIndexVM vm) { var builder = new TablaWebPublicaBuilder(_context); vm.Tablas = builder.Tablas(zona); }
private List <ComisionDeServicio> GetViaticosFromTabla(TablaDeDatos tablaViaticos) { List <ComisionDeServicio> viaticos = new List <ComisionDeServicio>(); if (tablaViaticos.Rows.Count > 0) { var un_viatico = new ComisionDeServicio(); var un_pasaje = new Pasaje(); var una_estadia = new Estadia(); var una_transicion = new TransicionDeViatico(); var una_zona = new Zona(); tablaViaticos.Rows.ForEach(row => { if (viaticos.FindAll(t => t.Id == row.GetInt("Id")).Count == 0) { un_viatico = new ComisionDeServicio(); un_viatico.Id = row.GetInt("Id"); un_viatico.Baja = row.GetBoolean("Baja"); un_viatico.FechaCreacion = row.GetDateTime("fecha"); un_viatico.AreaCreadora = new Area(); un_viatico.AreaCreadora.Id = row.GetInt("IdAreaCreadora"); un_viatico.AreaCreadora.Nombre = row.GetString("DescripcionAreaCreadora"); un_viatico.AreaSuperior = new Area(); un_viatico.AreaSuperior.Id = row.GetInt("IdAreaCreadora"); un_viatico.AreaSuperior.Nombre = row.GetString("DescripcionAreaCreadora"); un_viatico.Persona = new Persona(); un_viatico.Persona.Nombre = row.GetString("Persona_Nombre"); un_viatico.Persona.Apellido = row.GetString("Persona_Apellido"); un_viatico.Persona.Documento = row.GetInt("Persona_Documento"); un_viatico.Persona.Area = new Area(); un_viatico.Persona.Area.Id = row.GetInt("Persona_Area_Id"); un_viatico.Persona.Area.Nombre = row.GetString("Persona_Area_Descripcion"); un_viatico.Persona.Cuit = row.GetString("Cuil_Persona"); un_viatico.Persona.Legajo = row.GetInt("Legajo_Persona").ToString(); un_viatico.Persona.Telefono = row.GetString("Telefono_Area"); un_viatico.Persona.Categoria = row.GetString("Categoria_Persona"); un_viatico.Persona.Nivel = row.GetString("Nivel_Funcion"); un_viatico.Persona.Grado = row.GetString("Grado_Rango"); //FC:agrego el estado mockeado por ahora para poder filtrar // viaticos.Add(un_viatico); un_pasaje = new Pasaje(); una_estadia = new Estadia(); una_transicion = new TransicionDeViatico(); } if (!(row.GetObject("Estadia_Id") is DBNull)) { if (un_viatico.Estadias.FindAll(t => t.Id == row.GetInt("Estadia_Id")).Count == 0) { una_estadia = new Estadia(); una_zona = new Zona(row.GetSmallintAsInt("Id_Zona"), row.GetString("Nombre_Zona")); una_estadia.Id = row.GetInt("Estadia_Id"); una_estadia.Desde = row.GetDateTime("Estadia_Desde"); una_estadia.Hasta = row.GetDateTime("Estadia_Hasta"); una_estadia.Provincia = new Provincia(); una_estadia.Provincia.Id = row.GetSmallintAsInt("Estadia_Provincia_Id"); una_estadia.Provincia.Nombre = row.GetString("Estadia_Provincia_Nombre"); una_estadia.Provincia.Zona = una_zona; una_estadia.Eventuales = Decimal.Parse(row.GetObject("Estadia_Eventuales").ToString()); // GetObject("Estadia_Eventuales"); una_estadia.AdicionalParaPasajes = Decimal.Parse(row.GetObject("Estadia_AdicionalParaPasajes").ToString()); //GetObject("Estadia_AdicionalParaPasajes"); una_estadia.CalculadoPorCategoria = Decimal.Parse(row.GetObject("Estadia_CalculadoPorCategoria").ToString()); //GetObject("Estadia_CalculadoPorCategoria"); una_estadia.Motivo = row.GetString("Estadia_Motivo"); una_estadia.Persona = un_viatico.Persona; un_viatico.Estadias.Add(una_estadia); } } if (!(row.GetObject("Pasaje_Id") is DBNull)) { if (un_viatico.Pasajes.FindAll(t => t.Id == row.GetInt("Pasaje_Id")).Count == 0) { un_pasaje = new Pasaje(); un_pasaje.Id = row.GetInt("Pasaje_Id"); un_pasaje.Origen = new Localidad(); un_pasaje.Origen.Id = row.GetInt("Pasaje_LocalidadOrigen_Id"); un_pasaje.Origen.Nombre = row.GetString("Pasaje_LocalidadOrigen_Nombre"); un_pasaje.Destino = new Localidad(); un_pasaje.Destino.Id = row.GetInt("Pasaje_LocalidadDestino_Id"); un_pasaje.Destino.Nombre = row.GetString("Pasaje_LocalidadDestino_Nombre"); un_pasaje.FechaDeViaje = row.GetDateTime("Pasaje_FechaDeViaje"); un_pasaje.MedioDeTransporte = new MedioDeTransporte(); un_pasaje.MedioDeTransporte.Id = row.GetSmallintAsInt("Pasaje_MedioDeTransporte_Id"); un_pasaje.MedioDeTransporte.Nombre = row.GetString("Pasaje_MedioDeTransporte_Nombre"); un_pasaje.MedioDePago = new MedioDePago(); un_pasaje.MedioDePago.Id = row.GetSmallintAsInt("Pasaje_MedioDePago_Id"); un_pasaje.MedioDePago.Nombre = row.GetString("Pasaje_MedioDePago_Nombre"); un_pasaje.Precio = Decimal.Parse(row.GetObject("Pasaje_Precio").ToString());//.GetObject("Pasaje_Precio"); un_viatico.Pasajes.Add(un_pasaje); } } if (!(row.GetObject("Transicion_Id") is DBNull)) { if (un_viatico.TransicionesRealizadas.FindAll(t => t.Id == row.GetInt("Transicion_Id")).Count == 0) { var id_transicion = row.GetInt("Transicion_Id"); var id_area_origen = row.GetInt("Transicion_AreaOrigen_Id"); var nombre_area_origen = row.GetString("Transicion_AreaOrigen_Descripcion"); var area_origen = new Area(id_area_origen, nombre_area_origen); var responsableAreaOrigen = new Persona(); responsableAreaOrigen.Nombre = row.GetString("Transicion_AreaOrigen_Responsable_Nombre"); responsableAreaOrigen.Apellido = row.GetString("Transicion_AreaOrigen_Responsable_Apellido"); responsableAreaOrigen.Documento = row.GetInt("Transicion_AreaOrigen_Responsable_Documento"); area_origen.Responsables = new List <Persona>(); area_origen.Responsables.Add(responsableAreaOrigen); var id_area_destino = row.GetInt("Transicion_AreaDestino_Id"); var nombre_area_destino = row.GetString("Transicion_AreaDestino_Descripcion"); var area_destino = new Area(id_area_destino, nombre_area_destino); var responsableAreaDestino = new Persona(); responsableAreaDestino.Nombre = row.GetString("Transicion_AreaDestino_Responsable_Nombre"); responsableAreaDestino.Apellido = row.GetString("Transicion_AreaDestino_Responsable_Apellido"); responsableAreaDestino.Documento = row.GetInt("Transicion_AreaDestino_Responsable_Documento"); area_destino.Responsables = new List <Persona>(); area_destino.Responsables.Add(responsableAreaDestino); var repositorioAcciones = new RepositorioDeAccionesDeTransicion(); var accion = repositorioAcciones.GetAccionDeTransicionById(row.GetInt("Transicion_Id_Accion")); var fecha = row.GetDateTime("Transicion_Fecha"); var comentario = row.GetString("Transicion_Comentario"); if (comentario == null) { comentario = ""; } una_transicion = new TransicionDeViatico(id_transicion, area_origen, area_destino, accion, fecha, comentario); un_viatico.TransicionesRealizadas.Add(una_transicion); } } }); } return(viaticos); }
public void MapGoleadoresWebPublica(Zona zona, PublicIndexVM vm) { var builder = new GoleadoresWebPublicaBuilder(_context); vm.Goleadores = builder.Tablas(zona); }
public Ciudad(int codigo, string nombre, Pais paisc, int discadoNacional, int codigoNacional, Zona zonac) { this.codigo = codigo; this.nombre = nombre; this.paisCiudad = paisc; this.discadoNacional = discadoNacional; this.codigoNacional = codigoNacional; this.zonaCiudad = zonac; }
public async Task DeleteZonaAsync(Zona zona) { _context.Zona.Remove(zona); await _context.SaveChangesAsync(); }
public ClienteInfo ValidarTipoEnvioPedido(ClienteInfo ObjClienteInfoReq) { ClienteInfo ObjClienteInfoResponse = new ClienteInfo(); //si es 1, es envio a la casa de la empresaria. if (ObjClienteInfoReq.TipoEnvio == 1) { Cliente ObjCliente = new Cliente("conexion"); ClienteInfo ObjClienteInfo = new ClienteInfo(); CiudadInfo ObjCiudadInfo = new CiudadInfo(); Ciudad ObjCiudad = new Ciudad("conexion"); ObjClienteInfo = ObjCliente.ListxNITSimpleEdit(ObjClienteInfoReq.Nit); if (ObjClienteInfo != null) { string CodCiudadCliente = ""; decimal PorcentajeIvaFlete = 0; decimal ValorFleteSinIva = 0; //Se obtiene el codigo de la ciudad para el flete. ObjClienteInfo = ObjCliente.ListClienteSVDNxNit(ObjClienteInfoReq.Nit); if (ObjClienteInfo != null) { CodCiudadCliente = ObjClienteInfo.CodCiudad; } //se obtiene la info de la ciudad del cliente. ObjCiudadInfo = ObjCiudad.ListCiudadxId(CodCiudadCliente); PorcentajeIvaFlete = ObjCiudadInfo.IVA; ValorFleteSinIva = ObjCiudadInfo.ValorFlete; ObjClienteInfoResponse.PorcentajeIvaFlete = PorcentajeIvaFlete; ObjClienteInfoResponse.ValorFleteSinIva = ValorFleteSinIva; ObjClienteInfoResponse.ValorFlete = (ValorFleteSinIva + (PorcentajeIvaFlete * (ValorFleteSinIva / 100))); ObjClienteInfoResponse.CodCiudadDespacho = ""; } } else if (ObjClienteInfoReq.TipoEnvio == 2) { /*********************SE BUSCA EL VALOR DEL FLETE POR GERENTE/DIRECTOR*************************************************/ ParametrosInfo ObjParametrosInfo = new ParametrosInfo(); Parametros ObjParametros = new Parametros("conexion"); ObjParametrosInfo = ObjParametros.ListxId((int)ParametrosEnum.ValorIVACOP); decimal PorcentajeIvaFlete = Convert.ToDecimal(ObjParametrosInfo.Valor.ToString()); decimal ValorFleteSinIva = 0; ZonaInfo objZonaInfo = new ZonaInfo(); Zona objZona = new Zona("conexion"); objZonaInfo = objZona.ListxIdZona(ObjClienteInfoReq.Zona.ToString()); if (objZonaInfo != null) { ValorFleteSinIva = objZonaInfo.ValorFlete; ObjClienteInfoResponse.PorcentajeIvaFlete = PorcentajeIvaFlete; ObjClienteInfoResponse.ValorFleteSinIva = ValorFleteSinIva; ObjClienteInfoResponse.ValorFlete = (ValorFleteSinIva + (PorcentajeIvaFlete * (ValorFleteSinIva / 100))); ObjClienteInfoResponse.CodCiudadDespacho = objZonaInfo.CodLocalidad; } } else if (ObjClienteInfoReq.TipoEnvio == 3) { /*********************SE BUSCA EL VALOR DE FLETE POR LIDER**************************************************/ FleteLiderInfo FleteLiderInfo = new FleteLiderInfo(); FleteLider ObjFletes = new FleteLider("conexion"); FleteLiderInfo = ObjFletes.List(ObjClienteInfoReq.EmpresariaLider); decimal PorcentajeIvaFlete = Convert.ToDecimal(FleteLiderInfo.Iva.ToString()); decimal ValorFleteSinIva = 0; if (ObjFletes != null) { ValorFleteSinIva = FleteLiderInfo.Valor; ObjClienteInfoResponse.PorcentajeIvaFlete = PorcentajeIvaFlete; ObjClienteInfoResponse.ValorFleteSinIva = ValorFleteSinIva; ObjClienteInfoResponse.ValorFlete = (ValorFleteSinIva + (PorcentajeIvaFlete * (ValorFleteSinIva / 100))); } Lider ObjLider1 = new Lider("conexion"); LiderInfo ObjLiderInfo1 = new LiderInfo(); //Se obtiene el codigo de la ciudad para el flete. ObjLiderInfo1 = ObjLider1.ListxIdLider(ObjClienteInfoReq.EmpresariaLider); if (ObjLiderInfo1 != null) { ObjClienteInfoResponse.CodCiudadDespacho = ObjLiderInfo1.Codciudad; } } else if (ObjClienteInfoReq.TipoEnvio == 4) { /*********************SE BUSCA EL VALOR DEL FLETE POR PUNTO DE VENTA*************************************************/ //TODO: PREGUNTAR QUE VALOR DE FLETE VA AQUI ParametrosInfo ObjParametrosInfo = new ParametrosInfo(); Parametros ObjParametros = new Parametros("conexion"); ObjParametrosInfo = ObjParametros.ListxId((int)ParametrosEnum.ValorIVACOP); decimal PorcentajeIvaFlete = 0; //Siempre es 0 por que se recoge en punto de venta. decimal ValorFleteSinIva = 0; ZonaInfo objZonaInfo = new ZonaInfo(); Zona objZona = new Zona("conexion"); objZonaInfo = objZona.ListxIdZona(ObjClienteInfoReq.Zona.ToString()); if (objZonaInfo != null) { ValorFleteSinIva = 0; //Siempre es 0 por que se recoge en punto de venta. ObjClienteInfoResponse.PorcentajeIvaFlete = PorcentajeIvaFlete; ObjClienteInfoResponse.ValorFleteSinIva = ValorFleteSinIva; ObjClienteInfoResponse.ValorFlete = (ValorFleteSinIva + (PorcentajeIvaFlete * (ValorFleteSinIva / 100))); ObjClienteInfoResponse.CodCiudadDespacho = objZonaInfo.CodLocalidad; } } else { //TODO: PREGUNTAR QUE VALOR DE FLETE VA POR DEFECTO POR SI ALGO PASA } return(ObjClienteInfoResponse); }
// CREAR public void Agregar(Zona zona) { IPersistenciaZona FabricaZona = FabricaPersitencia.getPersistenciaZona(); FabricaZona.Agregar(zona); }
public void ATarifaDaJornadaIncluiAsViagensFeitasNoPeriodoDaJornada(Jornada jornada, Zona zona) { Tarifa tarifa = _tarifaRepository.Read().Where(t => t.Jornada == jornada && t.Zona == zona).FirstOrDefault(); CartaoViagem cartaoViagem; ContaBancaria contaBancaria; CriarUsuario(tarifa, out contaBancaria, out cartaoViagem); var resultado = false; switch (jornada) { case Jornada.Unica: { _metroCardService.EntrarNaEstacao(cartaoViagem, DateTime.Now, zona); _metroCardService.SairDaEstacao(cartaoViagem, DateTime.Now); var tarifaValida = tarifa.Valor == contaBancaria.SaldoDevedor; var viagensValidas = cartaoViagem.Viagens.Where(v => v.DataEntrada >= cartaoViagem.DataVigente).ToList().Count == 1 && cartaoViagem.Viagens.Where(v => v.DataEntrada > cartaoViagem.DataVigente).ToList().Count == 0 ; resultado = tarifaValida && viagensValidas; break; }; case Jornada.Dia: { var numeroDeViagens = 5; for (int i = 0; i < numeroDeViagens; i++) { _metroCardService.EntrarNaEstacao(cartaoViagem, DateTime.Now, zona); _metroCardService.SairDaEstacao(cartaoViagem, DateTime.Now); } var tarifaValida = tarifa.Valor == contaBancaria.SaldoDevedor; var viagensNoDiaDaDataVigente = cartaoViagem.Viagens.Where(v => v.DataEntrada.Day == cartaoViagem.DataVigente.Value.Day).ToList(); var viagensForaDoDiaDaDataVigente = cartaoViagem.Viagens.Where(v => v.DataEntrada.Day == cartaoViagem.DataVigente.Value.AddDays(1).Day).ToList(); var viagensValidas = viagensForaDoDiaDaDataVigente.Count == 0 && viagensNoDiaDaDataVigente.Count > 0; resultado = tarifaValida && viagensValidas; break; }; case Jornada.Semana: { var dia = 1; var data = DateTime.Now; var dataLimite = data.AddDays(7); do { if (dia > 1) { data.AddDays(dia); } _metroCardService.EntrarNaEstacao(cartaoViagem, data, zona); _metroCardService.SairDaEstacao(cartaoViagem, data); dia++; }while (dia <= 7); var tarifaValida = tarifa.Valor == contaBancaria.SaldoDevedor; var viagensEmUmaSemana = cartaoViagem.Viagens.Where(v => v.DataEntrada >= cartaoViagem.DataVigente && v.DataEntrada <= dataLimite).ToList(); resultado = viagensEmUmaSemana.Count == 7 && !viagensEmUmaSemana.Any(v => v.DataEntrada > dataLimite.AddDays(1)); break; }; case Jornada.Mes: { _metroCardService.EntrarNaEstacao(cartaoViagem, DateTime.Now, zona); _metroCardService.SairDaEstacao(cartaoViagem, DateTime.Now); var tarifaValida = tarifa.Valor == contaBancaria.SaldoDevedor; var viagensValidas = cartaoViagem.Viagens.Where(v => v.DataEntrada >= cartaoViagem.DataVigente).ToList().Count >= 0 && cartaoViagem.Viagens.Where(v => v.DataEntrada >= cartaoViagem.DataVigente.Value.AddMonths(1)).ToList().Count == 0 ; resultado = tarifaValida && viagensValidas; break; }; } Assert.True(resultado); }
// MODIFICAR public void Modificar(Zona zona) { IPersistenciaZona FabricaZona = FabricaPersitencia.getPersistenciaZona(); FabricaZona.Modificar(zona); }
public void OPrecoDeveSerLimitadoATarifaDaquelePeriodoDeTempo(Jornada jornada, Zona zona) { Tarifa tarifa = _tarifaRepository.Read().Where(t => t.Jornada == jornada && t.Zona == zona).FirstOrDefault(); CartaoViagem cartaoViagem; ContaBancaria contaBancaria; CriarUsuario(tarifa, out contaBancaria, out cartaoViagem); var resultado = false; switch (jornada) { case Jornada.Unica: { _metroCardService.EntrarNaEstacao(cartaoViagem, DateTime.Now, zona); _metroCardService.SairDaEstacao(cartaoViagem, DateTime.Now); resultado = contaBancaria.SaldoDevedor == tarifa.Valor; break; }; case Jornada.Dia: { var numeroDeViagens = 5; for (int i = 0; i < numeroDeViagens; i++) { _metroCardService.EntrarNaEstacao(cartaoViagem, DateTime.Now, zona); _metroCardService.SairDaEstacao(cartaoViagem, DateTime.Now); } resultado = contaBancaria.SaldoDevedor == tarifa.Valor; break; }; case Jornada.Semana: { var dia = 1; var data = DateTime.Now; var dataLimite = cartaoViagem.DataVigente = data.AddDays(7); do { if (dia > 1) { data.AddDays(dia); } _metroCardService.EntrarNaEstacao(cartaoViagem, data, zona); _metroCardService.SairDaEstacao(cartaoViagem, data); dia++; }while (dia <= 7); resultado = contaBancaria.SaldoDevedor == tarifa.Valor; break; }; case Jornada.Mes: { var dia = 1; var data = DateTime.Now; do { if (dia > 1) { data.AddDays(dia); } _metroCardService.EntrarNaEstacao(cartaoViagem, data, zona); _metroCardService.SairDaEstacao(cartaoViagem, data); dia++; }while (dia <= 30); resultado = contaBancaria.SaldoDevedor == tarifa.Valor; break; }; } Assert.True(resultado); }
public Zona RegresaZona(string CodigoPostal) { InicializaConexion(); Zona zona= new Zona(); sqlDataAdapter.SelectCommand = new SqlCommand("ReturnZonas", sqlConnection); sqlDataAdapter.SelectCommand.CommandType = CommandType.StoredProcedure; sqlDataAdapter.SelectCommand.Parameters.Add("@cp", SqlDbType.NVarChar).Value = CodigoPostal; sqlDataAdapter.SelectCommand.Parameters["@cp"].Direction = ParameterDirection.Input; sqlDataAdapter.Fill(ds, "ReturnZonas"); if (ds.Tables["ReturnZonas"].Rows.Count > 0) { foreach (DataRow dr in ds.Tables["ReturnZonas"].Rows) { zona.Terremoto = Convert.ToString(dr["Z_Terremotos"]); zona.FHM = Convert.ToString(dr["Z_FHM"]); } } FinalizaConexion(); return zona; }
public void PreencherZonaLimitado(Zona zonaInserida, int totalAreasCriadas, Vetor2[] coordAreas, int nAreas, System.Random rnd) { int nAdjacentes; bool permissao = false; Vetor2 novaCoord; //numeroDeAreasRandomizado--- if (totalAreasCriadas >= nAreas) { //interrompe a recursão. return; } else { while (permissao == false) { int coordx = rnd.Next(1, Config.tamanhoMatrizZona.x - 2); int coordy = rnd.Next(1, Config.tamanhoMatrizZona.y - 2); nAdjacentes = 0; //checa se a posicao da matriz está vazia if (zonaInserida.zona[coordx, coordy] == null) { //checa os adjacentes: //cima: if (zonaInserida.zona[coordx, coordy - 1] != null) { nAdjacentes++; } //baixo if (zonaInserida.zona[coordx, coordy + 1] != null) { nAdjacentes++; } //esquerda if (zonaInserida.zona[coordx - 1, coordy] != null) { nAdjacentes++; } //direita if (zonaInserida.zona[coordx + 1, coordy] != null) { nAdjacentes++; } if (nAdjacentes > 0 && nAdjacentes < 2) { //insere uma area na posicao da matriz. novaCoord = new Vetor2(coordx, coordy); zonaInserida.zona[coordx, coordy] = new Area(novaCoord); totalAreasCriadas++; coordAreas[totalAreasCriadas] = novaCoord; permissao = true; } } } //Chama a recursão: if (totalAreasCriadas > (nAreas / 4)) { PreencherZonaLimitado(zonaInserida, totalAreasCriadas, coordAreas, nAreas, rnd); } else { int posicaorandom = rnd.Next(0, totalAreasCriadas + 1); PreencherZona(zonaInserida, zonaInserida.zona[coordAreas[posicaorandom].x, coordAreas[posicaorandom].y], totalAreasCriadas, coordAreas, nAreas, rnd); //Console.WriteLine("entrou" + (totalAreasCriadas + 1)); } } }