Beispiel #1
0
        public IHttpActionResult Post(int idLivro)
        {
            if (RequestContext.Principal?.Identity == null)
            {
                return(StatusCode(HttpStatusCode.Unauthorized));
            }

            using (var db = new TccSettings())
            {
                if (db.tblReserva.Count(r => r.IDProduto == idLivro && DbFunctions.AddDays(r.DataReserva, 7) > DateTime.Now) > 1)
                {
                    return(Json(new {
                        Code = 400,
                        Message = "Reserva indisponível"
                    }));
                }

                db.tblReserva.Add(new tblReserva()
                {
                    IDLeitor    = (RequestContext.Principal.Identity as LeitorIdentity).IDLeitor,
                    DataReserva = DateTime.Now,
                    IDProduto   = idLivro
                });
                db.SaveChanges();
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
        public IHttpActionResult Put(int id, int[] favs)
        {
            using (var db = new TccSettings())
            {
                try
                {
                    var livros = (from l in db.tblProduto
                                  where favs.Contains(l.IDProduto)
                                  select l).ToList();

                    var amiguinho = (from l in db.tblLeitor
                                     where l.IDLeitor == id
                                     select l).First();

                    amiguinho.tblFavoritos = livros.Select(l => new tblFavoritos()
                    {
                        IDProduto = l.IDProduto
                    }).ToList();

                    db.SaveChanges();

                    return(Ok());
                }
                catch (Exception e)
                {
                    return(Json(new
                    {
                        Code = 404,
                        e.Message
                    }));
                }
            }
        }
 public IHttpActionResult Put(int id, tblLeitor leitor)
 {
     using (var db = new TccSettings())
         try
         {
             tblLeitor _leitor = db.tblLeitor.Include("tblEmprestimo").Include("tblFavoritos").First(l => l.IDLeitor == id);
             _leitor.Nome         = leitor.Nome ?? _leitor.Nome;
             _leitor.CPF          = leitor.CPF ?? _leitor.CPF;
             _leitor.RG           = leitor.RG ?? _leitor.RG;
             _leitor.DataNasc     = leitor.DataNasc ?? _leitor.DataNasc;
             _leitor.IDTipoLeitor = leitor.IDTipoLeitor ?? _leitor.IDTipoLeitor;
             _leitor.Email        = leitor.Email ?? _leitor.Email;
             _leitor.Telefone     = leitor.Telefone ?? _leitor.Telefone;
             _leitor.Endereco     = leitor.Endereco ?? _leitor.Endereco;
             _leitor.ImagemLeitor = leitor.ImagemLeitor ?? _leitor.ImagemLeitor;
             db.SaveChanges();
             return(Ok());
         }
         catch (Exception e)
         {
             return(Json(new
             {
                 Code = 404,
                 e.Message
             }));
         }
 }
        public IHttpActionResult Post(dynamic _leitor)
        {
            var leitor = (_leitor as Newtonsoft.Json.Linq.JObject).ToObject <tblLeitor>();

            using (var db = new TccSettings())
            {
                leitor.IDLeitor     = (db.tblLeitor.OrderByDescending(l => l.IDLeitor).FirstOrDefault()?.IDLeitor ?? 0) + 1;
                leitor.Senha        = "";
                leitor.Salt         = "";
                leitor.DataCadastro = DateTime.Now;
                var addedLeitor = db.tblLeitor.Add(leitor);
                db.SaveChanges();
                return(Json(addedLeitor));
            }
        }
        public static bool RegisterUser(tblLeitor user, string plaintextPassword)
        {
            Rfc2898DeriveBytes hash;
            var generatedSaltBytes = new byte[16];

            rng.GetBytes(generatedSaltBytes);

            hash = new Rfc2898DeriveBytes(plaintextPassword, generatedSaltBytes, ITERATIONS);

            var digestedHashedPassword = BitConverter.ToString(hash.GetBytes(16)).Replace("-", "").ToLower();

            hash.Dispose();

            using (var db = new TccSettings())
            {
                var leitor = db.tblLeitor.First(l => l.IDLeitor == user.IDLeitor);
                leitor.Salt  = BitConverter.ToString(generatedSaltBytes).Replace("-", "").ToLower();
                leitor.Senha = digestedHashedPassword;

                db.SaveChanges();
            }

            return(true);
        }