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;
        }
示例#2
0
 public async Task UpdateZonaAsync(Zona zona)
 {
     _context.Update(zona);
     await _context.SaveChangesAsync();
 }
示例#3
0
        // ELIMINAR
        public void Eliminar(Zona zona)
        {
            IPersistenciaZona FabricaZona = FabricaPersitencia.getPersistenciaZona();

            FabricaZona.Eliminar(zona);
        }
示例#4
0
 public void MapFixtureWebPublica(Zona zona, PublicIndexVM vm)
 {
     vm.Fixture = MapFixtureWebPublica(zona);
 }
示例#5
0
        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);
        }
示例#7
0
        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);
            }
        }
示例#8
0
 public modZona(OrigenesDeDatos.Zona z)
 {
     this.zonaDB = z;
 }
示例#9
0
 public Zona(Zona zona)
 {
     this.codigo = zona.codigo;
     this.nombre = zona.nombre;
 }
示例#10
0
        // 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);
        }
示例#11
0
 public modZona()
 {
     this.zonaDB = new Zona();
 }
示例#12
0
        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;
            }
        }
示例#13
0
        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 }));
        }
示例#14
0
    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));
            }
        }
    }
示例#15
0
 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
             }
         }
     }
 }
示例#16
0
 public bool InsertarAsientoZona(List <Asiento> listaAsientos, Zona zona)
 {
     return(asientoRepository.InsertarAsientoZona(listaAsientos, zona));
 }
示例#17
0
        public static IZona GetZona()
        {
            Zona oZona = new Zona();

            return((IZona)oZona);
        }
示例#18
0
        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());
        }
示例#19
0
        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()));
            }
        }
示例#20
0
 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());
 }
示例#21
0
        public void MapPosicionesWebPublica(Zona zona, PublicIndexVM vm)
        {
            var builder = new TablaWebPublicaBuilder(_context);

            vm.Tablas = builder.Tablas(zona);
        }
示例#22
0
        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);
        }
示例#23
0
        public void MapGoleadoresWebPublica(Zona zona, PublicIndexVM vm)
        {
            var builder = new GoleadoresWebPublicaBuilder(_context);

            vm.Goleadores = builder.Tablas(zona);
        }
示例#24
0
 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;
 }
示例#25
0
 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);
        }
示例#27
0
        // CREAR
        public void Agregar(Zona zona)
        {
            IPersistenciaZona FabricaZona = FabricaPersitencia.getPersistenciaZona();

            FabricaZona.Agregar(zona);
        }
示例#28
0
        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);
        }
示例#29
0
        // MODIFICAR
        public void Modificar(Zona zona)
        {
            IPersistenciaZona FabricaZona = FabricaPersitencia.getPersistenciaZona();

            FabricaZona.Modificar(zona);
        }
示例#30
0
        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;
        }
示例#32
0
    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));
            }
        }
    }