Пример #1
0
        public async Task <Response <string> > InsertImageFileName(string userName, string image)
        {
            try
            {
                var database       = LibManagementConnection.GetConnection();
                var userCollection = database.GetCollection <UserDetails>(CollectionConstant.User_Collection);
                var builders       = Builders <UserDetails> .Filter.And(Builders <UserDetails> .Filter.Where(x => x.UserName == userName));

                var update = Builders <UserDetails> .Update.Set("image", image);

                var result = await userCollection.FindOneAndUpdateAsync(builders, update);

                if (result != null)
                {
                    return(new Response <string>()
                    {
                        StatusCode = HttpStatusCode.OK
                    });
                }
                else
                {
                    return(new Response <string>()
                    {
                        StatusCode = HttpStatusCode.BadRequest
                    });
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #2
0
        public async Task <bool> UnBlockBooks(BlockBooks blockedbookdetails)
        {
            try
            {
                var      database       = LibManagementConnection.GetConnection();
                var      userCollection = database.GetCollection <UserDetails>(CollectionConstant.User_Collection);
                ObjectId objectId       = ObjectId.Parse(blockedbookdetails.BookID);
                var      builders       = Builders <UserDetails> .Filter.And(Builders <UserDetails> .Filter.Eq(x => x.Id, objectId));

                var update = Builders <UserDetails> .Update.PullFilter("blockedBooks", Builders <BsonDocument> .Filter.Eq("isbnNumber", blockedbookdetails.ISBNNumber));

                var result = await userCollection.FindOneAndUpdateAsync(builders, update);

                if (result != null)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Пример #3
0
        public async Task <bool> DeleteUser(string userName)
        {
            bool deleteResult = false;

            //IClientSessionHandle session = null;
            try
            {
                var database = LibManagementConnection.GetConnection();
                // session = database.Client.StartSession();
                //session.StartTransaction();
                var todoTaskCollection = database.GetCollection <UserDetails>(CollectionConstant.User_Collection);
                var result             = await todoTaskCollection.FindOneAndDeleteAsync(Builders <UserDetails> .Filter.Eq("username", userName));

                if (result != null)
                {
                    var loginCollection = database.GetCollection <LoginDetails>(CollectionConstant.Login_Collection);
                    var deleteRes       = await loginCollection.FindOneAndDeleteAsync(Builders <LoginDetails> .Filter.Eq("username", userName));

                    if (deleteRes != null)
                    {
                        deleteResult = true;
                    }
                }
                //session.CommitTransaction();
                return(deleteResult);
            }
            catch (Exception ex)
            {
                //session?.AbortTransaction();
                throw ex;
            }
        }
Пример #4
0
        public async Task <bool> DeleteBookDetails(ISBNNumber isbnDetails)
        {
            //IClientSessionHandle session = null;
            try
            {
                var database = LibManagementConnection.GetConnection();
                // session = database.Client.StartSession();
                //session.StartTransaction();
                var      todoTaskCollection = database.GetCollection <BookDetails>(CollectionConstant.Book_Collection);
                ObjectId objectId           = ObjectId.Parse(isbnDetails.BookID);

                var builders = Builders <BookDetails> .Filter.And(Builders <BookDetails> .Filter.Eq(x => x.Id, objectId));

                var update = Builders <BookDetails> .Update.PullFilter("isbnNumber", Builders <BsonDocument> .Filter.Eq("trackNo", isbnDetails.TrackNo)).Inc("numberOfCopies", -1);

                var result = await todoTaskCollection.FindOneAndUpdateAsync(builders, update);

                //session.CommitTransaction();
                return(true);
            }
            catch (Exception ex)
            {
                //session?.AbortTransaction();
                throw ex;
            }
        }
Пример #5
0
        public bool ReturnBooks(IssueBooks issueBooks)
        {
            try
            {
                var database = LibManagementConnection.GetConnection();

                var      booksDetailsCollection = database.GetCollection <BookDetails>(CollectionConstant.Book_Collection);
                ObjectId objectId = ObjectId.Parse(issueBooks.BookID);
                var      data     = booksDetailsCollection.Find(x => x.Id == objectId).First();
                data.AvailableCopies = data.AvailableCopies + 1;
                var details = data.ISBNNumber.First(i => i.TrackNo == issueBooks.ISBNNumber);
                details.Occupied = false;
                var result = booksDetailsCollection.ReplaceOne(c => c.Id == data.Id, data);
                if (result.IsModifiedCountAvailable)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Пример #6
0
        ////public async Task<bool> UpdateISBNDetails(ISBNNumber isbnDetails)
        ////{
        ////    try
        ////    {
        ////        var database = LibManagementConnection.GetConnection();
        ////        var todoTaskCollection = database.GetCollection<BookDetails>(CollectionConstant.Book_Collection);
        ////        ObjectId objectId = ObjectId.Parse(isbnDetails.id);
        ////        var builders = Builders<BookDetails>.Filter.And(Builders<BookDetails>.Filter.Where(x => x.Id == objectId));
        ////        var update = Builders<BookDetails>.Update.Set("name", bookDetails?.Name).Set("author", bookDetails?.Author).Set("publishingYear", bookDetails?.PublishingYear).Set("image", bookDetails?.Image).Set("lastUpdated", System.DateTime.UtcNow);

        ////        var result = await todoTaskCollection.FindOneAndUpdateAsync(builders, update);
        ////        if (result != null)
        ////        {
        ////            return true;
        ////        }
        ////        else
        ////        {
        ////            return false;
        ////        }
        ////    }
        ////    catch (Exception ex)
        ////    {
        ////        throw ex;
        ////    }
        ////}

        public async Task <BookDetails> AddNewBook(BookDetails bookDetails, string image)
        {
            //IClientSessionHandle session = null;
            try
            {
                var database = LibManagementConnection.GetConnection();
                //session = database.Client.StartSession();
                //session.StartTransaction();
                var todoTaskCollection = database.GetCollection <BookDetails>(CollectionConstant.Book_Collection);

                bookDetails.Created = System.DateTime.Now;
                if (bookDetails.ISBNNumber.Any())
                {
                    bookDetails.ISBNNumber.FirstOrDefault().Created = System.DateTime.Now;
                }
                bookDetails.LastUpdated     = System.DateTime.Now;
                bookDetails.NumberOfCopies  = bookDetails.NumberOfCopies + 1;
                bookDetails.AvailableCopies = bookDetails.AvailableCopies + 1;
                bookDetails.Image           = image;
                await todoTaskCollection.InsertOneAsync(bookDetails);

                //session.CommitTransaction();
                return(bookDetails);
            }
            catch (Exception ex)
            {
                //session.AbortTransaction();
                throw ex;
            }
        }
Пример #7
0
        public async Task <bool> EditIsbnDetails(ISBNNumber iSBNNumber)
        {
            try
            {
                var database = LibManagementConnection.GetConnection();

                var      booksDetailsCollection = database.GetCollection <BookDetails>(CollectionConstant.Book_Collection);
                ObjectId objectId = ObjectId.Parse(iSBNNumber.BookID);
                var      data     = await booksDetailsCollection.FindAsync(x => x.Id == objectId);

                var matchedDetails = await data.ToListAsync();

                var item    = matchedDetails.FirstOrDefault(x => x.Id == objectId);
                var details = item.ISBNNumber.First(i => i.TrackNo == iSBNNumber.TrackNo);
                details.Author         = iSBNNumber.Author;
                details.Description    = iSBNNumber.Description;
                details.Edition        = iSBNNumber.Edition;
                details.PublishingYear = iSBNNumber.PublishingYear;
                var result = booksDetailsCollection.ReplaceOne(c => c.Id == item.Id, item);
                if (result.IsModifiedCountAvailable)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Пример #8
0
        public async Task <Response <string> > AddSubCategoryToExistingBook(ISBNNumber isbnDetails)
        {
            //IClientSessionHandle session = null;
            try
            {
                var database = LibManagementConnection.GetConnection();
                //session = database.Client.StartSession();
                //session.StartTransaction();
                var todoTaskCollection = database.GetCollection <BookDetails>(CollectionConstant.Book_Collection);

                ObjectId objectId = ObjectId.Parse(isbnDetails.BookID);
                var      builders = Builders <BookDetails> .Filter.And(Builders <BookDetails> .Filter.Where(x => x.Id == objectId));

                var bookDetails = await todoTaskCollection.Find(builders).ToListAsync();

                var IsISBNExists = bookDetails.All(x => x.ISBNNumber.All(y => y.TrackNo == isbnDetails.TrackNo));

                if (!IsISBNExists && isbnDetails.BookID != null)
                {
                    isbnDetails.Created = System.DateTime.Now;
                    var update = Builders <BookDetails> .Update.Push("isbnNumber", isbnDetails).Inc("numberOfCopies", 1).Inc("availableCopies", 1);

                    var result = await todoTaskCollection.FindOneAndUpdateAsync(builders, update);

                    //session.CommitTransaction();
                    if (result != null)
                    {
                        return(new Response <string>()
                        {
                            StatusCode = System.Net.HttpStatusCode.OK
                        });
                    }
                    else
                    {
                        return(new Response <string>()
                        {
                            StatusCode = System.Net.HttpStatusCode.NotFound
                        });
                    }
                }
                else
                {
                    return(new Response <string>()
                    {
                        StatusCode = System.Net.HttpStatusCode.BadRequest, Message = "ISBN Number Already Exists"
                    });
                }
            }
            catch (Exception ex)
            {
                //session?.AbortTransaction();
                throw ex;
            }
        }
Пример #9
0
 public List <IssueBooks> GetAllIssuedbooksToUser(string userId)
 {
     try
     {
         var database       = LibManagementConnection.GetConnection();
         var userCollection = database.GetCollection <UserDetails>(CollectionConstant.User_Collection);
         var user           = userCollection.Find(x => x.UserName == userId).First();
         var issuedbooks    = user.IssuedBooks.OrderBy(x => x.ReturnDate).ToList();
         return(issuedbooks);
     }
     catch (Exception e)
     {
         throw e;
     }
 }
Пример #10
0
 public UserDetails GetLoggedInUserDetails(string username)
 {
     try
     {
         List <UserDetails> userDetails = new List <UserDetails>();
         var database           = LibManagementConnection.GetConnection();
         var todoTaskCollection = database.GetCollection <UserDetails>(CollectionConstant.User_Collection);
         var user = todoTaskCollection.Find(x => x.UserName == username).FirstOrDefault();
         return(user);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Пример #11
0
        public async Task <ConfigDetails> GetConfigDetails()
        {
            try
            {
                ConfigDetails bookList           = new ConfigDetails();
                var           database           = LibManagementConnection.GetConnection();
                var           todoTaskCollection = database.GetCollection <ConfigDetails>(CollectionConstant.Config_Collection);
                var           docs = await todoTaskCollection.Find(FilterDefinition <ConfigDetails> .Empty).SingleAsync();

                return(docs ?? bookList);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #12
0
        public async Task <bool> UpdatePassword(LoginDetails userLoginDetails)
        {
            //IClientSessionHandle clientSession = null;
            try
            {
                var oldPassword = await passwordRepository.GetEncryptedPassword(userLoginDetails.OldPassword);

                var newPassword = await passwordRepository.GetEncryptedPassword(userLoginDetails.Password);

                var database = LibManagementConnection.GetConnection();
                //clientSession = await database.Client.StartSessionAsync();
                var loginCollection = database.GetCollection <LoginDetails>(CollectionConstant.Login_Collection);
                var logins          = await loginCollection.FindAsync(x => x.UserName == userLoginDetails.UserName && x.Password == oldPassword);

                var loginList = await logins.ToListAsync();

                if (loginList?.Count > 0)
                {
                    //clientSession.StartTransaction();
                    userLoginDetails.Password = newPassword;
                    var builders = Builders <LoginDetails> .Filter.And(Builders <LoginDetails> .Filter.Where(x => x.UserName == userLoginDetails.UserName && x.Password == oldPassword));

                    var update = Builders <LoginDetails> .Update.Set("password", userLoginDetails.Password);

                    var result = await loginCollection.FindOneAndUpdateAsync(builders, update);

                    //await clientSession.CommitTransactionAsync();
                    if (result != null)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception e)
            {
                //await clientSession.AbortTransactionAsync();
                throw e;
            }
        }
Пример #13
0
        public async Task <List <BookDetails> > GetAllAvailableBooks()
        {
            try
            {
                var database           = LibManagementConnection.GetConnection();
                var todoTaskCollection = database.GetCollection <BookDetails>(CollectionConstant.Book_Collection);
                var docs = await todoTaskCollection.FindAsync(x => x.NumberOfCopies > 0);

                var bookList = await docs.ToListAsync();

                return(bookList);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #14
0
        public async Task <List <UserDetails> > GetAllUsers()
        {
            try
            {
                List <UserDetails> userDetails = new List <UserDetails>();
                var database           = LibManagementConnection.GetConnection();
                var todoTaskCollection = database.GetCollection <UserDetails>(CollectionConstant.User_Collection);
                var docs = await todoTaskCollection.FindAsync(new BsonDocument());

                await docs.ForEachAsync(doc => userDetails.Add(doc));

                return(userDetails);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #15
0
        public async Task <Response <string> > RegisterUser(LoginDetails userLoginDetails, UserDetails userdetails)
        {
            //IClientSessionHandle session = null;
            try
            {
                var database        = LibManagementConnection.GetConnection();
                var userCollection  = database.GetCollection <UserDetails>(CollectionConstant.User_Collection);
                var loginCollection = database.GetCollection <LoginDetails>(CollectionConstant.Login_Collection);
                var logins          = await loginCollection.FindAsync(x => x.UserName.ToLower() == userdetails.UserName.ToLower());

                var loginsList = await logins.ToListAsync();

                string encryptedPassword = await passwordRepository.GetEncryptedPassword(userLoginDetails.Password);

                userLoginDetails.Password = encryptedPassword;
                if (loginsList?.Count == 0)
                {
                    //session = await database.Client.StartSessionAsync();
                    //session.StartTransaction();
                    await loginCollection.InsertOneAsync(userLoginDetails);

                    await userCollection.InsertOneAsync(userdetails);

                    //await session.CommitTransactionAsync();
                    return(new Response <string>()
                    {
                        StatusCode = System.Net.HttpStatusCode.OK
                    });
                }
                else
                {
                    return(new Response <string>()
                    {
                        StatusCode = System.Net.HttpStatusCode.BadRequest, Message = "User Already Exists"
                    });
                }
            }
            catch (Exception ex)
            {
                //await session.AbortTransactionAsync();
                throw ex;
            }
        }
Пример #16
0
        public async Task <bool> UpdateBookDetails(BookDetails bookDetails)
        {
            //IClientSessionHandle session = null;
            try
            {
                if (bookDetails.BookID != null)
                {
                    var database = LibManagementConnection.GetConnection();
                    //session = database.Client.StartSession();
                    //session.StartTransaction();
                    var      todoTaskCollection = database.GetCollection <BookDetails>(CollectionConstant.Book_Collection);
                    ObjectId objectId           = ObjectId.Parse(bookDetails.BookID);
                    var      builders           = Builders <BookDetails> .Filter.And(Builders <BookDetails> .Filter.Where(x => x.Id == objectId));

                    var update = Builders <BookDetails> .Update.Set("name", bookDetails?.Name).Set("image", bookDetails?.Image).Set("lastUpdated", System.DateTime.UtcNow);

                    //.Set("publishingYear", bookDetails?.PublishingYear)

                    //.Set("author", bookDetails?.Author)

                    var result = await todoTaskCollection.FindOneAndUpdateAsync(builders, update);

                    //session.CommitTransaction();
                    if (result != null)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                //session?.AbortTransaction();
                throw ex;
            }
        }
Пример #17
0
        public async Task <List <BookDetails> > GetAllBooks()
        {
            try
            {
                List <BookDetails> bookList = new List <BookDetails>();
                var database = LibManagementConnection.GetConnection();

                var todoTaskCollection = database.GetCollection <BookDetails>(CollectionConstant.Book_Collection);
                var docs = await todoTaskCollection.FindAsync(new BsonDocument());

                await docs.ForEachAsync(doc => bookList.Add(doc));

                return(bookList);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #18
0
        public async Task <bool> BlockBooks(BlockBooks blockedbookdetails)
        {
            try
            {
                var      database = LibManagementConnection.GetConnection();
                var      bookDetailsCollection = database.GetCollection <BookDetails>(CollectionConstant.Book_Collection);
                ObjectId objectId = ObjectId.Parse(blockedbookdetails.BookID);
                var      builders = Builders <BookDetails> .Filter.And(Builders <BookDetails> .Filter.Eq(x => x.Id, objectId), Builders <BookDetails> .Filter.ElemMatch(x => x.ISBNNumber, c => c.TrackNo == blockedbookdetails.ISBNNumber));

                var bookDetails = await bookDetailsCollection.Find(builders).ToListAsync();

                var configDetails = await configRepository.GetConfigDetails();

                var data = bookDetailsCollection.Find(x => x.Id == objectId).First();
                int blockedBooksCount = data.BlockBooks?.Count() ?? 0;
                if (blockedBooksCount <= configDetails.BookBlockLimit)
                {
                    var IsISBNExists = bookDetails?.All(x => x.BlockBooks?.Any(y => y.ISBNNumber == blockedbookdetails.ISBNNumber) ?? false);
                    if (!IsISBNExists ?? false && blockedbookdetails.BookID != null)
                    {
                        blockedbookdetails.Created = DateTime.Now;
                        var update = Builders <BookDetails> .Update.Push("blockedBooks", blockedbookdetails).Inc("availableCopies", -1).Inc("blockedCopies", 1).Set("isbnNumber.$.occupied", true);

                        var result = await bookDetailsCollection.FindOneAndUpdateAsync(builders, update);

                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Пример #19
0
        public async Task <bool> UpdateUserDetails(UserDetails userDetails)
        {
            try
            {
                if (userDetails != null)
                {
                    var database = LibManagementConnection.GetConnection();
                    //session = database.Client.StartSession();
                    //session.StartTransaction();
                    var todoTaskCollection = database.GetCollection <UserDetails>(CollectionConstant.User_Collection);
                    var builders           = Builders <UserDetails> .Filter.And(Builders <UserDetails> .Filter.Where(x => x.UserName.ToLower() == userDetails.UserName.ToLower()));

                    var update = Builders <UserDetails> .Update.Set("firstName", userDetails.FirstName).Set("middleName", userDetails.MiddleName)
                                 .Set("lastName", userDetails.LastName).Set("image", userDetails.Image).Set("lastUpdated", System.DateTime.UtcNow)
                                 .Set("dob", userDetails.DateofBirth).Set("phoneNumber", userDetails.PhoneNumber);

                    var result = await todoTaskCollection.FindOneAndUpdateAsync(builders, update);

                    //session.CommitTransaction();
                    if (result != null)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                //session?.AbortTransaction();
                throw ex;
            }
        }
Пример #20
0
        public async Task <bool> IssueBooks(IssueBooks issueBooks)
        {
            try
            {
                var      database = LibManagementConnection.GetConnection();
                var      bookDetailsCollection = database.GetCollection <BookDetails>(CollectionConstant.Book_Collection);
                ObjectId objectId = ObjectId.Parse(issueBooks.BookID);
                var      data     = await bookDetailsCollection.FindAsync(x => x.Id == objectId);

                var bookdata = await data.ToListAsync();

                var bookDetails        = bookdata.FirstOrDefault();
                var blockedbookDetails = bookDetails.BlockBooks.Where(x => x.ISBNNumber == issueBooks.ISBNNumber).ToList();
                if (blockedbookDetails.Count > 0)
                {
                    bookDetails.BlockedCopies = bookDetails.BlockedCopies - 1;
                    bookDetails.ISBNNumber.First(i => i.TrackNo == issueBooks.ISBNNumber).Occupied = true;
                    bookDetails.BlockBooks = new List <BlockBooks>();
                    var result = bookDetailsCollection.ReplaceOne(c => c.Id == bookDetails.Id, bookDetails);
                    //var builders = Builders<BookDetails>.Filter.And(Builders<BookDetails>.Filter.Eq(x => x.Id, objectId));
                    //var update = Builders<BookDetails>.Update.PullFilter("blockedBooks", Builders<BsonDocument>.Filter.Eq("isbnNumber", issueBooks.ISBNNumber)).Inc("blockedCopies", -1).;
                    //var response  = await bookDetailsCollection.FindOneAndUpdateAsync(builders, update);
                    return(true);
                }
                else
                {
                    var details = bookDetails.ISBNNumber.First(i => i.TrackNo == issueBooks.ISBNNumber);
                    bookDetails.AvailableCopies = bookDetails.AvailableCopies - 1;
                    details.Occupied            = true;
                    var result = bookDetailsCollection.ReplaceOne(c => c.Id == bookDetails.Id, bookDetails);
                    return(true);
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Пример #21
0
        public async Task <bool> IssueBooksToUser(IssueBooks isbnDetails)
        {
            try
            {
                var      database       = LibManagementConnection.GetConnection();
                var      userCollection = database.GetCollection <UserDetails>(CollectionConstant.User_Collection);
                ObjectId objectId       = ObjectId.Parse(isbnDetails.BookID);
                var      builders       = Builders <UserDetails> .Filter.And(Builders <UserDetails> .Filter.Eq(x => x.Id, objectId));

                var bookDetails = await userCollection.Find(builders).ToListAsync();

                var configDetails = await configRepository.GetConfigDetails();

                var data             = userCollection.Find(x => x.Id == objectId).First();
                int issuedBooksCount = data.IssuedBooks.Count();
                if (issuedBooksCount <= configDetails.BookIssueLimit)
                {
                    var IsISBNExists = bookDetails?.Any(x => x.IssuedBooks?.Any(y => y.ISBNNumber == isbnDetails.ISBNNumber) ?? false);
                    if (!IsISBNExists ?? false && isbnDetails.BookID != null)
                    {
                        isbnDetails.IssuedOn   = DateTime.Now;
                        isbnDetails.ReturnDate = isbnDetails.IssuedOn.AddDays(15);
                        var update = Builders <UserDetails> .Update.Push("issuedBooks", isbnDetails);

                        var result = await userCollection.FindOneAndUpdateAsync(builders, update);
                    }
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Пример #22
0
        public async Task <bool> CheckUserNameAvailability(string userName)
        {
            try
            {
                var database       = LibManagementConnection.GetConnection();
                var userCollection = database.GetCollection <UserDetails>(CollectionConstant.Login_Collection);
                var user           = await userCollection.FindAsync(x => x.UserName.ToUpper() == userName.ToUpper());

                var result = await user.ToListAsync();

                if (result?.Count > 0)
                {
                    return(false);
                }
                else
                {
                    return(true);
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Пример #23
0
        public async Task <bool> UpdateConfigDetails(ConfigDetails configDetails)
        {
            try
            {
                if (configDetails.Id != null)
                {
                    var      database           = LibManagementConnection.GetConnection();
                    var      todoTaskCollection = database.GetCollection <ConfigDetails>(CollectionConstant.Config_Collection);
                    ObjectId objectId           = ObjectId.Parse(configDetails.ConfigId);
                    var      builders           = Builders <ConfigDetails> .Filter.And(Builders <ConfigDetails> .Filter.Where(x => x.Id == objectId));

                    var update = Builders <ConfigDetails> .Update.Set("bookIssueLimit", configDetails.BookIssueLimit)
                                 .Set("bookBlockLimit", configDetails.BookBlockLimit)
                                 .Set("returnDays", configDetails.ReturnDays);

                    var result = await todoTaskCollection.FindOneAndUpdateAsync(builders, update);

                    if (result != null)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }