예제 #1
0
        public async Task <IActionResult> Create([Bind("IdArtigo,Titulo,Preco,Descricao,Contacto,Validado,CategoriaFK")] Artigos artigos, IFormFile artigoImg)
        {
            if (ModelState.IsValid)
            {
                //Obter o user que está a criar o novo artigo e atribuir o seu id ao artigo que está a ser criado (IdDono)
                var user = await _userManager.GetUserAsync(HttpContext.User);

                artigos.Dono = _db.Utilizadores.Where(c => c.UserFK == user.Id).FirstOrDefault();


                if (artigoImg.Length > 0)
                {
                    var filePath    = Path.Combine(_environment.WebRootPath, "ImagensArtigos");
                    var newFileName = Guid.NewGuid() + Path.GetExtension(artigoImg.FileName);

                    filePath         = Path.Combine(filePath, newFileName);
                    artigos.FileName = newFileName;

                    using (var stream = System.IO.File.Create(filePath))
                    {
                        await artigoImg.CopyToAsync(stream);
                    }
                }

                _db.Add(artigos);
                await _db.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["CategoriaFK"] = new SelectList(_db.Categorias, "IdCategoria", "Designacao", artigos.CategoriaFK);
            ViewData["DonoFK"]      = new SelectList(_db.Utilizadores, "IdUtilizador", "Localidade", artigos.DonoFK);
            return(View(artigos));
        }
        // GET: Artigo/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Artigos artigos = db.Artigos.Find(id);

            if (artigos == null)
            {
                return(HttpNotFound());
            }

            var a = artigos.Avaliacoes.ToList();

            if (a.Count == 0)
            {
                ViewBag.media = "Não há avaliação para esse artigo no momento";
            }
            else
            {
                var media = artigos.Avaliacoes.Average(x => x.NotaArtigo);
                ViewBag.media = "Media das notas: " + media.ToString("N2");
            }


            return(PartialView(artigos));
        }
예제 #3
0
 public async Task <IActionResult> Edit(int id, [Bind("IdArtigo,Titulo,Preco,Descricao,Contacto,Validado,CategoriaFK")] Artigos artigos)
 {
     if (id != artigos.IdArtigo)
     {
         return(NotFound());
     }
     if (ModelState.IsValid)
     {
         try
         {
             _db.Update(artigos);
             await _db.SaveChangesAsync();
         }
         catch (DbUpdateConcurrencyException)
         {
             if (!ArtigosExists(artigos.IdArtigo))
             {
                 return(NotFound());
             }
             else
             {
                 throw;
             }
         }
         return(RedirectToAction(nameof(Index)));
     }
     ViewData["CategoriaFK"] = new SelectList(_db.Categorias, "IdCategoria", "Designacao", artigos.CategoriaFK);
     ViewData["DonoFK"]      = new SelectList(_db.Utilizadores, "IdUtilizador", "Localidade", artigos.DonoFK);
     return(View(artigos));
 }
        //private async void ExecuteShowCategoriaCommand(Tag tag)
        //{
        //    await PushAsync<CategoriaViewModel>(tag);
        //}

        //private async void ExecuteAboutCommand()
        //{
        //    await PushAsync<AboutViewModel>();
        //}

        public async Task LoadAsync()
        {
            var artigos = await _apiService.GetArtigosByFilterAsync(SearchTerm);

            Artigos.Clear();
            foreach (var tag in artigos)
            {
                Artigos.Add(tag);
            }

            OnPropertyChanged(nameof(Artigos));
        }
예제 #5
0
        public ActionResult DeleteConfirmed(int id)
        {
            if (Session["ac"] != "Artigos/Delete" || (int)Session["id"] != id)
            {
                return(RedirectToAction("Index", "Artigos"));
            }
            Artigos artigos = db.Artigos.Find(id);

            db.Artigos.Remove(artigos);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
예제 #6
0
        static void Main(string[] args)
        {
            Usuarios oAllan  = new Usuarios("Allan", "Imbé", 51989898989, "123.senha");
            Usuarios oAmanda = new Usuarios("Amanda", "Tramandaí", 51999999999, "321.senha");

            w("");
            w("Usuários");
            w($"Nome: {oAllan.nome} - Local: {oAllan.local} - Fone: {oAllan.telefone} - Senha: {oAllan.senha}");
            w($"Nome: {oAmanda.nome} - Local: {oAmanda.local} - Fone: {oAmanda.telefone} - Senha: {oAmanda.senha}");

            Materiais oMateriaisA = new Materiais(123, "Meio Ambiente", "Fim das Matas");
            Materiais oMateriaisB = new Materiais(456, "Meio Ambiente", "O Fim da Amazônia");
            Materiais oMateriaisC = new Materiais(789, "Meio Ambiente", "Artigos");

            Livros   oLivrosA  = new Livros("Urubu", "1º Edição", "ISBN - 987-65-432-1012-3", "João Silva");
            Revistas oRevistaA = new Revistas("Desmatamento", "ABC");
            Artigos  oArtigoA  = new Artigos("João Silva", "Artigo Muito Louco");

            w("");
            w("Consulta");
            w($"#{oMateriaisA.codigo} - Assunto: {oMateriaisA.assunto} - Título: {oMateriaisA.titulo} - Editora: {oLivrosA.editora} - Edicao: {oLivrosA.edicao} - {oLivrosA.ISBN} - Autor: {oLivrosA.autor}");
            w($"#{oMateriaisB.codigo} - Assunto: {oMateriaisB.assunto} - Título: {oMateriaisB.titulo} - Coleção: {oRevistaA.colecao} - Edicao: {oRevistaA.editora}");
            w($"#{oMateriaisC.codigo} - Assunto: {oMateriaisC.assunto} - Título: {oMateriaisC.titulo} - Autor: {oArtigoA.autor} - Título: {oArtigoA.tituloArtigo}");

            Reservas oReserva1 = new Reservas(new DateTime(2019, 01, 01), new DateTime(2019, 01, 03));
            Reservas oReserva2 = new Reservas(new DateTime(2019, 01, 05), new DateTime(2019, 01, 08));

            w("");
            w("Reservas");
            oReserva1.Reservar(oMateriaisA, oReserva1);
            oReserva2.Reservar(oMateriaisB, oReserva2);

            Emprestimo oEmprestimo1 = new Emprestimo(new DateTime(2019, 02, 01), new DateTime(2019, 02, 10), 0);
            Emprestimo oEmprestimo2 = new Emprestimo(new DateTime(2019, 02, 03), new DateTime(2019, 02, 13), 0);

            w("");
            w("Empréstimos");
            oEmprestimo1.Emprestar(oAllan, oMateriaisA, oEmprestimo1);
            oEmprestimo2.Emprestar(oAmanda, oMateriaisB, oEmprestimo2);

            Devolucao oDevolucao1 = new Devolucao(new DateTime(2019, 02, 10));
            Devolucao oDevolucao2 = new Devolucao(new DateTime(2019, 02, 15));

            w("");
            w("Devolução");
            oDevolucao1.Devolver(oAllan, oMateriaisA, oDevolucao1, oEmprestimo1);
            oDevolucao2.Devolver(oAmanda, oMateriaisB, oDevolucao2, oEmprestimo2);



            w("");
        }
예제 #7
0
        // GET: Artigos/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Artigos artigos = db.Artigos.Find(id);

            if (artigos == null)
            {
                return(HttpNotFound());
            }
            return(View(artigos));
        }
예제 #8
0
 public ActionResult Edit([Bind(Include = "ID,Nome,Tipo,Preco,Data_Entrada,imagem,Descricao,Produtor")] Artigos artigos)
 {
     if (Session["ac"] != "Artigos/Edit" || (int)Session["id"] != artigos.ID)
     {
         return(RedirectToAction("Index", "Artigos"));
     }
     if (ModelState.IsValid)
     {
         db.Entry(artigos).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(artigos));
 }
예제 #9
0
        // GET: Artigos/Delete/5
        public ActionResult Delete(int?id)
        {
            Session["id"] = id;
            Session["ac"] = "Artigos/Delete";
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Artigos artigos = db.Artigos.Find(id);

            if (artigos == null)
            {
                return(HttpNotFound());
            }
            return(View(artigos));
        }
예제 #10
0
        public ActionResult Create([Bind(Include = "ID,Nome,Tipo,Preco,Data_Entrada,imagem,Descricao,Produtor")] Artigos artigos, HttpPostedFileBase fotografias)
        {
            if (Session["ac"] != "Artigos/Create")
            {
                return(RedirectToAction("Index", "Artigos"));
            }
            string caminho = "";
            bool   haFoto  = false;

            // há ficheiro?
            if (fotografias == null)
            {
            }
            else
            {
                // há ficheiro
                // será correto?
                if (fotografias.ContentType == "image/jpeg" ||
                    fotografias.ContentType == "image/png")
                {
                    // estamos perante uma foto correta
                    string extensao = Path.GetExtension(fotografias.FileName).ToLower();
                    Guid   g;
                    g = Guid.NewGuid();
                    // nome do ficheiro
                    string nome = g.ToString() + extensao;
                    // onde guardar o ficheiro
                    caminho = Path.Combine(Server.MapPath("~/imagens"), nome);
                    // atribuir ao agente o nome do ficheiro
                    artigos.imagem = nome;
                    // assinalar q há foto
                    haFoto = true;
                }
            }
            if (ModelState.IsValid)
            {
                db.Artigos.Add(artigos);
                db.SaveChanges();
                if (haFoto)
                {
                    fotografias.SaveAs(caminho);
                }
                return(RedirectToAction("Index"));
            }

            return(View(artigos));
        }
        private async void ExecuteNoticiasCommand()
        {
            try
            {
                Artigos?.Clear();
                var artigos = await _service.GetArtigosAsync();

                foreach (var art in artigos)
                {
                    Artigos?.Add(art);
                }
            }

            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #12
0
        public async Task <IActionResult> Create([Bind("IdArtigo,Titulo,Preco,Descricao,Contacto,Validado,CategoriaFK")] Artigos artigos)
        {
            if (ModelState.IsValid)
            {
                //Obter o user que está a criar o novo artigo e atribuir o seu id ao artigo que está a ser criado (IdDono)
                var user = await _userManager.GetUserAsync(HttpContext.User);

                //artigos.Dono = user.Id

                //Colocar o artigo como não válido, será necessário o mesmo ser avaliado por um gestor antes de se tornar público
                artigos.Validado = false;

                _db.Add(artigos);
                await _db.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["CategoriaFK"] = new SelectList(_db.Categorias, "IdCategoria", "Designacao", artigos.CategoriaFK);
            ViewData["DonoFK"]      = new SelectList(_db.Utilizadores, "IdUtilizador", "Localidade", artigos.DonoFK);
            return(View(artigos));
        }
        //public ActionResult Create(Artigos artigos , HttpPostedFileBase file)
        public ActionResult Create(ArtigoViewModel model)
        {
            var artigo = new Artigos
            {
                Nome         = model.Nome,
                ResumoArtigo = model.ResumoArtigo,
                Genero       = model.Genero
            };

            if (model.Arquivo != null)
            {
                using (MemoryStream ms = new MemoryStream())
                {
                    model.Arquivo.InputStream.CopyTo(ms);
                    byte[] temp = ms.GetBuffer();
                    if (temp.Length != 0)
                    {
                        artigo.Artigopdf   = temp;
                        artigo.ContentType = model.Arquivo.ContentType;
                    }
                }
            }
            if (ModelState.IsValid)
            {
                var id = Session["usuarioLogadoID"].ToString();
                List <Participante> listParticipante = new List <Participante>();
                Participante        participante     = db.Participantes.Find(int.Parse(id));
                listParticipante.Add(participante);
                artigo.Participantes = listParticipante;
                db.Artigos.Add(artigo);
                db.SaveChanges();
                return(RedirectToAction("Index", "Artigo"));
            }

            return(View(artigo));
        }
예제 #14
0
 /// <summary>
 /// Devolve artigo pelo id
 /// </summary>
 /// <param name="idArtigo">Id do artigo</param>
 /// <returns>
 /// Artigo se encontrar
 /// Null se não encontrar
 /// </returns>
 public static Artigo DevolveArtigoById(int idArtigo)
 {
     return(Artigos.DevolveArtigoPorId(idArtigo));
 }
예제 #15
0
 public static List <Artigo> DevolveArtigosNDescontinuados()
 {
     return(Artigos.DevolveArtigos().Where(
                a => !(a.Descontinuado) &&
                !(ControlFamilias.DevolveFamiliaById(a.Familia).Descontinuado)).ToList());
 }
예제 #16
0
 /// <summary>
 /// Devolve lista de artigos
 /// </summary>
 /// <returns>Retorna lista</returns>
 public static List <Artigo> DevolveArtigos()
 {
     return(Artigos.DevolveArtigos());
 }
예제 #17
0
 /// <summary>
 /// Devolve lista de artigos ordenada descendentemente
 /// </summary>
 /// <returns>Retorna lista</returns>
 public static List <Artigo> DevolveArtigosDesc()
 {
     return(Artigos.DevolveArtigos().OrderByDescending(a => a.DescCurta).ToList());
 }
예제 #18
0
 /// <summary>
 /// Retorna lista de artigos filtrada por familia
 /// </summary>
 /// <param name="idFamily">id da familia</param>
 /// <returns>Retorna lista de artigos</returns>
 public static List <Artigo> GetArtigosByFamily(int idFamily)
 {
     return(Artigos.DevolveArtigosPorFamilia(idFamily));
 }
예제 #19
0
 /// <summary>
 /// Remove artigo pela id
 /// </summary>
 /// <param name="id">id do artigo</param>
 /// <returns>retorna se conseguiu remover</returns>
 public static bool RemoveArtigos(int id)
 {
     return(Artigos.RemoveArtigo(id));
 }
예제 #20
0
 /// <summary>
 /// Calcula preco com o imposto
 /// </summary>
 /// <param name="idArtigo">Id do artigo</param>
 /// <returns>Retorna o valor calculado</returns>
 public static double CalculaPrecoCImposto(int idArtigo)
 {
     return(Artigos.DevolvePrecoCImposto(idArtigo));
 }
        public ActionResult DownloadDocumento(long id)
        {
            Artigos documento = db.Artigos.Find(id);

            return(File(documento.Artigopdf, "application/pdf", documento.Nome));
        }
예제 #22
0
 /// <summary>
 /// Adiciona novo artigo
 /// </summary>
 /// <param name="descCurta">Descrição curta</param>
 /// <param name="imp"></param>
 /// <param name="fam"></param>
 /// <param name="quant"></param>
 /// <param name="precSIva"></param>
 /// <param name="pedePreco"></param>
 /// <param name="pedeQuant"></param>
 /// <param name="descontinuado"></param>
 /// <returns></returns>
 public static bool AddArtigo(string descCurta, int imp, int fam, double quant, double precSIva, bool pedePreco, bool pedeQuant, bool descontinuado)
 {
     return(Artigos.AddArtigo(descCurta, imp, fam, quant, precSIva, pedePreco, pedeQuant, descontinuado));
 }
예제 #23
0
// public List<fisioterapeuta> lista(string nome)
//    {
//      Fisioterapeuta_Negocios business = new Fisioterapeuta_Negocios();
//      var fisio = new fisioterapeuta { nome_fis = nome };
// var ret = business.ObterFisio(fisio);
//    var ret = business.ObterFisio(fisio);

//  return ret;
//   }

//  public PartialViewResult _profissionalSource()
//  {

//     if (Session["UsuarioFisio"] != null)
//   {
//       Fisioterapeuta_Negocios fn = new Fisioterapeuta_Negocios();
//       var f = fn.ObterSem();
//       return PartialView("_fisioterapeutas", f);
//    }else if (Session["UsuarioPac"] != null)
// {
//        Paciente =
//     }

//   }

//   public List<fisioterapeuta> fisio()
//  {

//  }

        public void eliminarArtigo(int?id)
        {
            Artigos art = new Artigos();

            art.eliminarArt(id);
        }
예제 #24
0
        /// <summary>
        /// Seed da nossa Base de Dados
        /// </summary>
        /// <param name="context"></param>
        /// <param name="usersID"></param>
        public static void SeedDB(ApplicationDbContext context, List <string> usersID)
        {
            context.Database.EnsureCreated();


            // Verifica se existe algum utilizador na Base de Dados, caso exista, não "seeda" a Base de Dados
            if (context.Utilizadores.Any())
            {
                return;   // DB has been seeded
            }

            var utilizadores = new Utilizadores[]
            {
                new Utilizadores {
                    Nome = "Frederico", Username = "******", Localidade = "Golegã", Sexo = "Masculino", DataNasc = new DateTime(1998, 6, 2), UserFK = usersID[0]
                },
                new Utilizadores {
                    Nome = "Tiago Rodrigues", Username = "******", Localidade = "Entroncamento", Sexo = "Masculino", DataNasc = new DateTime(1998, 6, 2), UserFK = usersID[1]
                },
                new Utilizadores {
                    Nome = "Isso", Username = "******", Localidade = "Entroncamento", Sexo = "Masculino", DataNasc = new DateTime(1998, 6, 2), UserFK = usersID[2]
                }
            };

            foreach (Utilizadores s in utilizadores)
            {
                context.Utilizadores.Add(s);
            }
            context.SaveChanges();

            var categorias = new Categorias[]
            {
                new Categorias {
                    Designacao = "Carros"
                },
                new Categorias {
                    Designacao = "Peças"
                }
            };


            foreach (Categorias f in categorias)
            {
                context.Categorias.Add(f);
            }
            context.SaveChanges();

            var artigos = new Artigos[]
            {
                new Artigos {
                    Titulo = "Audi A4", Preco = "25,000", Descricao = "Carro como novo, inspeção em dia", Contacto = "*****@*****.**", Validado = true, DonoFK = 1, CategoriaFK = categorias[0].IdCategoria
                },
                new Artigos {
                    Titulo = "BMW X5", Preco = "30,000", Descricao = "Carro como novo, inspeção em dia", Contacto = "*****@*****.**", Validado = true, DonoFK = 2, CategoriaFK = categorias[0].IdCategoria
                },
                new Artigos {
                    Titulo = "Opel XXX", Preco = "10,000", Descricao = "Carro como novo, inspeção em dia", Contacto = "*****@*****.**", Validado = true, DonoFK = 1, CategoriaFK = categorias[0].IdCategoria
                },
                new Artigos {
                    Titulo = "Opel YY", Preco = "13,000", Descricao = "Carro como novo, inspeção em dia", Contacto = "*****@*****.**", Validado = true, DonoFK = 2, CategoriaFK = categorias[0].IdCategoria
                },
                new Artigos {
                    Titulo = "Ford", Preco = "8,000", Descricao = "Carro como novo, inspeção em dia", Contacto = "*****@*****.**", Validado = true, DonoFK = 1, CategoriaFK = categorias[0].IdCategoria
                },
                new Artigos {
                    Titulo = "Nissan x", Preco = "27,000", Descricao = "Carro como novo, inspeção em dia", Contacto = "*****@*****.**", Validado = true, DonoFK = 1, CategoriaFK = categorias[0].IdCategoria
                }
            };

            foreach (Artigos p in artigos)
            {
                context.Artigos.Add(p);
            }
            context.SaveChanges();


            var recursos = new Recursos[]
            {
                new Recursos {
                    Designacao = "Audi A4", Tipo = "imagem", ArtigoFK = artigos[0].IdArtigo
                },
                new Recursos {
                    Designacao = "BMW X5", Tipo = "imagem", ArtigoFK = artigos[1].IdArtigo
                },
                new Recursos {
                    Designacao = "Opel XXX", Tipo = "imagem", ArtigoFK = artigos[2].IdArtigo
                },
                new Recursos {
                    Designacao = "Opel YY", Tipo = "imagem", ArtigoFK = artigos[3].IdArtigo
                },
                new Recursos {
                    Designacao = "Ford", Tipo = "imagem", ArtigoFK = artigos[4].IdArtigo
                },
                new Recursos {
                    Designacao = "Nissan x", Tipo = "imagem", ArtigoFK = artigos[5].IdArtigo
                }
            };

            foreach (Recursos e in recursos)
            {
                context.Recursos.Add(e);
            }
            context.SaveChanges();
        }