Get a list from database?

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
7 years ago
I'm trying to build a plugin. I can not figure out how to get a list from the database and show it in a kendo grid.The database is created but I can not figure out how to get the list from database.




public class TypeOfVehicleRecord : BaseEntity
    {        
        public TypeOfVehicleRecord()
        {
            Vehicles = new List<VehicleRecord>();
        }
        public virtual int TypeOfVehicleId { get; set; }
        [NopResourceDisplayName("Plugins.Other.Vehicle.TypeOfVehicleName")]
        public virtual string TypeOfVehicleName { get; set; }
        [NopResourceDisplayName("Plugins.Other.Vehicle.TypeOfVehicleAddedDate")]
        public virtual string TypeOfVehicleAddedDate { get; set; }
        [NopResourceDisplayName("Plugins.Other.Vehicle.TypeOfVehicleDescription")]
        public virtual string TypeOfVehicleDescription { get; set; }

        [NopResourceDisplayName("Plugins.Other.Vehicle.TypeOfVehicleVehiclesName")]
        public virtual List<VehicleRecord> Vehicles { get; set; }
    }

// Mapping class
public class TypeOfVehicleMap : EntityTypeConfiguration<TypeOfVehicleRecord>
    {
        public TypeOfVehicleMap()
        {
            ToTable("Vehicle_TypeOfVehicles");
            HasKey(m => m.TypeOfVehicleId);

            Property(m => m.TypeOfVehicleAddedDate);
            Property(m => m.TypeOfVehicleDescription);
            Property(m => m.TypeOfVehicleName);            
        }
    }

// DepandencyRegistrar
public void Register(ContainerBuilder builder, ITypeFinder typeFinder, NopConfig config)
        {
            this.RegisterPluginDataContext<VehicleObjectContext>(builder, CONTEXT_NAME);

            builder.RegisterType<EfRepository<TypeOfVehicleRecord>>()
                .As<IRepository<TypeOfVehicleRecord>>()
                .WithParameter(ResolvedParameter.ForNamed<IDbContext>(CONTEXT_NAME))
                .InstancePerLifetimeScope();
// Contextclass
protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Configurations.Add(new TypeOfVehicleMap());

// Controller
private IRepository<TypeOfVehicleRecord> _typeOfVehicleRepo;
        private ICacheManager _cacheService;


        public VehicleController(IRepository<TypeOfVehicleRecord> typeOfVehicleRepo,
            ICacheManager cacheManger)
        {
            _cacheService = cacheManger;
            _typeOfVehicleRepo = typeOfVehicleRepo;
        }

public ActionResult TypeOfVehiclesList()
        {
            var typeOfVehicle = _typeOfVehicleRepo.THENWHAT????
7 years ago
Mange211 wrote:
I'm trying to build a plugin. I can not figure out how to get a list from the database and show it in a kendo grid.The database is created but I can not figure out how to get the list from database.




public class TypeOfVehicleRecord : BaseEntity
    {        
        public TypeOfVehicleRecord()
        {
            Vehicles = new List<VehicleRecord>();
        }
        public virtual int TypeOfVehicleId { get; set; }
        [NopResourceDisplayName("Plugins.Other.Vehicle.TypeOfVehicleName")]
        public virtual string TypeOfVehicleName { get; set; }
        [NopResourceDisplayName("Plugins.Other.Vehicle.TypeOfVehicleAddedDate")]
        public virtual string TypeOfVehicleAddedDate { get; set; }
        [NopResourceDisplayName("Plugins.Other.Vehicle.TypeOfVehicleDescription")]
        public virtual string TypeOfVehicleDescription { get; set; }

        [NopResourceDisplayName("Plugins.Other.Vehicle.TypeOfVehicleVehiclesName")]
        public virtual List<VehicleRecord> Vehicles { get; set; }
    }

// Mapping class
public class TypeOfVehicleMap : EntityTypeConfiguration<TypeOfVehicleRecord>
    {
        public TypeOfVehicleMap()
        {
            ToTable("Vehicle_TypeOfVehicles");
            HasKey(m => m.TypeOfVehicleId);

            Property(m => m.TypeOfVehicleAddedDate);
            Property(m => m.TypeOfVehicleDescription);
            Property(m => m.TypeOfVehicleName);            
        }
    }

// DepandencyRegistrar
public void Register(ContainerBuilder builder, ITypeFinder typeFinder, NopConfig config)
        {
            this.RegisterPluginDataContext<VehicleObjectContext>(builder, CONTEXT_NAME);

            builder.RegisterType<EfRepository<TypeOfVehicleRecord>>()
                .As<IRepository<TypeOfVehicleRecord>>()
                .WithParameter(ResolvedParameter.ForNamed<IDbContext>(CONTEXT_NAME))
                .InstancePerLifetimeScope();
// Contextclass
protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Configurations.Add(new TypeOfVehicleMap());

// Controller
private IRepository<TypeOfVehicleRecord> _typeOfVehicleRepo;
        private ICacheManager _cacheService;


        public VehicleController(IRepository<TypeOfVehicleRecord> typeOfVehicleRepo,
            ICacheManager cacheManger)
        {
            _cacheService = cacheManger;
            _typeOfVehicleRepo = typeOfVehicleRepo;
        }

public ActionResult TypeOfVehiclesList()
        {
            var typeOfVehicle = _typeOfVehicleRepo.THENWHAT????


Go through "Nop.Plugin.Feed.Froogle" try to understand how it work. Hope it will help you.
7 years ago
Thanks for your answer. I have checked this plugin before and I have checked it again now. I still can not understand how to get a list. Why is there no "GetAll" or something in the repo?
7 years ago
Mange211 wrote:
Thanks for your answer. I have checked this plugin before and I have checked it again now. I still can not understand how to get a list. Why is there no "GetAll" or something in the repo?


For Accessing  data should use service


Go through => How retrive all vedors in paged list
VendorService.cs
namespace Nop.Services.Vendors

/// <summary>
        /// Gets all vendors
        /// </summary>
        /// <param name="name">Vendor name</param>
        /// <param name="pageIndex">Page index</param>
        /// <param name="pageSize">Page size</param>
        /// <param name="showHidden">A value indicating whether to show hidden records</param>
        /// <returns>Vendors</returns>
        public virtual IPagedList<Vendor> GetAllVendors(string name = "",
            int pageIndex = 0, int pageSize = int.MaxValue, bool showHidden = false)
        {
            var query = _vendorRepository.Table;
            if (!String.IsNullOrWhiteSpace(name))
                query = query.Where(v => v.Name.Contains(name));
            if (!showHidden)
                query = query.Where(v => v.Active);
            query = query.Where(v => !v.Deleted);
            query = query.OrderBy(v => v.DisplayOrder).ThenBy(v => v.Name);

            var vendors = new PagedList<Vendor>(query, pageIndex, pageSize);
            return vendors;
        }

7 years ago
Tanks alot now i think I understand
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.