Example #1
0
        public void EliminarCosta(int id)
        {
            Costas costas = this.BuscarCosta(id);

            this.entidad.Costas.Remove(costas);
            this.entidad.SaveChanges();
        }
Example #2
0
        public async Task ModificarCostaAsync(Costas cl, int id, string token)
        {
            using (HttpClient client = new HttpClient())
            {
                String peticion = "api/ModificarCosta/" + id;
                client.BaseAddress = new Uri(this.uriapi);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(headerjson);
                Costas dept = new Costas();
                dept.Cod_Provincia   = cl.Cod_Provincia;
                dept.Foto            = cl.Foto;
                dept.NombreProvincia = cl.NombreProvincia;

                if (token != null)
                {
                    client.DefaultRequestHeaders.Add("Authorization", "bearer "
                                                     + token);
                }

                String json = JsonConvert.SerializeObject(dept);

                StringContent content =
                    new StringContent(json
                                      , System.Text.Encoding.UTF8, "application/json");

                await client.PutAsync(peticion, content);
            }
        }
Example #3
0
        public async Task InsertarCostaAsync(Costas cl, string token)
        {
            using (HttpClient client = new HttpClient())
            {
                String peticion = "api/InsertarCosta";
                client.BaseAddress = new Uri(this.uriapi);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(headerjson);

                Costas dept = new Costas();
                dept.Cod_Provincia   = cl.Cod_Provincia;
                dept.Foto            = cl.Foto;
                dept.NombreProvincia = cl.NombreProvincia;

                if (token != null)
                {
                    client.DefaultRequestHeaders.Add("Authorization", "bearer "
                                                     + token);
                }

                String        json    = JsonConvert.SerializeObject(dept);
                StringContent content =
                    new StringContent(json
                                      , System.Text.Encoding.UTF8, "application/json");
                HttpResponseMessage response =
                    await client.PostAsync(peticion, content);

                if (response.IsSuccessStatusCode)
                {
                }
            }
        }
 public ActionResult Create(Costas costas)
 {
     if (!ModelState.IsValid)
     {
         return(View(costas));
     }
     this.repo.InsertarCosta(costas);
     return(RedirectToAction("Nombre_Costas"));
 }
 public ActionResult Edit(Costas c)
 {
     if (!ModelState.IsValid)
     {
         return(View(c));
     }
     this.repo.ModificarCosta(c);
     return(RedirectToAction("Nombre_Costas"));
 }
Example #6
0
        //public List<VIVIENDASPORFILTRO1_Result> GetViviendasByFilter(int TipoVivienda, int Costa, int Banios, int Habitaciones)
        //{
        //    return (this.entidad.VIVIENDASPORFILTRO1(TipoVivienda, Costa, Banios, Habitaciones).ToList());
        //}

        //public List<VIVIENDASPORFILTRO_Result> GetViviendasByFilter(int TipoVivienda, int Costa, int Banios, int Habitaciones)
        //{
        //    return (this.entidad.VIVIENDASPORFILTRO( TipoVivienda,  Costa,  Banios,  Habitaciones).ToList());
        //}

        //public List<Viviendas> GetViviendasByFilter(int TipoVivienda, int Costa, int Banios, int Habitaciones)
        //{

        //    List<Viviendas> listaViviendas = this.entidad.Viviendas.Where(x =>
        //        (TipoVivienda == 0 || x.Cod_TipoVivienda == TipoVivienda)
        //        && (Costa == 0 || x.Cod_Provincia == Costa)
        //        && (Banios == 0 || x.Num_banios >= Banios)
        //        && (Habitaciones == 0 || x.Num_habitaciones >= Habitaciones)).ToList();


        //    return listaViviendas;
        //}

        public void InsertarCosta(Costas modelo)
        {
            Costas cost = new Costas();

            cost.Cod_Provincia   = modelo.Cod_Provincia;
            cost.Foto            = modelo.Foto;
            cost.NombreProvincia = modelo.NombreProvincia;
            this.entidad.Costas.Add(cost);
            this.entidad.SaveChanges();
        }
        public async Task <IActionResult> Create(Costas cl)
        {
            string token = HttpContext.Session.GetString("TOKEN");

            if (!ModelState.IsValid)
            {
                return(View(cl));
            }
            await this.repo.InsertarCostaAsync(cl, token);

            return(RedirectToAction("Nombre_Costas"));
        }
        public async Task <IActionResult> Edit(Costas clientes, int id)
        {
            string token = HttpContext.Session.GetString("TOKEN");

            if (!ModelState.IsValid)
            {
                return(View(clientes));
            }
            await this.repo.ModificarCostaAsync(clientes, id, token);

            return(RedirectToAction("Nombre_Costas"));
        }
Example #9
0
        public void ModificarCosta(Costas modelo)
        {
            //Costas costa = (from x in entidad.Costas
            //               where x.Cod_Provincia == c.Cod_Provincia
            //               select x).FirstOrDefault();

            //Costas cost = this.entidad.Costas.Where(z => z.Cod_Provincia == c.Cod_Provincia).FirstOrDefault();

            Costas cost = this.entidad.Costas.Single(z => z.Cod_Provincia == modelo.Cod_Provincia);

            cost.NombreProvincia = modelo.NombreProvincia;
            cost.Foto            = modelo.Foto;

            this.entidad.SaveChanges();
        }
Example #10
0
        public async Task <Costas> BuscarCostaAsync(int id)
        {
            using (HttpClient client = new HttpClient())
            {
                string peticion = "api/BuscarCosta/" + id;
                client.BaseAddress = new Uri(this.uriapi);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(headerjson);
                HttpResponseMessage response = await
                                               client.GetAsync(peticion);

                if (response.IsSuccessStatusCode)
                {
                    Costas costa =
                        await response.Content.ReadAsAsync <Costas>();

                    return(costa);
                }
                else
                {
                    return(null);
                }
            }
        }
Example #11
0
 public void Put(Costas h, int id)
 {
     this.repo.ModificarCosta(h);
 }
Example #12
0
 public void Post(Costas cost)
 {
     this.repo.InsertarCosta(cost);
 }
Example #13
0
        static void DemodulateOffsetQPSK()
        {
            // Manual adjust values
            int    sampleRate        = 8000;
            float  symbolRate        = 250; // Symbols per second
            int    carrierHz         = 1005;
            string inputPath         = Path.Combine(LocalPath, "oqpsk_output.8k.3ch.pcm32f");
            string outputPath        = Path.Combine(LocalPath, "oqpsk_output_demodulate.8k.2ch.pcm32f");
            int    inputChannelCount = 3;

            // Fixed values
            float  symbolPeriod        = 1f / symbolRate;
            int    symbolLengthSamples = sampleRate / (int)symbolRate;
            Costas costas = new Costas(sampleRate, carrierHz, Costas.LoopType.QPSK);

            // Downsamplers for bit slicing
            Downsampler dsI = new Downsampler(sampleRate);
            Downsampler dsQ = new Downsampler(sampleRate);

            dsI.SetRatio((symbolRate * 2) / sampleRate);
            dsQ.SetRatio((symbolRate * 2) / sampleRate);

            // Integrator to track symbol rate
            Integrator intRatio = new Integrator(0.3f, (1f / (symbolRate * 2)) * 0.5f, (symbolRate * 2) / sampleRate);

            // Modified gardner timing error detector
            Gardner gardner = new Gardner();


            // Tweakable parameters
            costas.ArmFilterHz = symbolRate * 1.5f;

            using (Stream input = File.OpenRead(inputPath))
            {
                using (Stream output = File.Create(outputPath))
                {
                    // Data input buffer
                    byte[] buffer        = new byte[sizeof(float) * inputChannelCount];
                    bool   flipFlop      = false;
                    float  sampleBufferI = 0;

                    int bytesRead = 0;
                    while ((bytesRead = input.Read(buffer, 0, buffer.Length)) == buffer.Length)
                    {
                        // Get input sample as a float
                        float sampleInput = BitConverter.ToSingle(buffer, 0);

                        // Process sample with costas loop
                        costas.Process(sampleInput);

                        // Get samples for I and Q channels
                        float sampleI = costas.Inphase();
                        float sampleQ = costas.Quadrature();

                        // Downsample to 2x symbol rate for timing recovery
                        dsQ.Next();
                        if (dsI.Next())
                        {
                            // Compute timing error
                            float error = gardner.Process(sampleBufferI);
                            float ratio = intRatio.Process(error * 0.1f);

                            // Adjust ratio
                            dsI.SetRatio(ratio);
                            dsQ.SetRatio(ratio);

                            // Output every other sample
                            if (flipFlop ^= true)
                            {
                                // Output timing bits to file
                                output.Write(BitConverter.GetBytes(sampleBufferI), 0, sizeof(float));
                                output.Write(BitConverter.GetBytes(dsQ.GetSample()), 0, sizeof(float));
                            }

                            // Buffer the I channel by half a symbol period because we delayed Q during modulation
                            // This puts I and Q back in sync resulting in our original data stream
                            // NOTE: This assumption only holds if the demodulated phase is correct and the
                            //   constellation is not rotated the wrong way around
                            sampleBufferI = dsI.GetSample();
                        }

                        // Supply data to downsamplers
                        dsI.SupplyInput(sampleI);
                        dsQ.SupplyInput(sampleQ);

                        //// Output full-rate samples to file instead
                        //output.Write(BitConverter.GetBytes(sampleI), 0, sizeof(float));
                        //output.Write(BitConverter.GetBytes(sampleQ), 0, sizeof(float));
                    }
                }
            }
        }
Example #14
0
        static void DemodulateQPSK()
        {
            // Manual adjust values
            int    sampleRate = 8000;
            float  symbolRate = 250; // Symbols per second
            int    carrierHz  = 1005;
            string inputPath  = Path.Combine(LocalPath, "qpsk_output.8k.3ch.pcm32f");
            string outputPath = Path.Combine(LocalPath, "qpsk_output_demodulate.8k.2ch.pcm32f");

            // Fixed values
            float       symbolPeriod        = 1f / symbolRate;
            int         symbolLengthSamples = sampleRate / (int)symbolRate;
            Costas      costas  = new Costas(sampleRate, carrierHz, Costas.LoopType.QPSK);
            Gardner     gardner = new Gardner();
            Downsampler dsI     = new Downsampler(sampleRate);
            Downsampler dsQ     = new Downsampler(sampleRate);

            dsI.SetRatio((symbolRate * 2) / sampleRate);
            dsQ.SetRatio((symbolRate * 2) / sampleRate);
            Integrator intRatio = new Integrator(0.3f, (1f / (symbolRate * 2)) * 0.5f, (symbolRate * 2) / sampleRate);

            // Tweakable parameters
            costas.ArmFilterHz = symbolRate * 1.5f;

            using (Stream input = File.OpenRead(inputPath))
            {
                // Data input buffer
                byte[] buffer   = new byte[sizeof(float) * 3];
                bool   flipFlop = false;

                using (Stream output = File.Create(outputPath))
                {
                    int bytesRead = 0;
                    while ((bytesRead = input.Read(buffer, 0, buffer.Length)) == buffer.Length)
                    {
                        // Get input sample as a float
                        float sampleInput = BitConverter.ToSingle(buffer, 0);

                        // Process sample with costas loop
                        costas.Process(sampleInput);

                        float sampleI = costas.Inphase();
                        float sampleQ = costas.Quadrature();

                        // Downsample to 2x symbol rate for timing recovery
                        dsQ.Next();
                        if (dsI.Next())
                        {
                            // Compute timing error
                            float error = gardner.Process(dsI.GetSample(), dsQ.GetSample());
                            float ratio = intRatio.Process(error * 0.01f);// ((symbolRate * 16) / sampleRate) + (0.7f * error);

                            // Adjust ratio
                            dsI.SetRatio(ratio);
                            dsQ.SetRatio(ratio);

                            // Output every other sample
                            if (flipFlop ^= true)
                            {
                                // Output timing bits to file
                                output.Write(BitConverter.GetBytes(dsI.GetSample()), 0, sizeof(float));
                                output.Write(BitConverter.GetBytes(dsQ.GetSample()), 0, sizeof(float));
                            }
                        }

                        dsI.SupplyInput(sampleI);
                        dsQ.SupplyInput(sampleQ);

                        //// Output sample to file
                        //output.Write(BitConverter.GetBytes(sampleI), 0, sizeof(float));
                        //output.Write(BitConverter.GetBytes(sampleQ), 0, sizeof(float));
                    }
                }
            }
        }
        //--------------------------

        public async Task <IActionResult> Delete(int id)
        {
            Costas cl = await this.repo.BuscarCostaAsync(id);

            return(View(cl));
        }
Example #16
0
        public ActionResult Delete(int id)
        {
            Costas costas = this.repo.BuscarCosta(id);

            return(View(costas));
        }