基於.net EF6 MVC5+WEB Api 的Web系統框架總結(2)-業務項目搭建

本節將介紹如何進行業務項目搭建。

本業務項目示例是簡單的企業信息管理功能,業務項目採用Code First方式,搭建包括:

  1. 創建實體項目
  2. 創建實體數據表映射
  3. 創建業務處理項目
  4. 創建業務Web項目

搭建完項目效果:

1、創建實體項目-ShiQuan.Company.Entity

創建企業信息實體

示例中企業信息包括:編號、名稱、負責人、聯繫人、聯繫電話、聯繫地址等

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ShiQuan.Company.Entity
{
    /// <summary>
    /// 企業信息
    /// </summary>
    public class CompanyInfoEntity:BasicCompanyEntity
    {
        /// <summary>
        /// 編號
        /// </summary>
        [Display(Name = "編號"), MaxLength(50)]
        public string Code { get; set; }
        /// <summary>
        /// 編號
        /// </summary>
        [Display(Name = "編號"), MaxLength(100)]
        public string Name { get; set; }
        /// <summary>
        /// 負責人
        /// </summary>
        [Display(Name = "負責人"), MaxLength(50)]
        public string Leader { get; set; }
        /// <summary>
        /// 聯繫人
        /// </summary>
        [Display(Name = "聯繫人"), MaxLength(50)]
        public string Linkman { get; set; }
        /// <summary>
        /// 聯繫電話
        /// </summary>
        [Display(Name = "聯繫電話"), MaxLength(50)]
        public string Phone { get; set; }
        /// <summary>
        /// 聯繫地址
        /// </summary>
        [Display(Name = "聯繫地址"), MaxLength(255)]
        public string Address { get; set; }
        /// <summary>
        /// 備註說明
        /// </summary>
        [Display(Name = "備註說明"), MaxLength(255)]
        public string Remark { get; set; }
    }
}

 

2、創建實體數據表映射項目-ShiQuan.Company.Mapping

創建空數據庫

創建項目

創建企業信息數據表映射

using ShiQuan.Company.Entity;
using System;
using System.Collections.Generic;
using System.Data.Entity.ModelConfiguration;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ShiQuan.Company.Mapping
{
    /// <summary>
    /// 實體數據映射
    /// </summary>
    public class CompanyInfoMap : EntityTypeConfiguration<CompanyInfoEntity>
    {
        public CompanyInfoMap()
        {
            #region 表、主鍵
            //
            this.ToTable("CompanyInfo");
            //主鍵
            this.HasKey(t => t.Id);
            #endregion

            #region 配置關係
            #endregion
        }
    }
}

創建實體數據庫上下文

選擇空Code First 模型

namespace ShiQuan.Company.Mapping
{
    using System;
    using System.Data.Entity;
    using System.Data.Entity.ModelConfiguration.Conventions;
    using System.Linq;

    public class CompanyDbContext : DbContext
    {
        //您的上下文已配置爲從您的應用程序的配置文件(App.config 或 Web.config)
        //使用“CompanyDbContext”連接字符串。默認情況下,此連接字符串針對您的 LocalDb 實例上的
        //“ShiQuan.Company.Mapping.CompanyDbContext”數據庫。
        // 
        //如果您想要針對其他數據庫和/或數據庫提供程序,請在應用程序配置文件中修改“CompanyDbContext”
        //連接字符串。
        public CompanyDbContext()
            : base("name=CompanyDbContext")
        {
        }

        //爲您要在模型中包含的每種實體類型都添加 DbSet。有關配置和使用 Code First  模型
        //的詳細信息,請參閱 http://go.microsoft.com/fwlink/?LinkId=390109// public virtual DbSet<MyEntity> MyEntities { get; set; }
        /// <summary>
        /// 重寫數據型號創建,添加企業信息數據表映射
        /// </summary>
        /// <param name="modelBuilder"></param>
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
            
            modelBuilder.Configurations.Add(new CompanyInfoMap());

            base.OnModelCreating(modelBuilder);
        }
    }
}

 

配置數據庫連接

  <connectionStrings>
    <add name="CompanyDbContext" connectionString="Server=127.0.0.1;Initial Catalog=VSD_CompanyDB;User ID=sa;Password=123456*a" providerName="System.Data.SqlClient" />
  </connectionStrings>

配置數據庫上下文允許進行更新升級

using System;
using System.Collections.Generic;
using System.Data.Entity.Migrations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ShiQuan.Company.Mapping.Migrations
{
    internal sealed class Configuration : DbMigrationsConfiguration<CompanyDbContext>
    {
        public Configuration()
        {
            //配置允許數據庫更新升級
            AutomaticMigrationsEnabled = true;
            AutomaticMigrationDataLossAllowed = true;
        }

        protected override void Seed(CompanyDbContext dbContext)
        {
            
        }
    }
}

 

使用update-database 對數據庫進行升級更新

 

3、創建企業信息管理業務處理項目-ShiQuan.Company.Business

創建企業信息庫業務處理基礎類,實現實體查詢、刪除和保存功能。

using Learun.DataBase.Repository;
using Learun.Util;
using ShiQuan.Company.Entity;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;

namespace ShiQuan.Company.Business
{
    /// <summary>
    /// 企業信息管理庫業務處理基礎類
    /// </summary>
    /// <typeparam name="T"></typeparam>
    public class BasicCompanyBLL<T> : RepositoryFactory<T> where T : class,new()
    {
        protected string dbConn = "";

        /// <summary>
        /// 構造函數
        /// </summary>
        public BasicCompanyBLL()
        {
            //this.dbConn = ConfigurationManager.ConnectionStrings["CompanyDbContext"].ConnectionString;
            this.dbConn = "CompanyDbContext";
        }
        #region 獲取數據
        /// <summary>
        /// 獲取列表
        /// </summary>
        /// <param name="pagination">分頁</param>
        /// <param name="queryJson">查詢參數</param>
        /// <returns>返回分頁列表</returns>
        public virtual IEnumerable<T> GetPageList(Pagination pagination, string queryJson)
        {
            var expression = LinqExtensions.True<T>();
            expression = QueryStringToExpression(expression, queryJson);
            return this.BaseRepository(dbConn).FindList(expression, pagination);
        }
        /// <summary>
        /// 獲取列表
        /// </summary>
        /// <param name="pagination">分頁</param>
        /// <param name="queryJson">查詢參數</param>
        /// <returns>返回分頁列表</returns>
        public virtual IEnumerable<T> GetPageList(Pagination pagination, Expression<Func<T, bool>> linq)
        {
            return this.BaseRepository(dbConn).FindList(linq, pagination);
        }
        /// <summary>
        /// 獲取列表
        /// </summary>
        /// <param name="queryJson">查詢參數</param>
        /// <returns>返回列表</returns>
        public virtual IEnumerable<T> GetList(string queryJson)
        {
            var expression = LinqExtensions.True<T>();
            expression = QueryStringToExpression(expression, queryJson);
            return this.BaseRepository(dbConn).IQueryable(expression);
        }
        /// <summary>
        /// 獲取列表
        /// </summary>
        /// <param name="queryJson">查詢參數</param>
        /// <returns>返回列表</returns>
        public virtual IQueryable<T> GetList(Expression<Func<T, bool>> linq)
        {
            return this.BaseRepository(dbConn).IQueryable(linq);
        }
        /// <summary>
        /// 獲取實體
        /// </summary>
        /// <param name="keyValue">主鍵值</param>
        /// <returns></returns>
        public virtual T GetEntity(string keyValue)
        {
            return this.BaseRepository(dbConn).FindEntity(keyValue);
        }

        /// <summary>
        /// 根據條件獲取實體
        /// </summary>
        /// <param name="linq">Linq條件</param>
        /// <returns></returns>
        public virtual T FindEntity(Expression<Func<T, bool>> linq)
        {
            return this.BaseRepository(dbConn).FindEntity(linq);
        }
        /// <summary>
        /// 獲取數據
        /// </summary>
        /// <param name="queryJson"></param>
        /// <returns></returns>
        public virtual DataTable GetTable(string queryJson)
        {
            string sql = GetSQL(queryJson);
            return this.BaseRepository(dbConn).FindTable(sql);
        }
        /// <summary>
        /// 獲取數據
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public virtual DataTable GetTableBySql(string sql)
        {
            //string sql = GetSQL(queryJson);
            return this.BaseRepository(dbConn).FindTable(sql);
        }
        /// <summary>
        /// 獲取分頁列表,返回Datatable
        /// </summary>
        /// <param name="queryJson">查詢參數</param>
        /// <returns>返回列表</returns>
        public virtual DataTable GetPageTable(Pagination pagination, string queryJson)
        {
            string sql = GetSQL(queryJson);
            return this.BaseRepository(dbConn).FindTable(sql, pagination);
        }
        /// <summary>
        /// 獲取分頁列表,返回Datatable
        /// </summary>
        /// <param name="sql">查詢參數</param>
        /// <returns>返回列表</returns>
        public virtual DataTable GetPageTableBySql(Pagination pagination, string sql)
        {
            //string sql = GetSQL(queryJson);
            return this.BaseRepository(dbConn).FindTable(sql, pagination);
        }
        #endregion

        #region 提交數據
        /// <summary>
        /// 刪除數據
        /// </summary>
        /// <param name="keyValue">主鍵</param>
        public virtual void RemoveForm(string keyValue)
        {
            string[] dels = keyValue.Split(',');
            if (dels.Length > 1)
            {
                IRepository db = new RepositoryFactory().BaseRepository(dbConn).BeginTrans();
                try
                {
                    foreach (var item in dels)
                    {
                        db.Delete(item);
                    }
                    db.Commit();
                }
                catch (Exception)
                {
                    db.Rollback();
                    throw;
                }
            }
            else
            {
                this.BaseRepository(dbConn).Delete(keyValue);
            }
        }
        /// <summary>
        /// 保存表單(新增、修改)
        /// </summary>
        /// <param name="keyValue">主鍵值</param>
        /// <param name="entity">實體對象</param>
        /// <returns></returns>
        public virtual void SaveForm(string keyValue, T entity)
        {
            if (!string.IsNullOrEmpty(keyValue))
            {
                this.BaseRepository(dbConn).Update(entity);
            }
            else
            {
                this.BaseRepository(dbConn).Insert(entity);
            }
        }
        #endregion

        #region 幫助函數
        /// <summary>
        /// 生成查詢表達式
        /// </summary>
        /// <param name="queryJson">查詢對象</param>
        /// <returns></returns>
        protected virtual Expression<Func<T, bool>> QueryStringToExpression(Expression<Func<T, bool>> expression, string queryJson)
        {
            if (string.IsNullOrEmpty(queryJson))
                return expression;
            var queryParam = queryJson.ToJObject();
            if (!queryParam["condition"].IsEmpty() && !queryParam["keyword"].IsEmpty())
            {
                string condition = queryParam["condition"].ToString();
                string keyword = queryParam["keyword"].ToString();
                switch (condition)
                {
                    default: break;
                }
            }
            return expression;
        }
        /// <summary>
        /// 根據實體生成SQL
        /// </summary>
        /// <param name="queryJson">查詢對象</param>
        /// <returns></returns>
        protected virtual string GetSQL(string queryJson)
        {
            StringBuilder sb = new StringBuilder();
            var queryParam = queryJson.ToJObject();
            if (!queryParam["condition"].IsEmpty() && !queryParam["keyword"].IsEmpty())
            {
                string condition = queryParam["condition"].ToString();
                string keyword = queryParam["keyword"].ToString();
                sb.Append(" AND " + condition + " like '%" + keyword + "%'");
            }
            return sb.ToString();
        }
        #endregion
    }
}

創建企業信息業務處理類,繼承基礎業務處理類,重寫保存、過濾條件方法。

using ShiQuan.Company.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Linq.Expressions;
using Learun.Util;
using Learun.Util.Operat;

namespace ShiQuan.Company.Business
{
    /// <summary>
    /// 實現企業信息管理業務處理,繼承企業信息庫基礎業務處理
    /// </summary>
    public class CompanyInfoBLL : BasicCompanyBLL<CompanyInfoEntity>
    {
        /// <summary>
        /// 數據保存
        /// </summary>
        /// <param name="keyValue"></param>
        /// <param name="entity"></param>
        public override void SaveForm(string keyValue, CompanyInfoEntity entity)
        {
            try
            {
                if (string.IsNullOrEmpty(keyValue))
                {
                    entity.Id = Guid.NewGuid().ToString();
                }
                else
                    entity.Id = keyValue;

                base.SaveForm(keyValue, entity);
            }
            catch (Exception ex)
            {

                throw;
            }
        }
        /// <summary>
        /// 重寫查詢過濾條件
        /// </summary>
        /// <param name="expression"></param>
        /// <param name="queryJson"></param>
        /// <returns></returns>
        protected override Expression<Func<CompanyInfoEntity, bool>> QueryStringToExpression(Expression<Func<CompanyInfoEntity, bool>> expression, string queryJson)
        {
            if (string.IsNullOrEmpty(queryJson))
                return expression;
            var queryParam = queryJson.ToJObject();
            if (queryParam["Code"].IsEmpty() == false)
            {
                string keyword = queryParam["Code"].ToString();
                expression = expression.And(my => my.Code == keyword);
            }
            if (!queryParam["condition"].IsEmpty() && !queryParam["keyword"].IsEmpty())
            {
                string condition = queryParam["condition"].ToString();
                string keyword = queryParam["keyword"].ToString();
                switch (condition)
                {
                    default: break;
                }
            }
            return expression;
        }
    }
}

 

4、創建企業信息管理Web項目-ShiQuan.Company.Web

創建空的企業信息管理控制器,實現列表、編輯視圖,數據查詢、刪除、保存方法。

using Learun.Application.Web;
using Learun.Util;
using ShiQuan.Company.Business;
using ShiQuan.Company.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace ShiQuan.Company.Web.Areas.CompanyManage.Controllers
{
    /// <summary>
    /// 企業信息管理
    /// </summary>
    public class CompanyInfoController : MvcControllerBase
    {
        // GET: CompanyManage/CompanyInfo
        CompanyInfoBLL service = new CompanyInfoBLL();
        /// <summary>
        /// 列表視圖
        /// </summary>
        /// <returns></returns>
        public ActionResult CompanyInfoIndex()
        {
            return View();
        }
        /// <summary>
        /// 編輯視圖
        /// </summary>
        /// <returns></returns>
        public ActionResult CompanyInfoForm()
        {
            return View();
        }

        #region 獲取數據
        /// <summary>
        /// 獲取列表
        /// </summary>
        /// <param name="pagination">分頁參數</param>
        /// <param name="queryJson">查詢參數</param>
        /// <returns>返回分頁列表Json</returns>
        [HttpGet]
        public ActionResult GetPageListJson(string pagination, string queryJson)
        {
            Pagination paginationobj = pagination.ToObject<Pagination>();
            var watch = CommonHelper.TimerStart();
            var data = service.GetPageList(paginationobj, queryJson);
            var jsonData = new
            {
                rows = data,
                total = paginationobj.total,
                page = paginationobj.page,
                records = paginationobj.records,
                costtime = CommonHelper.TimerEnd(watch)
            };
            //return ToJsonResult(jsonData);
            return Success(jsonData);
        }
        /// <summary>
        /// 獲取列表
        /// </summary>
        /// <param name="queryJson">查詢參數</param>
        /// <returns>返回列表Json</returns>
        [HttpGet]
        public ActionResult GetListJson(string queryJson)
        {
            var data = service.GetList(queryJson);
            return ToJsonResult(data);
        }
        /// <summary>
        /// 獲取實體 
        /// </summary>
        /// <param name="keyValue">主鍵值</param>
        /// <returns>返回對象Json</returns>
        [HttpGet]
        public ActionResult GetFormJson(string keyValue)
        {
            var data = service.GetEntity(keyValue);
            return ToJsonResult(data);
        }
        #endregion

        #region 提交數據
        /// <summary>
        /// 刪除數據
        /// </summary>
        /// <param name="keyValue">主鍵值</param>
        /// <returns></returns>
        [HttpPost]
        [ValidateAntiForgeryToken]
        [AjaxOnly]
        public ActionResult RemoveForm(string keyValue)
        {
            service.RemoveForm(keyValue);
            return Success("刪除成功。");
        }
        /// <summary>
        /// 保存表單(新增、修改)
        /// </summary>
        /// <param name="keyValue">主鍵值</param>
        /// <param name="entity">實體對象</param>
        /// <returns></returns>
        [HttpPost]
        [ValidateAntiForgeryToken]
        [AjaxOnly]
        public ActionResult SaveForm(string keyValue, CompanyInfoEntity entity)
        {
            service.SaveForm(keyValue, entity);
            return Success("操作成功。", entity);
        }
        #endregion
    }
}

創建列表界面

@{
    ViewBag.Title = "客戶管理";
    Layout = "~/Views/Shared/_Index.cshtml";
}
<div class="lr-layout">
    <div class="lr-layout-center">
        <div class="lr-layout-wrap lr-layout-wrap-notitle">
            <div class="lr-layout-tool">
                <div class="lr-layout-tool-left">
                    <div class="lr-layout-tool-item">
                        <input id="txt_Keyword" type="text" class="form-control" placeholder="請輸查詢關鍵字" />
                    </div>
                    <div class="lr-layout-tool-item">
                        <a id="btn_Search" class="btn btn-primary btn-sm"><i class="fa fa-search"></i>&nbsp;<span class="lrlg">查詢</span></a>
                    </div>
                </div>
                <div class="lr-layout-tool-right">
                    <div class="btn-group btn-group-sm">
                        <a id="btnReload" class="btn btn-default"><i class="fa fa-refresh"></i></a>
                    </div>
                    <div class="btn-group btn-group-sm" learun-authorize="yes">
                        <a id="btnAdd" class="btn btn-default"><i class="fa fa-plus"></i>&nbsp;<span class="lrlg">新增</span></a>
                        <a id="btnEdit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i>&nbsp;<span class="lrlg">編輯</span></a>
                        <a id="btnDelete" class="btn btn-default"><i class="fa fa-trash-o"></i>&nbsp;<span class="lrlg">刪除</span></a>
                    </div>
                </div>
            </div>
            <div class="lr-layout-body" id="gridtable"></div>
        </div>
    </div>
</div>
<script type="text/javascript">
    var refreshGirdData; // 更新數據
    var selectedRow;
    var bootstrap = function ($, learun) {
        "use strict";
        var page = {
            init: function () {
                page.initGrid();
                page.bind();
            },
            bind: function () {
                // 查詢
                $('#btn_Search').on('click', function () {
                    var keyword = $('#txt_Keyword').val();
                    page.search({ keyword: keyword });
                });
                // 刷新
                $('#btnReload').on('click', function () {
                    location.reload();
                });
                // 新增
                $('#btnAdd').on('click', function () {
                    selectedRow = null;//新增前請清空已選中行
                    learun.layerForm({
                        id: 'form',
                        title: '新增客戶',
                        url: top.$.rootUrl + '/CompanyManage/CompanyInfo/CompanyInfoForm',
                        width: 600,
                        height: 400,
                        maxmin: true,
                        callBack: function (id) {
                            return top[id].acceptClick(refreshGirdData);
                        }
                    });
                });
                // 編輯
                $('#btnEdit').on('click', function () {
                    selectedRow = $('#gridtable').jfGridGet('rowdata');
                    var keyValue = $('#gridtable').jfGridValue('Id');
                    if (learun.checkrow(keyValue)) {
                        learun.layerForm({
                            id: 'form',
                            title: '編輯客戶',
                            url: top.$.rootUrl + '/CompanyManage/CompanyInfo/CompanyInfoForm',
                            width: 600,
                            height: 400,
                            maxmin: true,
                            callBack: function (id) {
                                return top[id].acceptClick(refreshGirdData);
                            }
                        });
                    }
                });
                // 刪除
                $('#btnDelete').on('click', function () {
                    var keyValue = $('#gridtable').jfGridValue('Id');
                    if (learun.checkrow(keyValue)) {
                        learun.layerConfirm('是否確認刪除該項!', function (res) {
                            if (res) {
                                learun.deleteForm(top.$.rootUrl + '/CompanyManage/CompanyInfo/DeleteForm', { keyValue: keyValue }, function () {
                                    refreshGirdData();
                                });
                            }
                        });
                    }
                });
            },
            initGrid: function () {
                $('#gridtable').jfGrid({
                    url: top.$.rootUrl + '/CompanyManage/CompanyInfo/GetPageListJson',
                    headData: [
                        { label: '編號', name: 'Code', width: 100, align: 'left' },
                        { label: '名稱', name: 'Name', width: 200, align: 'left' },
                        { label: '負責人', name: 'Leader', width: 100, align: 'left' },
                        { label: '聯繫人', name: 'Linkman', width: 100, align: 'left' },
                        { label: '聯繫電話', name: 'Phone', width: 100, align: 'left' },
                        { label: '聯繫地址', name: 'Address', width: 200, align: 'left' },
                        {
                            label: "最後更新", name: "ModifyDate", width: 140, align: "left",
                            formatter: function (cellvalue) {
                                return learun.formatDate(cellvalue, 'yyyy-MM-dd hh:mm');
                            }
                        },
                        { label: '備註', name: 'Remark', width: 200, align: 'left' },
                    ],
                    mainId: 'Id',
                    reloadSelected: true,
                    isPage: true,
                    sidx: 'Code'
                });
                page.search();
            },
            search: function (param) {
                $('#gridtable').jfGridSet('reload', param);
            }
        };
        // 保存數據後回調刷新
        refreshGirdData = function () {
            page.search();
        }
        page.init();
    }
</script>

 

創建編輯界面

@{
    ViewBag.Title = "客戶添加";
    Layout = "~/Views/Shared/_Form.cshtml";
}
<div class="lr-form-wrap" id="form">
    <div class="col-xs-12 lr-form-item">
        <div class="lr-form-item-title">編號<font face="宋體">*</font></div>
        <input id="Code" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" />
    </div>
    <div class="col-xs-12 lr-form-item">
        <div class="lr-form-item-title">名稱<font face="宋體">*</font></div>
        <input id="Name" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" />
    </div>
    <div class="col-xs-12 lr-form-item">
        <div class="lr-form-item-title">負責人<font face="宋體">*</font></div>
        <input id="Leader" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" />
    </div>
    <div class="col-xs-12 lr-form-item">
        <div class="lr-form-item-title">聯繫人</div>
        <input id="Linkman" type="text" class="form-control" isvalid="no" checkexpession="NotNull" />
    </div>
    <div class="col-xs-12 lr-form-item">
        <div class="lr-form-item-title">聯繫電話</div>
        <input id="Phone" type="text" class="form-control" />
    </div>
    <div class="col-xs-12 lr-form-item">
        <div class="lr-form-item-title">聯繫地址</div>
        <input id="Address" type="text" class="form-control" />
    </div>
    <div class="col-xs-12 lr-form-item">
        <div class="lr-form-item-title">備註</div>
        <textarea id="Remark" class="form-control" style="height: 50px;"></textarea>
    </div>
</div>
<script type="text/javascript">
    var acceptClick;
    var keyValue = '';
    var bootstrap = function ($, learun) {
        "use strict";
        var selectedRow = learun.frameTab.currentIframe().selectedRow;
        var page = {
            init: function () {
                page.bind();
                page.initData();
            },
            bind: function () {
                // 客戶級別
                //$('#F_CustLevelId').lrDataItemSelect({ code: 'Client_Level', maxHeight: 230 });
                //// 客戶類別
                //$('#F_CustTypeId').lrDataItemSelect({ code: 'Client_Sort', maxHeight: 230 });
                //// 客戶程度
                //$('#F_CustDegreeId').lrDataItemSelect({ code: 'Client_Degree', maxHeight: 230 });
                ////跟進人員
                //$('#F_TraceUserId').lrformselect({
                //    layerUrl: top.$.rootUrl + '/LR_OrganizationModule/User/SelectForm',
                //    layerUrlW: 800,
                //    layerUrlH: 520,
                //    dataUrl: top.$.rootUrl + '/LR_OrganizationModule/User/GetListByUserIds'
                //});
                ////公司行業
                //$('#F_CustIndustryId').lrDataItemSelect({ code: 'Client_Trade', maxHeight: 230 });
            },
            initData: function () {
                if (!!selectedRow) {
                    keyValue = selectedRow.Id;
                    $('#form').lrSetFormData(selectedRow);
                }
            }
        };
        // 保存數據
        acceptClick = function (callBack) {
            if (!$('#form').lrValidform()) {
                return false;
            }
            var postData = $('#form').lrGetFormData(keyValue);
            $.lrSaveForm(top.$.rootUrl + '/CompanyManage/CompanyInfo/SaveForm?keyValue=' + keyValue
                , postData
                , function (res) {
                // 保存成功後纔回調
                if (!!callBack) {
                    callBack();
                }
            });
        };
        page.init();
    }
</script>

 

業務項目,至此搭建完成,接下來,使用Web項目進行引用,

配置業務項目數據表映射

  <!-- 實體類映射庫名稱 -->
  <add key="DataMapper" value="Learun.Application.Mapping.dll,ShiQuan.Company.Mapping.dll"/>

配置業務項目數據庫連接,添加配置功能菜單

運行系統效果

更多精彩,且聽下回分解!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章