Exemple #1
0
 public static T_Project ToModel(this  T_ProjectModel node)
 {
     return(new T_Project()
     {
         Id = node.Id,
         ProjectName = node.ProjectName,
         BeginDate = node.BeginDate,
         EndDate = node.EndDate,
         CompanyId = node.CompanyId,
         ClientId = node.ClientId,
         CreateDate = DateTime.Now,
         CreateUserId = node.CreateUserId,     //用户ID
         CreateUserName = node.CreateUserName, //用户名
         ProjectType = node.ProjectType,
         Property = node.Property,
         Remark = node.Remark,
         Towi = node.Towi,
         VisitDate = node.VisitDate,
         Blk = node.Blk,
         BuildingName = node.BuildingName,
         PostalCode = node.PostalCode,
         StreetName = node.StreetName,
         Unit = node.Unit,
     });
 }
Exemple #2
0
        public static T_ProjectModel DTO(this T_Project node)
        {
            if (node == null)
            {
                return(null);
            }
            var model = new T_ProjectModel()
            {
                Id             = node.Id,
                ProjectName    = node.ProjectName,
                BeginDate      = node.BeginDate,
                EndDate        = node.EndDate,
                CompanyId      = node.CompanyId,
                CreateDate     = node.CreateDate,
                CreateUserId   = node.CreateUserId,
                CreateUserName = node.CreateUserName,
                ProjectNo      = node.ProjectNo,
                ProjectType    = node.ProjectType,
                Property       = node.Property,
                Remark         = node.Remark,
                Status         = node.Status,
                Towi           = node.Towi,
                VisitDate      = node.VisitDate,
                Blk            = node.Blk,
                BuildingName   = node.BuildingName,
                PostalCode     = node.PostalCode,
                StreetName     = node.StreetName,
                Unit           = node.Unit,
                ClientId       = node.ClientId,
                ClientName     = node.Client != null ? node.Client.Name : null,
                Client         = node.Client.DTO(),
                CompanyName    = node.Company != null ? node.Company.Company : null,
                Company        = node.Company.DTO(),
                Leader         = node.ProjectUsers.Count() > 0 ? (node.ProjectUsers.FirstOrDefault(f => f.Role == "Manager") != null ? (node.ProjectUsers.FirstOrDefault(f => f.Role == "Manager").UserName) : null) : null,
                ProjectUsers   = node.ProjectUsers.Count() > 0 ? node.ProjectUsers.ToList().Select(s => s.DTO()).ToList() : null,
                ProjectPlans   = node.ProjectPlans.Count() > 0 ? node.ProjectPlans.ToList().Select(s => s.DTO()).ToList() : null,
            };

            return(model);
        }
Exemple #3
0
        /// <summary>
        /// 复杂查询
        /// </summary>
        /// <param name="model">查询对象</param>
        /// <param name="Orders">排序字典key:排序的字段,value:asc升序/desc降序</param>
        /// <param name="PageSize">每页行数,默认15</param>
        /// <param name="PageIndex">当前页码,默认100</param>
        /// <returns></returns>
        public DataGrid <T_ProjectModel> Search(T_ProjectModel model, Dictionary <string, string> Orders = null, int PageSize = 15, int PageIndex = 100)
        {
            Expression <Func <T_Project, bool> > where = null;                   //最终查询条件
            var lambdaList = new List <Expression <Func <T_Project, bool> > >(); //lambda查询条件集合
            int total      = 0;                                                  //总行数

            if (model.StatusList.Count() > 0)
            {
                lambdaList.Add(c => model.StatusList.Any(a => c.Status == a));
            }
            //将集合表达式树转换成Expression表达式树
            MyVisitor <T_Project, T_Project> visitor = new MyVisitor <T_Project, T_Project>();

            where = visitor.Modify(lambdaList);
            var list   = dal.Search(out total, where, Orders, PageSize, PageIndex).DTOList().ToList();
            var result = new DataGrid <T_ProjectModel>()
            {
                rows  = list,
                total = total
            };

            return(result);
        }
Exemple #4
0
 public int DeleteData(T_ProjectModel model)
 {
     return(this.Delete(model.Id));
 }
Exemple #5
0
 public int EditData(T_ProjectModel model)
 {
     return(this.Edit(model.ToModel()));
 }
Exemple #6
0
 public int AddData(T_ProjectModel model)
 {
     return(this.Add(model.ToModel()));
 }