Repositer design patten write in unitofwork within dataacess layer

#region Using Namespaces...

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Data.Entity.Validation;
using DataModel.GenericRepository;
using BusinessEntities;

#endregion

namespace DataModel.UnitOfWork
{
    /// <summary>
    /// Unit of Work class responsible for DB transactions
    /// </summary>
    public class UnitOfWork : IDisposable
    {
        #region Private member variables...

        private KenCommerceEntities _context = null;
        //private GenericRepository<User> _userRepository;
        //private GenericRepository<Product> _productRepository;
        //private GenericRepository<Token> _tokenRepository;
        #region Company Barnding
        private GenericRepository<Banner> _bannerRepository;
        private GenericRepository<Informal> _InformalRepository;
        private GenericRepository<TopMenu> _TopMenuRepository;
        #endregion
        private GenericRepository<ItemType> _ItemTypeRepository;
        private GenericRepository<CategoryAttributeDtls> _ItemTypeDtlsRepository;
        private GenericRepository<Catalog> _catalogRepository;
        private GenericRepository<Category> _categoryRepository;
        private GenericRepository<Items> _itemsRepository;
        private GenericRepository<Options> _optionsRepository;
        private GenericRepository<Control> _controlRepository;
        private GenericRepository<ItemDetail> _itemDetailRepository;
        private GenericRepository<BaseAttribute> _baseAttributeRepository;
        private GenericRepository<Relevent_Images> _Relevent_ImagesRepository;
        private GenericRepository<Scheme> _schemeRepository;
        private GenericRepository<SchemeTermsAndCondition> _schemeTermsAndConditionRepository;
        private GenericRepository<Event> _eventRepository;
        private GenericRepository<SchemeType> _schemetypeRepository;
        private GenericRepository<UserFeedback> _UserFeedbackRepository;
        private GenericRepository<Auction> _auctionRepository;
        private GenericRepository<Auction_Item_Details> _auctionItemRepository;
        private GenericRepository<Auction_Item_Bid_History> _auctionItemBidRepository;
        private GenericRepository<ContactUs> _ContactUsRepository;
        private GenericRepository<ReasonForMail> _ReasonForMailRepository;
        private GenericRepository<City> _cityRepository;
        private GenericRepository<Country> _countryRepository;
        private GenericRepository<State> _stateRepository;
        private GenericRepository<EventDetails> _EventDetailsRepository;
        private GenericRepository<Commission> _CommissionRepository;
        private GenericRepository<Tax> _TaxRepository;
        private GenericRepository<CatalogImage_Details> _catalogimgaeRepository;
        private GenericRepository<ContactInfo> _contactInfoRepository;
        private GenericRepository<AboutUs> _AboutUsRepository;
        private GenericRepository<TermsCondition> _TermsConditionRepository;
        private GenericRepository<CatalogType> _CatalogTypeRepository;
        private GenericRepository<EventType> _EventTypeRepository;
        private GenericRepository<VenueType> _VenueTypeRepository;
        private GenericRepository<DisplaySection> _DisplaySectionRepository;
        private GenericRepository<DisplaySectionTable> _DisplaySectionTableRepository;
        private GenericRepository<Fequency> _FequencyRepository;
        private GenericRepository<ItemAttributeDetails>_ItemAttributeDetailsRepository;
        private GenericRepository<Support> _SupportRepository;
        private GenericRepository<Invoice> _InvoiceRepository;
        private GenericRepository<Payment> _PaymentRepository;
        private GenericRepository<OrderPlaced> _OrderPlacedRepository;
        private GenericRepository<TermsConditionGroup> _TermsandconditiongroupRepository;
        private GenericRepository<ShipmentDetails> _ShipmentDetailsRepository;
        private GenericRepository<Testimonial> _TestimonialRepository;
        private GenericRepository<HelpSupport> _HelpSupportRepository;
        private GenericRepository<Rating> _ratingRepository;
        private GenericRepository<DeliveryAddress> _DeliveryAddressRepository;
        private GenericRepository<WebProfile> _WebProfileRepository;
        private GenericRepository<WebContent> _WebContentRepository;
        private GenericRepository<ContactUsEnquiry> _contactUsEnquiryRepository;
        #region User
        private GenericRepository<Master_Login_User> _userRepository;
        private GenericRepository<UserRole> _userRoleRepository;
        private GenericRepository<Role> _roleRepository;
        private GenericRepository<RolePrevileges> _rolePrevilegesRepository;
        private GenericRepository<Feature> _featureRepository;
        #endregion

        #region Cart & CartDetails
        private GenericRepository<Cart> _cartRepository;
        private GenericRepository<CartDetails> _cartDetailsRepository;
        private GenericRepository<WishList> _wishListRepository;
        #endregion

        #region Menu & Submenu & Feature
        private GenericRepository<Menu> _menuRepository;
        private GenericRepository<SubMenu> _subMenuRepository;
        private GenericRepository<Feature> _FeatureRepository;
        #endregion

        #region Address
        private GenericRepository<User_Personal_Information> _UserPersonalInformationRepository;
        private GenericRepository<User_Banking_Information> _UserBankingInformationRepository;
        private GenericRepository<User_Additional_Information> _UserAdditionalInformationRepository;
        private GenericRepository<User_Address> _UserAddressRepository;
        #endregion

        #region Top and Middle Section
        private GenericRepository<TopSection> _TopSectionRepository;
        private GenericRepository<MiddleSection> _MiddleSectionRepository;
        private GenericRepository<MiddleSectionAllow> _MiddleSectionAllowRepository;
        private GenericRepository<DisplayTopMenu> __DisplayTopMenu;
        #endregion

        #region FAQ
        private GenericRepository<FAQ> _FAQRepository;
        private GenericRepository<FaqGroup> _FaqGroupRepository;
        private GenericRepository<FaqStatus> _FaqStatusRepository;
        #endregion
     

        #endregion

        public UnitOfWork()
        {
            _context = new KenCommerceEntities();
        }
       
        #region Public Repository Creation properties...
        public GenericRepository<ContactUsEnquiry> ContactUsEnquiryRepository
        {
            get
            {
                if (this._contactUsEnquiryRepository == null)
                    this._contactUsEnquiryRepository = new GenericRepository<ContactUsEnquiry>(_context);
                return _contactUsEnquiryRepository;
            }
        }
        public GenericRepository<DeliveryAddress> DeliveryAddressRepository
        {
            get
            {
                if (this._DeliveryAddressRepository == null)
                    this._DeliveryAddressRepository = new GenericRepository<DeliveryAddress>(_context);
                return _DeliveryAddressRepository;
            }
        }
        public GenericRepository<Rating> RatingRepository
        {
            get
            {
                if (this._ratingRepository == null)
                    this._ratingRepository = new GenericRepository<Rating>(_context);
                return _ratingRepository;
            }
        }
        public GenericRepository<Testimonial> TestimonialRepository
        {
            get
            {
                if (this._TestimonialRepository == null)
                    this._TestimonialRepository = new GenericRepository<Testimonial>(_context);
                return _TestimonialRepository;
            }
        }
        public GenericRepository<HelpSupport> HelpSupportRepository
        {
            get
            {
                if (this._HelpSupportRepository == null)
                    this._HelpSupportRepository = new GenericRepository<HelpSupport>(_context);
                return _HelpSupportRepository;
            }
        }
        public GenericRepository<Payment> PaymentRepository
        {
            get
            {
                if (this._PaymentRepository == null)
                    this._PaymentRepository = new GenericRepository<Payment>(_context);
                return _PaymentRepository;
            }
        }
        public GenericRepository<Invoice> InvoiceRepository
        {
            get
            {
                if (this._InvoiceRepository == null)
                    this._InvoiceRepository = new GenericRepository<Invoice>(_context);
                return _InvoiceRepository;
            }
        }
            public GenericRepository<TopMenu> TopMenuRepository
        {
            get
            {
                if (this._TopMenuRepository == null)
                    this._TopMenuRepository = new GenericRepository<TopMenu>(_context);
                return _TopMenuRepository;
            }
        }
        public GenericRepository<DisplayTopMenu> DisplayTopMenuRepository
        {
            get
            {
                if (this.__DisplayTopMenu == null)
                    this.__DisplayTopMenu = new GenericRepository<DisplayTopMenu>(_context);
                return __DisplayTopMenu;
            }
        }

        public GenericRepository<TermsConditionGroup> TermsandConditionGroupRepository
        {
            get
            {
                if (this._TermsandconditiongroupRepository == null)
                    this._TermsandconditiongroupRepository = new GenericRepository<TermsConditionGroup>(_context);
                return _TermsandconditiongroupRepository;
            }
        }
        public GenericRepository<ItemType> ItemTypeRepository
        {
            get
            {
                if (this._ItemTypeRepository == null)
                    this._ItemTypeRepository = new GenericRepository<ItemType>(_context);
                return _ItemTypeRepository;
            }
        }
        public GenericRepository<CategoryAttributeDtls> ItemTypeDtlsRepository
        {
            get
            {
                if (this._ItemTypeDtlsRepository == null)
                    this._ItemTypeDtlsRepository = new GenericRepository<CategoryAttributeDtls>(_context);
                return _ItemTypeDtlsRepository;
            }
        }
        public GenericRepository<TermsCondition> TermsConditionRepository
        {
            get
            {
                if (this._TermsConditionRepository == null)
                    this._TermsConditionRepository = new GenericRepository<TermsCondition>(_context);
                return _TermsConditionRepository;
            }
        }

        public GenericRepository<Catalog> catelogDetailsRepository
        {
            get
            {
                if (this._catalogRepository == null)
                    this._catalogRepository = new GenericRepository<Catalog>(_context);
                return _catalogRepository;
            }
        }
        public GenericRepository<CatalogImage_Details> catelogImageRepository
        {
            get
            {
                if (this._catalogimgaeRepository == null)
                    this._catalogimgaeRepository = new GenericRepository<CatalogImage_Details>(_context);
                return _catalogimgaeRepository;
            }
        }
        public GenericRepository<EventDetails> EventDetailsRepository
        {
            get
            {
                if (this._EventDetailsRepository == null)
                    this._EventDetailsRepository = new GenericRepository<EventDetails>(_context);
                return _EventDetailsRepository;
            }
        }

        /// <summary>
        /// Get/Set Property for city repository.
        /// </summary>
        ///

        public GenericRepository<ContactInfo> ContactInfoRepository
        {
            get
            {
                if (this._contactInfoRepository == null)
                    this._contactInfoRepository = new GenericRepository<ContactInfo>(_context);
                return _contactInfoRepository;
            }
        }
        public GenericRepository<Cart> CartRepository
        {
            get
            {
                if (this._cartRepository == null)
                    this._cartRepository = new GenericRepository<Cart>(_context);
                return _cartRepository;
            }
        }
        public GenericRepository<CartDetails> CartDetailsRepository
        {
            get
            {
                if (this._cartDetailsRepository == null)
                    this._cartDetailsRepository = new GenericRepository<CartDetails>(_context);
                return _cartDetailsRepository;
            }
        }
        public GenericRepository<WishList> WishListRepository
        {
            get
            {
                if (this._wishListRepository == null)
                    this._wishListRepository = new GenericRepository<WishList>(_context);
                return _wishListRepository;
            }
        }


        public GenericRepository<UserFeedback> UserFeedbackRepository
        {
            get
            {
                if (this._UserFeedbackRepository == null)
                    this._UserFeedbackRepository = new GenericRepository<UserFeedback>(_context);
                return _UserFeedbackRepository;
            }
        }
        public GenericRepository<ContactUs> ContactUsRepository
        {
            get
            {
                if (this._ContactUsRepository == null)
                    this._ContactUsRepository = new GenericRepository<ContactUs>(_context);
                return _ContactUsRepository;
            }
        }
        public GenericRepository<ReasonForMail> ReasonForMailRepository
        {
            get
            {
                if (this._ReasonForMailRepository == null)
                    this._ReasonForMailRepository = new GenericRepository<ReasonForMail>(_context);
                return _ReasonForMailRepository;
            }
        }
        public GenericRepository<Auction> AuctionRepository
        {
            get
            {
                if (this._auctionRepository == null)
                    this._auctionRepository = new GenericRepository<Auction>(_context);
                return _auctionRepository;
            }
        }
        public GenericRepository<Auction_Item_Details> AuctionItemRepository
        {
            get
            {
                if (this._auctionItemRepository == null)
                    this._auctionItemRepository = new GenericRepository<Auction_Item_Details>(_context);
                return _auctionItemRepository;
            }
        }
        public GenericRepository<Auction_Item_Bid_History> AuctionItemBidRepository
        {
            get
            {
                if (this._auctionItemBidRepository == null)
                    this._auctionItemBidRepository = new GenericRepository<Auction_Item_Bid_History>(_context);
                return _auctionItemBidRepository;
            }
        }

        public GenericRepository<Commission> CommissionRepository
        {
            get
            {
                if (this._CommissionRepository == null)
                    this._CommissionRepository = new GenericRepository<Commission>(_context);
                return _CommissionRepository;
            }
        }

        public GenericRepository<Tax> TaxRepository
        {
            get
            {
                if (this._TaxRepository == null)
                    this._TaxRepository = new GenericRepository<Tax>(_context);
                return _TaxRepository;
            }
        }
        public GenericRepository<AboutUs> AboutUsRepository
        {
            get
            {
                if (this._AboutUsRepository == null)
                    this._AboutUsRepository = new GenericRepository<AboutUs>(_context);
                return _AboutUsRepository;
            }
        }
        public GenericRepository<WebProfile> WebProfileRepository
        {
            get
            {
                if (this._WebProfileRepository == null)
                    this._WebProfileRepository = new GenericRepository<WebProfile>(_context);
                return _WebProfileRepository;
            }
        }
        public GenericRepository<WebContent> WebContentRepository
        {
            get
            {
                if (this._WebContentRepository == null)
                    this._WebContentRepository = new GenericRepository<WebContent>(_context);
                return _WebContentRepository;
            }
        }
        public GenericRepository<CatalogType> CatalogTypeRepository
        {
            get
            {
                if (this._CatalogTypeRepository == null)
                    this._CatalogTypeRepository = new GenericRepository<CatalogType>(_context);
                return _CatalogTypeRepository;
            }
        }
        public GenericRepository<EventType> EventTypeRepository
        {
            get
            {
                if (this._EventTypeRepository == null)
                    this._EventTypeRepository = new GenericRepository<EventType>(_context);
                return _EventTypeRepository;
            }
        }
        public GenericRepository<VenueType> VenueTypeRepository
        {
            get
            {
                if (this._VenueTypeRepository == null)
                    this._VenueTypeRepository = new GenericRepository<VenueType>(_context);
                return _VenueTypeRepository;
            }
        }
        public GenericRepository<DisplaySection> DisplaySectionRepository
        {
            get
            {
                if (this._DisplaySectionRepository == null)
                    this._DisplaySectionRepository = new GenericRepository<DisplaySection>(_context);
                return _DisplaySectionRepository;
            }
        }
        public GenericRepository<DisplaySectionTable> DisplaySectionTableRepository
        {
            get
            {
                if (this._DisplaySectionTableRepository == null)
                    this._DisplaySectionTableRepository = new GenericRepository<DisplaySectionTable>(_context);
                return _DisplaySectionTableRepository;
            }
        }
        public GenericRepository<Fequency> FequencyRepository
        {
            get
            {
                if (this._FequencyRepository == null)
                    this._FequencyRepository = new GenericRepository<Fequency>(_context);
                return _FequencyRepository;
            }
        }
        //public GenericRepository<Support> SupportRepository
        //{
        //    get
        //    {
        //        if (this._SupportRepository == null)
        //            this._SupportRepository = new GenericRepository<Support>(_context);
        //        return _SupportRepository;
        //    }
        //}

        public GenericRepository<ShipmentDetails> ShipmentDetailsRepository
        {
            get
            {
                if (this._ShipmentDetailsRepository == null)
                    this._ShipmentDetailsRepository = new GenericRepository<ShipmentDetails>(_context);
                return _ShipmentDetailsRepository;
            }
        }
        #region Company Barnding
        public GenericRepository<Banner> BannerRepository
        {
            get
            {
                if (this._bannerRepository == null)
                    this._bannerRepository = new GenericRepository<Banner>(_context);
                return _bannerRepository;
            }
        }
        public GenericRepository<Informal> InformalRepository
        {
            get
            {
                if (this._InformalRepository == null)
                    this._InformalRepository = new GenericRepository<Informal>(_context);
                return _InformalRepository;
            }
        }
        #endregion
       
        #region User
        public GenericRepository<Master_Login_User> UserRepository
        {
            get
            {
                if (this._userRepository == null)
                    this._userRepository = new GenericRepository<Master_Login_User>(_context);
                return _userRepository;
            }
        }
        //private GenericRepository<UserRole> _userRoleRepository;
        public GenericRepository<UserRole> UserRoleRepository
        {
            get
            {
                if (this._userRoleRepository == null)
                    this._userRoleRepository = new GenericRepository<UserRole>(_context);
                return _userRoleRepository;
            }
        }
        public GenericRepository<Event> EventRepository
        {
            get
            {
                if (this._eventRepository == null)
                    this._eventRepository = new GenericRepository<Event>(_context);
                return _eventRepository;
            }
        }
        //private GenericRepository<Role> _roleRepository;
        public GenericRepository<Role> RoleRepository
        {
            get
            {
                if (this._roleRepository == null)
                    this._roleRepository = new GenericRepository<Role>(_context);
                return _roleRepository;
            }
        }
        //private GenericRepository<RolePrevileges> _rolePrevilegesRepository;
        public GenericRepository<RolePrevileges> RolePrevilegesRepository
        {
            get
            {
                if (this._rolePrevilegesRepository == null)
                    this._rolePrevilegesRepository = new GenericRepository<RolePrevileges>(_context);
                return _rolePrevilegesRepository;
            }
        }
        //private GenericRepository<Feature> _featureRepository;
        public GenericRepository<Feature> FeatureRepository
        {
            get
            {
                if (this._featureRepository == null)
                    this._featureRepository = new GenericRepository<Feature>(_context);
                return _featureRepository;
            }
        }

        #endregion

        #region Menu & SubMenu &Feature
        public GenericRepository<Menu> MenuRepository
        {
            get
            {
                if (this._menuRepository == null)
                    this._menuRepository = new GenericRepository<Menu>(_context);
                return _menuRepository;
            }
        }
        public GenericRepository<SubMenu> SubMenuRepository
        {
            get
            {
                if (this._subMenuRepository == null)
                    this._subMenuRepository = new GenericRepository<SubMenu>(_context);
                return _subMenuRepository;
            }
        }
       
        #endregion

        #region Address
        public GenericRepository<User_Personal_Information> UserPersonalInformationRepository
        {
            get
            {
                if (this._UserPersonalInformationRepository == null)
                    this._UserPersonalInformationRepository = new GenericRepository<User_Personal_Information>(_context);
                return _UserPersonalInformationRepository;
            }
        }
        public GenericRepository<User_Banking_Information> User_Banking_InformationRepository
        {
            get
            {
                if (this._UserBankingInformationRepository == null)
                    this._UserBankingInformationRepository = new GenericRepository<User_Banking_Information>(_context);
                return _UserBankingInformationRepository;
            }
        }
        public GenericRepository<User_Additional_Information> User_Additional_InformationRepository
        {
            get
            {
                if (this._UserAdditionalInformationRepository == null)
                    this._UserAdditionalInformationRepository = new GenericRepository<User_Additional_Information>(_context);
                return _UserAdditionalInformationRepository;
            }
        }
        public GenericRepository<User_Address> User_AddressRepository
        {
            get
            {
                if (this._UserAddressRepository == null)
                    this._UserAddressRepository = new GenericRepository<User_Address>(_context);
                return _UserAddressRepository;
            }
        }
        #endregion

        #region Faq
        public GenericRepository<FAQ> FAQRepository
        {
            get
            {
                if (this._FAQRepository == null)
                    this._FAQRepository = new GenericRepository<FAQ>(_context);
                return _FAQRepository;
            }
        }
        public GenericRepository<FaqGroup> FaqGroupRepository
        {
            get
            {
                if (this._FaqGroupRepository == null)
                    this._FaqGroupRepository = new GenericRepository<FaqGroup>(_context);
                return _FaqGroupRepository;
            }
        }
        public GenericRepository<FaqStatus> FaqStatusRepository
        {
            get
            {
                if (this._FaqStatusRepository == null)
                    this._FaqStatusRepository = new GenericRepository<FaqStatus>(_context);
                return _FaqStatusRepository;
            }
        }
        #endregion

        public GenericRepository<Category> CataegoryRepository
        {
            get
            {
                if (this._categoryRepository == null)
                    this._categoryRepository = new GenericRepository<Category>(_context);
                return _categoryRepository;
            }
        }
        public GenericRepository<Relevent_Images> Relevent_ImagesRepository
        {
            get
            {
                if (this._Relevent_ImagesRepository == null)
                    this._Relevent_ImagesRepository = new GenericRepository<Relevent_Images>(_context);
                return _Relevent_ImagesRepository;
            }
        }
        public GenericRepository<Items> ItemsRepository
        {
            get
            {
                if (this._itemsRepository == null)
                    this._itemsRepository = new GenericRepository<Items>(_context);
                return _itemsRepository;
            }
        }
        public GenericRepository<Options> OptionsRepository
        {
            get
            {
                if (this._optionsRepository == null)
                    this._optionsRepository = new GenericRepository<Options>(_context);
                return _optionsRepository;
            }
        }
        public GenericRepository<Control> ControlRepository
        {
            get
            {
                if (this._controlRepository == null)
                    this._controlRepository = new GenericRepository<Control>(_context);
                return _controlRepository;
            }
        }
        public GenericRepository<ItemDetail> ItemDetailRepository
        {
            get
            {
                if (this._itemDetailRepository == null)
                    this._itemDetailRepository = new GenericRepository<ItemDetail>(_context);
                return _itemDetailRepository;
            }
        }
        public GenericRepository<BaseAttribute> BaseAttributeRepository
        {
            get
            {
                if (this._baseAttributeRepository == null)
                    this._baseAttributeRepository = new GenericRepository<BaseAttribute>(_context);
                return _baseAttributeRepository;
            }
        }
        public GenericRepository<Scheme> SchemeRepository
        {
            get
            {
                if (this._schemeRepository == null)
                    this._schemeRepository = new GenericRepository<Scheme>(_context);
                return _schemeRepository;
            }
        }
        public GenericRepository<SchemeTermsAndCondition> SchemeTermsAndConditionRepository
        {
            get
            {
                if (this._schemeTermsAndConditionRepository == null)
                    this._schemeTermsAndConditionRepository = new GenericRepository<SchemeTermsAndCondition>(_context);
                return _schemeTermsAndConditionRepository;
            }
        }
        public GenericRepository<SchemeType> SchemeTypeRepository
        {
            get
            {
                if (this._schemetypeRepository == null)
                    this._schemetypeRepository = new GenericRepository<SchemeType>(_context);
                return _schemetypeRepository;
            }
        }
        public GenericRepository<TopSection> TopSectionRepository
        {
            get
            {
                if (this._TopSectionRepository == null)
                    this._TopSectionRepository = new GenericRepository<TopSection>(_context);
                return _TopSectionRepository;
            }
        }
        public GenericRepository<MiddleSection> MiddleSectionRepository
        {
            get
            {
                if (this._MiddleSectionRepository == null)
                    this._MiddleSectionRepository = new GenericRepository<MiddleSection>(_context);
                return _MiddleSectionRepository;
            }
        }
        public GenericRepository<MiddleSectionAllow> MiddleSectionAllowRepository
        {
            get
            {
                if (this._MiddleSectionAllowRepository == null)
                    this._MiddleSectionAllowRepository = new GenericRepository<MiddleSectionAllow>(_context);
                return _MiddleSectionAllowRepository;
            }
        }
        public GenericRepository<City> CityRepository
        {
            get
            {
                if (this._cityRepository == null)
                    this._cityRepository = new GenericRepository<City>(_context);
                return _cityRepository;
            }
        }
        public GenericRepository<Country> CountryRepository
        {
            get
            {
                if (this._countryRepository == null)
                    this._countryRepository = new GenericRepository<Country>(_context);
                return _countryRepository;
            }
        }
        public GenericRepository<State> StateRepository
        {
            get
            {
                if (this._stateRepository == null)
                    this._stateRepository = new GenericRepository<State>(_context);
                return _stateRepository;
            }
        }

        public GenericRepository<ItemAttributeDetails> ItemAttributeDetailsRepository
        {
            get
            {
                if (this._ItemAttributeDetailsRepository == null)
                    this._ItemAttributeDetailsRepository = new GenericRepository<ItemAttributeDetails>(_context);
                return _ItemAttributeDetailsRepository;
            }
        }

        public GenericRepository<Support> SupportRepository
        {
            get
            {
                if (this._SupportRepository == null)
                    this._SupportRepository = new GenericRepository<Support>(_context);
                return _SupportRepository;
            }
        }
        public GenericRepository<OrderPlaced> OrderPlacedRepository
        {
            get
            {
                if (this._OrderPlacedRepository == null)
                    this._OrderPlacedRepository = new GenericRepository<OrderPlaced>(_context);
                return _OrderPlacedRepository;
            }
        }


        /// <summary>
        /// Get/Set Property for token repository.
        /// </summary>
        //public GenericRepository<Token> TokenRepository
        //{
        //    get
        //    {
        //        if (this._tokenRepository == null)
        //            this._tokenRepository = new GenericRepository<Token>(_context);
        //        return _tokenRepository;
        //    }
        //}
        #endregion

        #region Public member methods...
        /// <summary>
        /// Save method.
        /// </summary>
        public void Save()
        {
            try
            {
                _context.SaveChanges();
            }
            catch (DbEntityValidationException e)
            {

                var outputLines = new List<string>();
                foreach (var eve in e.EntityValidationErrors)
                {
                    outputLines.Add(string.Format("{0}: Entity of type \"{1}\" in state \"{2}\" has the following validation errors:", DateTime.Now, eve.Entry.Entity.GetType().Name, eve.Entry.State));
                    foreach (var ve in eve.ValidationErrors)
                    {
                        outputLines.Add(string.Format("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage));
                    }
                }
                //System.IO.File.AppendAllLines(@"C:\errors.txt", outputLines);

                throw e;
            }

        }

        #endregion

        #region Implementing IDiosposable...

        #region private dispose variable declaration...
        private bool disposed = false;
        #endregion

        /// <summary>
        /// Protected Virtual Dispose method
        /// </summary>
        /// <param name="disposing"></param>
        protected virtual void Dispose(bool disposing)
        {
            if (!this.disposed)
            {
                if (disposing)
                {
                    Debug.WriteLine("UnitOfWork is being disposed");
                    _context.Dispose();
                }
            }
            this.disposed = true;
        }

        /// <summary>
        /// Dispose method
        /// </summary>
        public void Dispose()
        {
            Dispose(true);
            GC.SuppressFinalize(this);
        }
        #endregion
    }
}

Comments

Popular posts from this blog

Create Schema Using C# Asp .Net Dynamically.

FAQ BIND

resgination mail