Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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());
        }
Пример #5
0
        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());
        }
Пример #6
0
        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());
        }
Пример #7
0
        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));
        }
Пример #8
0
        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());
        }