public List <Medicamento_farmacia> Medicemento_farmacia_refinado(List <Medicamento_farmacia> lista) { List <Medicamento_farmacia> real = new List <Medicamento_farmacia>(); Medicamento_farmacia entidade = null; foreach (var item in lista) { entidade = new Medicamento_farmacia { id_fabricante = item.id_fabricante, id_farmacia = item.id_farmacia, id_medicamento = item.id_medicamento, referencia = item.referencia, estado = item.estado, situacao = item.situacao, preco = item.preco, dosagem = item.dosagem, registo = item.registo, stock = item.stock, apresentacao = item.apresentacao, actualizacao = item.actualizacao, Carrinho = null, Fabricante = null, Medicamento = null, Reserva = null, Sucursal_farmacia = null }; real.Add(entidade); } return(real); }
public async Task <IHttpActionResult> PostMedicamento_farmacia(Medicamento_farmacia medicamento_farmacia) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.Medicamento_farmacia.Add(medicamento_farmacia); try { await db.SaveChangesAsync(); } catch (DbUpdateException) { if (Medicamento_farmaciaExists(medicamento_farmacia.id_medicamento)) { return(Conflict()); } else { throw; } } return(CreatedAtRoute("DefaultApi", new { id = medicamento_farmacia.id_medicamento }, medicamento_farmacia)); }
public async Task <IHttpActionResult> PutMedicamento_farmacia(long id, Medicamento_farmacia medicamento_farmacia) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != medicamento_farmacia.id_medicamento) { return(BadRequest()); } db.Entry(medicamento_farmacia).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!Medicamento_farmaciaExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public async Task <IHttpActionResult> GetMedicamento_farmacia(long id) { Medicamento_farmacia medicamento_farmacia = await db.Medicamento_farmacia.FindAsync(id); if (medicamento_farmacia == null) { return(NotFound()); } return(Ok(medicamento_farmacia)); }
public async Task <IHttpActionResult> DeleteMedicamento_farmacia(long id) { Medicamento_farmacia medicamento_farmacia = await db.Medicamento_farmacia.FindAsync(id); if (medicamento_farmacia == null) { return(NotFound()); } db.Medicamento_farmacia.Remove(medicamento_farmacia); await db.SaveChangesAsync(); return(Ok(medicamento_farmacia)); }
public List <Pesquisas> Procura_farmacias(string local, string data, long id_usuario, float?raio) { if (raio == null) { raio = 5; } //TempData["pesquisa"] = (List<Medicamento_farmacia>)lista; //Inicializacao da magia de pesquisa; List <Sucursal_farmacia> farmacias = new List <Sucursal_farmacia>(); List <Receita> receitas = new List <Receita>(); List <Medicamento_farmacia> resultado = new List <Medicamento_farmacia>(); List <Medicamento_farmacia> resultado2 = new List <Medicamento_farmacia>(); List <Pesquisas> resumo = new List <Pesquisas>(); Pesquisas consulta = new Pesquisas(); Medicamento_farmacia med_farm = new Medicamento_farmacia(); Receita_real real = new Receita_real(); List <Reserva> reserva = new List <Reserva>(); Reserva reserva_melhor = new Reserva(); List <Medicamento_receita> lista2 = new List <Medicamento_receita>(); Medicamento_receita rm = new Medicamento_receita(); long contador = 1; decimal distancia2 = 0; //Fim da magia de pesquisa //Magia de pesquisa if (data != null) { Posicao_padrao posicao = Get_posicao(id_usuario); resultado = Farmacias_proximas((int)raio, id_usuario); if (resultado != null) { receitas = Minha_receita(id_usuario); foreach (var item in resultado) { int encontrado = 0; if (farmacias.Where(e => e.id_sucursal == item.id_farmacia).Count() == 0 && receitas.Where(a => a.id_medicamento == item.id_medicamento).Count() > 0) { Receita ras = receitas.Where(a => a.id_medicamento == item.id_medicamento).FirstOrDefault(); //total = (decimal)(ras.quantidade * item.preco); encontrado++; distancia2 = (decimal)(Math.Round(Calcula_distancia((float)item.Sucursal_farmacia.latitude, (float)item.Sucursal_farmacia.longitude, 'K', posicao), 1)); consulta = new Pesquisas { id = contador, id_fabricante = item.id_fabricante, referencia = item.referencia, id_farmacia = item.id_farmacia, raio = raio, ditancia_farmacia = distancia2, total_encontrado = encontrado, id_medicamento = ras.id_medicamento, data = ras.data, dosagem = ras.composicao, forma = ras.forma, id_registo = ras.id_registo, id_usuario = ras.id_usuario, preco_unitario = item.preco, quantidade = ras.quantidade, total_receita = receitas.Count(), total_valor = (decimal)(ras.quantidade * item.preco) }; contador++; resumo.Add(consulta); //farmacias.Add(item.Sucursal_farmacia); encontrado = 0; } } //Historico de pesquisas sobre os medicamentos da receita /* * foreach (var item in receitas) * { * try * { * reserva_melhor = reserva.Where(e => e.dosagem.Contains(item.composicao) && e.desc_quantidade.Contains(item.forma) && e.id_medicamento == item.id_medicamento).OrderBy(e => e.valor_actual).First(); * if (reserva_melhor != null) * { * // var distancia2 = Math.Round(Calcula_distancia((float)reserva_melhor.Medicamento_farmacia.Sucursal_farmacia.latitude, (float)reserva_melhor.Medicamento_farmacia.Sucursal_farmacia.longitude, 'K', posicao), 1); * med_farm = resultado2.Where(e => e.id_medicamento == item.id_medicamento && e.apresentacao.Equals(item.forma) && e.dosagem.Equals(item.composicao) && e.id_farmacia == reserva_melhor.id_farmacia && e.id_fabricante == reserva_melhor.id_fabricante && e.preco == reserva_melhor.valor_actual).FirstOrDefault(); * rm = new Medicamento_receita * { * consulta = med_farm, * distancia = (float)distancia2 * }; * lista2.Add(rm); * * } * * } * catch { } * } */ //Envio do resultado para a pagina de disponibilização do resultado } } //Fim da magia de pesquisa return(resumo); }