• Nopcommerce 二次开发1 基础


    1  Doamin    酒店

    namespace Nop.Core.Domain.Hotels
    {
        /// <summary>
        /// 酒店
        /// </summary>
        public partial class Hotel : BaseEntity
        {
            /// <summary>
            /// 名称
            /// </summary>
            public string Name { get; set; }
            /// <summary>
            /// 联系电话
            /// </summary>
            public string Telephone { get; set; }
            /// <summary>
            /// 介绍
            /// </summary>
            public string Introduce { get; set; }
            /// <summary>
            /// 星级
            /// </summary>
            public int Level { get; set; }
            
            /// <summary>
            /// Gets or sets the shipping address identifier
            /// </summary>
            public int? AddressId { get; set; }
    
            /// <summary>
            /// Gets or sets the shipping address
            /// </summary>
            public virtual Address Address { get; set; }
        }
    }

    2  数据库 表

    /****** Object:  Table [dbo].[Hotel]    Script Date: 10/27/2016 09:11:41 ******/
    SET ANSI_NULLS ON
    GO
    
    SET QUOTED_IDENTIFIER ON
    GO
    
    CREATE TABLE [dbo].[Hotel](
        [Id] [int] IDENTITY(1,1) NOT NULL,
        [Name] [nvarchar](500) NULL,
        [Telephone] [nvarchar](500) NULL,
        [Introduce] [nvarchar](1000) NULL,
        [Level] [int] NULL,
        [AddressId] [int] NULL,
     CONSTRAINT [PK_Hotel] PRIMARY KEY CLUSTERED 
    (
        [Id] ASC
    )WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
    ) ON [PRIMARY]
    
    GO

    3 Map 

    using Nop.Core.Domain.Hotels;
    
    namespace Nop.Data.Mapping.Hotels
    {
        public partial class HotelMap : NopEntityTypeConfiguration<Hotel>
        {
            public HotelMap()
            {
                this.ToTable("Hotel");
                this.HasKey(f => f.Id);
                this.Property(f => f.Name).IsRequired().HasMaxLength(200);
                 
            }
        }
    }

    4 Services 层

    using System.Collections.Generic;
    using Nop.Core;
    using Nop.Core.Domain.Hotels;
    
    namespace Nop.Services.Hotels
    {
        public partial interface IHotelService
        {
            /// <summary>
            /// Deletes a news
            /// </summary>
            /// <param name="hotel">News item</param>
            void DeleteHotel(Hotel hotel);
    
           
            Hotel GetHotelById(int hotelId);
    
           
            IList<Hotel> GetHotelByIds(int[] hotelIds);
    
           
            IPagedList<Hotel> GetAllHotels( int pageIndex = 0, int pageSize = int.MaxValue, bool showHidden = false);
    
    
            void InsertHotel(Hotel hotel);
    
            void UpdateHotel(Hotel hotel);
    
        }
    }

    service

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using Nop.Core;
    using Nop.Core.Data;
    using Nop.Core.Domain.Hotels;
    using Nop.Services.Events;
    
    namespace Nop.Services.Hotels
    {
        public partial class HotelService : IHotelService
        {
            #region Fields
    
            private readonly IRepository<Hotel> _hotelRepository;
            private readonly IEventPublisher _eventPublisher;
    
            #endregion
    
            #region Ctor
            public HotelService(IRepository<Hotel> hotelRepository, IEventPublisher eventPublisher)
            {
                _hotelRepository = hotelRepository;
                _eventPublisher = eventPublisher;
            }
    
            #endregion
    
            public void DeleteHotel(Hotel hotel)
            {
                if (hotel == null)
                    throw new ArgumentNullException("hotel");
    
                _hotelRepository.Delete(hotel);
    
                //event notification
                _eventPublisher.EntityDeleted(hotel);
            }
    
            public Hotel GetHotelById(int hotelId)
            {
                if (hotelId == 0)
                    return null;
    
                return _hotelRepository.GetById(hotelId);
            }
    
            public IList<Hotel> GetHotelByIds(int[] hotelIds)
            {
                var query = _hotelRepository.Table;
                
                return query.Where(p=>hotelIds.Contains(p.Id)).ToList();
            }
    
            public IPagedList<Hotel> GetAllHotels(int pageIndex = 0, int pageSize = int.MaxValue, bool showHidden = false)
            {
                var query = _hotelRepository.Table;
                var hotels = new PagedList<Hotel>(query, pageIndex, pageSize);
                return hotels;
    
            }
    
            public void InsertHotel(Hotel hotel)
            {
                if (hotel == null)
                    throw new ArgumentNullException("hotel");
    
                _hotelRepository.Insert(hotel);
    
                //event notification
                _eventPublisher.EntityInserted(hotel);
            }
    
            public void UpdateHotel(Hotel hotel)
            {
                if (hotel == null)
                    throw new ArgumentNullException("hotel");
    
                _hotelRepository.Update(hotel);
    
                //event notification
                _eventPublisher.EntityUpdated(hotel);
            }
        }
    }
  • 相关阅读:
    Pandas索引和选择数据
    Pandas选项和自定义
    Pandas字符串和文本数据
    Pandas排序
    Pandas迭代
    Pandas重建索引
    Pandas函数应用
    Pandas描述性统计
    Pandas基本功能
    nyoj 234 吃土豆
  • 原文地址:https://www.cnblogs.com/imxh/p/6002675.html
Copyright © 2020-2023  润新知