public ActionResult Editar(TimeLineItemModel item)
        {
            var user = (UsuarioModel)Session["oUser"];

            using (MigxContext ctx = new MigxContext())
            {
                for (int i = 0; i < Request.Files.Count; i++)
                {
                    if (Request.Files[i].ContentLength > 0)
                    {
                        var file     = Request.Files[i];
                        var fileName = Path.GetFileName(file.FileName);
                        var extensao = Path.GetExtension(file.FileName);

                        FotoModel fotoInfo = new FotoModel();
                        fotoInfo.Id          = Guid.NewGuid();
                        fotoInfo.NomeArquivo = fileName;
                        fotoInfo.Extensao    = extensao;

                        var novoNome = Path.Combine(Server.MapPath("~/Content/Images/"), user.ID.ToString(), fotoInfo.Id + fotoInfo.Extensao); //Cria um novo nome baseado no Id e extensão.
                        file.SaveAs(novoNome);

                        fotoInfo.TimeLineID       = item.Id;
                        ctx.Entry(fotoInfo).State = System.Data.Entity.EntityState.Added;
                    }
                }

                item.UsuarioID        = user.ID;
                ctx.Entry(item).State = System.Data.Entity.EntityState.Modified;
                ctx.SaveChanges();
            }

            return(RedirectToAction("MeusDados", "Usuario"));
        }
        public ActionResult Detalhes(int idTimeLine)
        {
            if (!ModelState.IsValid)
            {
                return(HttpNotFound());
            }

            TimeLineItemModel item = null;

            var user   = (UsuarioModel)Session["oUser"];
            var userId = user.ID;

            using (MigxContext ctx = new MigxContext())
            {
                var emp = ctx.Emprestimos.Where(em => em.UsuarioIDSolicitante == userId && em.ItemID == idTimeLine && em.Situacao != EmprestimoEstado.Finalizado).FirstOrDefault();

                if (emp != null)
                {
                    ViewData["JaSolicitado"] = true;
                }

                item = GetDetalhesItem(idTimeLine, ctx);
            }



            return(View(item));
        }
        public ActionResult Excluir(int idTimeLine)
        {
            if (!ModelState.IsValid)
            {
                return(HttpNotFound());
            }

            using (MigxContext ctx = new MigxContext())
            {
                TimeLineItemModel item = GetDetalhesItem(idTimeLine, ctx);

                foreach (var foto in item.Fotos)
                {
                    var path = Path.Combine(Server.MapPath("~/Content/Images/"), item.UsuarioID.ToString(), foto.Id + foto.Extensao);

                    if (System.IO.File.Exists(path))
                    {
                        System.IO.File.Delete(path);
                    }
                }

                ctx.Fotos.RemoveRange(item.Fotos);
                ctx.Itens.Remove(item);
                ctx.SaveChanges();
            }

            return(RedirectToAction("MeusDados", "Usuario"));
        }
        public ActionResult Editar(int idTimeline)
        {
            if (!ModelState.IsValid)
            {
                return(HttpNotFound());
            }


            TimeLineItemModel item = GetDetalhesItem(idTimeline);

            return(View(item));
        }
        public JsonResult Devolver(int idTimeLine)
        {
            var user = (UsuarioModel)Session["oUser"];

            using (MigxContext ctx = new MigxContext())
            {
                TimeLineItemModel devolvido = ctx.Itens.SingleOrDefault(it => it.Id == idTimeLine);
                devolvido.Emprestado = false;

                EmprestimoModel empFinalizado = ctx.Emprestimos.SingleOrDefault(em => em.ItemID == idTimeLine && em.Situacao == EmprestimoEstado.Emprestado);
                empFinalizado.Situacao = EmprestimoEstado.Finalizado;

                ctx.SaveChanges();
            }

            return(Json(true));
        }
        public ActionResult AdicionarItem(TimeLineItemModel item)
        {
            if (!ModelState.IsValid)
            {
                return(View(item));
            }

            var user   = (UsuarioModel)Session["oUser"];
            var userId = user.ID;

            Directory.CreateDirectory(Path.Combine(Server.MapPath("~/Content/Images/"), userId.ToString())); //Cria o diretório caso ele não exista.

            item.UsuarioID = userId;
            item.Fotos     = new List <FotoModel>();
            for (int i = 0; i < Request.Files.Count; i++)
            {
                if (Request.Files[i].ContentLength > 0)
                {
                    var file     = Request.Files[i];
                    var fileName = Path.GetFileName(file.FileName);
                    var extensao = Path.GetExtension(file.FileName);

                    FotoModel fotoInfo = new FotoModel();
                    fotoInfo.Id          = Guid.NewGuid();
                    fotoInfo.NomeArquivo = fileName;
                    fotoInfo.Extensao    = extensao;

                    var novoNome = Path.Combine(Server.MapPath("~/Content/Images/"), userId.ToString(), fotoInfo.Id + fotoInfo.Extensao); //Cria um novo nome baseado no Id e extensão.
                    file.SaveAs(novoNome);

                    item.Fotos.Add(fotoInfo);
                }
            }

            using (MigxContext ctx = new MigxContext())
            {
                ctx.Itens.Add(item);
                ctx.SaveChanges();
            }

            return(RedirectToAction("MeusDados", "Usuario"));
        }