如何在mvc中使用不同的图层进行自动完成工作

时间:2016-09-22 14:55:26

标签: c# jquery sql asp.net-mvc

我的观点是LeaveDetail

项目有不同的业务层。我专注于两层Controller和Repository Layer。
Controller具有逻辑,它为主数据库提供了更改数据的方向。通过制作存储过程实现每个逻辑。
我想为Employee Name创建自动完成功能通过从Employee表获取数据,但是通过存储过程。我创建了一个SP。显然它错了,但看看它

ALTER procedure [dbo].[EmployeeSuggestion]
@FirstName Varchar(50)
As
Begin
Select FirstName from Employee WHERE
  --    FirstName = @FirstName and
     (ISNULL(@FirstName,'')='' OR Employee.FirstName LIKE '%'+@FirstName+'%')
end
--exec EmployeeSuggestion 'shaili'

我的LeaveModel定义如下

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//using System.Threading.Tasks;
using System.ComponentModel.DataAnnotations;
using Synoverge.Component.ExcelHelper;

namespace Synoverge.InternalApps.Model.Master
{
    public class LeaveModel: BaseModel
    {
        //public LeaveModel()
        //{
        //    Suggestion = new List<LeaveModel>();
        //}
        //List<LeaveModel> Suggestion { get; set; }
        public String EmployeeName { get; set; }
        public string ReportingManagerName { get; set; }
        public int Id { get; set; }
        public int EmoplyeeId { get; set; }
        public int ReportingManagerId { get; set; }
        public DateTime LeaveFromDate { get; set; }
        public DateTime LeaveToDate { get; set; }
        public string Remark { get; set; }
    }
}

我的LeaveController

using System.Linq;
using System.Web.Mvc;
using Synoverge.InternalApps.Web.Common;
using Synoverge.InternalApps.Common;

namespace Synoverge.InternalApps.Web.Controllers
{
    public partial class MasterController : BaseController
    {
        //
        // GET: /Leave/

        public ActionResult LeaveDetail()
        {
            LeaveModel leaveModel = new LeaveModel();
            //leaveModel.EmployeeName = masterRepository.Suggestion();
            return View(leaveModel);
        }
    }
}

我的MasterRepository

using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Practices.EnterpriseLibrary.Data;
using System.Data.Common;
using System.Data;
using Synoverge.InternalApps.Model;
using Synoverge.InternalApps.Model.Master;
using Synoverge.InternalApps.Model.ExcelExport;


namespace Synoverge.InternalApps.Repository
{
    public class MasterRepository : BaseRepository
    {
        #region Leave

        //public List<LeaveModel> Suggestion()
        //{
        //    List<LeaveModel> SugInfo = new List<LeaveModel>();
        //    SugInfo = this.DB.ExecuteSprocAccessor<LeaveModel>("dbo.[EmployeeSuggestion]").ToList();
        //        return SugInfo;
        //}




        #endregion

我想你们会明白这个应用程序现在如何运作。每个主要的东西都在Master存储库中。现在我试图在它上面创建自动完成,但我也不成功,我也不知道如何做到这一点。我搜索网,他们都用控制器方法教我,没有存储过程。请帮帮我,我想要一个解决方案。应该如何存储过程以及控制器和MasterRepository中的代码。我也想知道创建不同业务层的逻辑。它是否会改变我们应用的逻辑。

0 个答案:

没有答案