コード例 #1
0
        public async Task <GenericResponse <Note> > Get(Guid id)
        {
            var result = await _noteRepository.Get(x => x.Id == id);

            var responseBuilder = _responseBuilderFactory.GetResponseBuilder <Note>();

            if (result.Success)
            {
                try
                {
                    responseBuilder.WithEntity(Mapper.Map <Note>(result.Entity.SingleOrDefault()));
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                    throw;
                }
            }
            else
            {
                responseBuilder.WithEntity(null);
            }
            return(responseBuilder.WithMessage(result.Message)
                   .WithStatusCode(result.StatusCode)
                   .WithSuccess(result.Success)
                   .GetObject());
        }
コード例 #2
0
        public async Task <GenericResponse <Guid> > Add(User user)
        {
            var responseBuilder = _responseBuilderFactory.GetResponseBuilder <Guid>();

            try
            {
                var userChecker = await _mongoUserCollection.FindAsync(Builders <User> .Filter.Eq("Username", user.Username));

                userChecker.MoveNext();
                var available = !userChecker.Current.Any();
                if (available)
                {
                    user.UserId             = Guid.NewGuid();
                    user.DateOfModification = DateTime.UtcNow;
                    await _mongoUserCollection.InsertOneAsync(user);

                    return(responseBuilder.WithEntity(user.UserId).WithMessage("OK").WithStatusCode(StatusCodes.Success).WithSuccess(true)
                           .GetObject());
                }
                return(responseBuilder.WithEntity(new Guid()).WithMessage("Username is taken").WithStatusCode(StatusCodes.Taken).WithSuccess(false)
                       .GetObject());
            }
            catch (Exception e)
            {
                return(responseBuilder.WithEntity(new Guid()).WithMessage(e.ToString()).WithStatusCode(StatusCodes.Error).WithSuccess(false)
                       .GetObject());
            }
        }
コード例 #3
0
        public async Task <GenericResponse <Guid> > Add(User user)
        {
            var responseBuilder = _responseBuilderFactory.GetResponseBuilder <Guid>();

            lock (Lockobject)
            {
                if (UserDatabase.All(x => x.Username != user.Username))
                {
                    user.UserId             = Guid.NewGuid();
                    user.DateOfModification = DateTime.UtcNow;
                    UserDatabase.Add(user);

                    responseBuilder.WithEntity(user.UserId)
                    .WithMessage("OK")
                    .WithStatusCode(StatusCodes.Success);
                }
                else
                {
                    responseBuilder.WithEntity(new Guid())
                    .WithSuccess(false)
                    .WithStatusCode(StatusCodes.Taken)
                    .WithMessage("Username is taken");
                }
            }
            return(responseBuilder.GetObject());
        }
コード例 #4
0
        public async Task <GenericResponse <Guid> > Add(User user)
        {
            var responseBuilder = _responseBuilderFactory.GetResponseBuilder <Guid>();

            if (!(await _userRepository.Get(x => x.Username == user.Username)).Entity.Any())
            {
                return(await _userRepository.Add(AutoMapper.Mapper.Map <Dal.Model.User>(user)));
            }

            return(responseBuilder.WithEntity(new Guid()).WithMessage("Username is taken").WithStatusCode(StatusCodes.Taken).WithSuccess(false)
                   .GetObject());
        }
コード例 #5
0
        public async Task <GenericResponse <Guid> > Add(Note note)
        {
            var responseBuilder = _responseBuilderFactory.GetResponseBuilder <Guid>();

            note.Id = Guid.NewGuid();
            note.DateOfModification = DateTime.UtcNow;
            lock (Lockobject)
            {
                NoteDatabase.Add(note);
            }
            return(responseBuilder.WithEntity(note.Id)
                   .WithMessage("OK")
                   .WithStatusCode(StatusCodes.Success)
                   .GetObject());
        }
コード例 #6
0
        public async Task <GenericResponse <Guid> > Add(Note note)
        {
            var responseBuilder = _responseBuilderFactory.GetResponseBuilder <Guid>();

            try
            {
                note.Id = Guid.NewGuid();
                note.DateOfModification = DateTime.UtcNow;
                await _mongoNoteCollection.InsertOneAsync(note);

                return(responseBuilder.WithEntity(note.Id).WithMessage("OK").WithStatusCode(StatusCodes.Success)
                       .GetObject());
            }
            catch (Exception e)
            {
                return(responseBuilder.WithEntity(new Guid()).WithMessage(e.ToString()).WithStatusCode(StatusCodes.Error)
                       .GetObject());
            }
        }
コード例 #7
0
        public async Task <GenericResponse <Guid> > Add(TEntity entity)
        {
            var builder = _responseBuilderFactory.GetResponseBuilder <Guid>();

            try
            {
                entity.Id         = Guid.NewGuid();
                entity.CreateDate = _dateTimeWrapper.Now();

                await _mongoCollection.InsertOneAsync(entity);

                return(builder.WithEntity(entity.Id).WithStatusCode(StatusCodes.Success).WithMessage("OK").WithSuccess(true)
                       .GetObject());
            }
            catch (Exception e)
            {
                return(builder.WithEntity(new Guid()).WithStatusCode(StatusCodes.Error).WithMessage(e.ToString()).WithSuccess(false)
                       .GetObject());
            }
        }
コード例 #8
0
        public async Task <GenericResponse <List <Note> > > Get(string owner)
        {
            var result = await _noteService.GetUserNotes(owner);

            var responseBuilder = _responseBuilderFactory.GetResponseBuilder <List <Note> >();

            return(responseBuilder.WithEntity(Mapper.Map <List <Note> >(result.Entity))
                   .WithMessage(result.Message)
                   .WithStatusCode(result.StatusCode)
                   .WithSuccess(result.Success)
                   .GetObject());
        }
コード例 #9
0
        public async Task <GenericResponse <Guid> > Post([FromBody] UserCreateViewModel value)
        {
            var responseBuilder = _responseBuilderFactory.GetResponseBuilder <Guid>();

            if (ModelState.IsValid)
            {
                var response = await _userService.Add(AutoMapper.Mapper.Map <User>(value));

                return(response);
            }

            return(responseBuilder.WithEntity(new Guid())
                   .WithMessage("OK")
                   .WithStatusCode(StatusCodes.InvalidModel)
                   .WithSuccess(false)
                   .GetObject());
        }