public BorrowerContract CreateBorrower(BorrowerContract contract)
        {
            try
            {
                using (var context = new MovieShelfEntities(ConfigurationManager.ConnectionStrings["TestConnection"].ConnectionString))
                {
                    var provider = new BorrowerDal(context);
                    var process = new BorrowerProcess(provider);
                    var service = new BorrowerService(process);

                    var result = service.Create(new Borrower(contract));
                    return new Borrower().ConvertToContract(result, new BorrowerContract());
                }

            }
            catch (Exception exception)
            {
                return HandleExceptionResponse<Borrower, BorrowerContract>(exception);
            }
        }
        public DomainListContract<BorrowerContract> FetchAllBorrowers(bool includeDeletion)
        {
            try
            {
                using (var context = new MovieShelfEntities(ConfigurationManager.ConnectionStrings["TestConnection"].ConnectionString))
                {
                    var provider = new BorrowerDal(context);
                    var process = new BorrowerProcess(provider);
                    var service = new BorrowerService(process);

                    var result = service.GetAll(includeDeletion);
                    var returnResult = new Borrower().ConvertToContract<Borrower, IEnumerable<Borrower>, BorrowerContract>(result);
                    return returnResult;
                }

            }
            catch (Exception exception)
            {
                return HandleExceptionResponse<BorrowerContract>(exception);
            }
        }
        public DomainStatusContract RemoveBorrower(int id)
        {
            try
            {
                using (var context = new MovieShelfEntities(ConfigurationManager.ConnectionStrings["TestConnection"].ConnectionString))
                {
                    var provider = new BorrowerDal(context);
                    var process = new BorrowerProcess(provider);
                    var service = new BorrowerService(process);

                    var result = service.Remove(id);
                    return DomainStatus.ConvertToContract(result);
                }

            }
            catch (Exception exception)
            {
                return HandleExceptionResponse(exception);
            }
        }