public async Task <Drop> GetDrop(string userId, string dropId) { if (string.IsNullOrWhiteSpace(userId) || string.IsNullOrWhiteSpace(dropId)) { return(null); } var context = new DropTopContext(); var drop = await context.Drop.Where(d => d.CreatedBy == Guid.Parse(userId) && d.Id == Guid.Parse(dropId) && d.Deleted == false).FirstOrDefaultAsync(); return(drop); }
public async Task <User> Get(string userId) { if (string.IsNullOrWhiteSpace(userId)) { return(null); } var context = new DropTopContext(); var user = await context.User.Where(u => u.Id == Guid.Parse(userId)).FirstOrDefaultAsync(); return(user); }
public async Task <List <Drop> > GetDrops(string userId) { if (string.IsNullOrWhiteSpace(userId)) { return(null); } var context = new DropTopContext(); var drops = await context.Drop.Where(d => d.CreatedBy == Guid.Parse(userId) && d.Deleted == false).OrderBy(d => d.CreatedOn).ToListAsync(); return(drops); }
public async Task <IActionResult> Delete(string dropId) { var context = new DropTopContext(); var drop = await context.Drop.FindAsync(Guid.Parse(dropId)); drop.Deleted = true; context.Drop.Update(drop); await context.SaveChangesAsync(); return(Ok()); }
public async Task <IActionResult> Put([FromBody] DropUploadModel dropUpdate) { var context = new DropTopContext(); var drop = await context.Drop.FindAsync(Guid.Parse(dropUpdate.Id)); drop.Name = dropUpdate.Name; drop.Data = dropUpdate.Data; context.Drop.Update(drop); await context.SaveChangesAsync(); return(Ok()); }
public async Task <IActionResult> Post(DropUploadModel drop) { var context = new DropTopContext(); var newDrop = new Drop() { Id = Guid.NewGuid(), Name = drop.Name, Data = drop.Data, CreatedOn = DateTime.Now, CreatedBy = Guid.Parse(drop.CreatedBy) }; await context.Drop.AddAsync(newDrop); await context.SaveChangesAsync(); return(Ok()); }
public async Task <AuthenticationResponse> AuthenticateAsync(AuthenticationRequest model) { var context = new DropTopContext(); MD5CryptoServiceProvider md5Hasher = new MD5CryptoServiceProvider(); Byte[] hashedPassword; UTF8Encoding encoder = new UTF8Encoding(); hashedPassword = md5Hasher.ComputeHash(encoder.GetBytes(model.Password)); var user = await context.User.Where(u => u.Email == model.Email && u.Password == hashedPassword).FirstOrDefaultAsync(); if (user == null) { return(null); } var token = GenerateJwtToken(user); return(new AuthenticationResponse(user, token)); }
public async Task <IActionResult> Post(UserUploadModel user) { var context = new DropTopContext(); var existingEmail = await context.User.Where(u => u.Email == user.Email).AnyAsync(); if (existingEmail) { return(BadRequest("A User with this email address already exists")); } MD5CryptoServiceProvider md5Hasher = new MD5CryptoServiceProvider(); Byte[] hashedPassword; UTF8Encoding encoder = new UTF8Encoding(); hashedPassword = md5Hasher.ComputeHash(encoder.GetBytes(user.Password)); var newUser = new User() { Id = Guid.NewGuid(), FirstName = user.FirstName, LastName = user.LastName, Email = user.Email, Password = hashedPassword, Verified = true, Temporary = false, CreatedOn = DateTime.Now }; await context.User.AddAsync(newUser); await context.SaveChangesAsync(); return(Ok()); }