public async Task <bool> CreateAsync(UserDetailMessage request)
        {
            var         copier = new ClassValueCopier();
            UsersDetail users  = copier.ConvertAndCopy <UsersDetail, UserDetailMessage>(request);
            bool        result = await _usersCollection.AddAsync(users);

            return(result);
        }
        public async Task <bool> CreateAsync(object request)
        {
            UserDetailMessage request_ = (UserDetailMessage)request;
            var            copier      = new ClassValueCopier();
            OfficerDetails newAdmin    = copier.ConvertAndCopy <OfficerDetails, UserDetailMessage>(request_);
            bool           result      = await _officerDetailsCollection.AddAsync(newAdmin);

            return(result);
        }
        public async Task <bool> CreateAsync(object request)
        {
            UserDetailMessage request_      = (UserDetailMessage)request;
            var             copier          = new ClassValueCopier();
            UserCredentials userCredentials = copier.ConvertAndCopy <UserCredentials, UserDetailMessage>(request_);
            bool            result          = await _userCredentialCollection.AddAsync(userCredentials);

            return(result);
        }
        public async Task <bool> UpdateDocumentAsync(object request)
        {
            UserDetailMessage request_ = (UserDetailMessage)request;
            OfficerDetails    oldUser  = await _officerDetailsCollection.GetAsync(request_.ReferenceCode);

            var            copier  = new ClassValueCopier();
            OfficerDetails newUser = copier.ConvertAndCopy(request_, oldUser);

            newUser.LastUpdatedAt = DateTime.Now.ToString();
            return(await _officerDetailsCollection.UpdateAsync(newUser));
        }
        public async Task <bool> UpdateDocumentAsync(object request)
        {
            // recive the request
            UserDetailMessage request_     = (UserDetailMessage)request;
            var         copier             = new ClassValueCopier();
            UsersDetail oldUserCredentials = await _usersCollection.GetAsync(request_.ReferenceCode);

            //update the credentials
            UsersDetail updatedUsers = copier.ConvertAndCopy(request_, oldUserCredentials);

            updatedUsers.LastUpdatedBy = request_.ReferenceCode;
            updatedUsers.LastUpdatedAt = DateTime.Now.ToString();
            //push to DB
            bool result = await _usersCollection.UpdateAsync(updatedUsers);

            return(result);
        }