示例#1
0
        public SystemModuleEmailVM QueryBatchEmailSettingByEdit(int System_Email_Delivery_UID)
        {
            var linq = from A in DataContext.System_Email_Delivery

                       join B in DataContext.System_Schedule
                       on A.System_Schedule_UID equals B.System_Schedule_UID

                       join C in DataContext.System_Function
                       on B.Function_UID equals C.Function_UID

                       join H in DataContext.System_Organization
                       on A.Plant_Organization_UID equals H.Organization_UID

                       join I in DataContext.System_Organization
                       on A.BG_Organization_UID equals I.Organization_UID into BJTemp
                       from BJ in BJTemp.DefaultIfEmpty()

                       join J in DataContext.System_Users
                       on A.Account_UID equals J.Account_UID into AJTemp
                       from AJ in AJTemp.DefaultIfEmpty()

                       where A.System_Email_Delivery_UID == System_Email_Delivery_UID

                       select new SystemModuleEmailVM
            {
                System_Email_Delivery_UID = A.System_Email_Delivery_UID,
                Plant_Organization_UID    = A.Plant_Organization_UID,
                BG_Organization_UID       = A.BG_Organization_UID,
                PlantName           = H.Organization_Name,
                OpType_Name         = BJ.Organization_Name,
                System_Schedule_UID = B.System_Schedule_UID,
                Function_UID        = B.Function_UID,
                Function_ID         = C.Function_ID,
                User_NTID           = AJ.User_NTID,
                Function_Name       = C.Function_Name,
                User_Name_CN        = A.User_Name_CN,
                User_Name_EN        = A.User_Name_EN,
                Email     = A.Email,
                Is_Enable = A.Is_Enable
            };


            var item = linq.First();

            return(item);
        }
示例#2
0
        public List <SystemModuleEmailVM> QueryBatchEmailSetting(SystemModuleEmailVM model, Page page, out int totalcount)
        {
            var linq = from A in DataContext.System_Email_Delivery

                       join B in DataContext.System_Schedule
                       on A.System_Schedule_UID equals B.System_Schedule_UID

                       join C in DataContext.System_Function
                       on B.Function_UID equals C.Function_UID

                       //join D in DataContext.System_Role_Function
                       //on C.Function_UID equals D.Function_UID into CDTemp
                       //from CD in CDTemp.DefaultIfEmpty()


                       join H in DataContext.System_Organization
                       on A.Plant_Organization_UID equals H.Organization_UID

                       join I in DataContext.System_Organization
                       on A.BG_Organization_UID equals I.Organization_UID into BJTemp
                       from BJ in BJTemp.DefaultIfEmpty()

                       join J in DataContext.System_Users
                       on A.Account_UID equals J.Account_UID into AJTemp
                       from AJ in AJTemp.DefaultIfEmpty()

                       select new SystemModuleEmailVM
            {
                System_Email_Delivery_UID = A.System_Email_Delivery_UID,
                System_Schedule_UID       = B.System_Schedule_UID,
                Plant_Organization_UID    = A.Plant_Organization_UID,
                BG_Organization_UID       = A.BG_Organization_UID,
                PlantName     = H.Organization_Name,
                OpType_Name   = BJ.Organization_Name,
                Module_ID     = B.System_Module.System_Function.Function_ID,
                Module_Name   = B.System_Module.System_Function.Function_Name,
                Function_UID  = B.Function_UID,
                Function_ID   = C.Function_ID,
                User_NTID     = AJ.User_NTID,
                Function_Name = C.Function_Name,
                User_Name_CN  = A.User_Name_CN,
                User_Name_EN  = A.User_Name_EN,
                Email         = A.Email,
                Is_Enable     = A.Is_Enable
            };

            if (model.Plant_Organization_UID != 0)
            {
                linq = linq.Where(m => m.Plant_Organization_UID.Equals(model.Plant_Organization_UID));
            }
            if (model.BG_Organization_UID != null && model.BG_Organization_UID != 0)
            {
                linq = linq.Where(m => m.BG_Organization_UID.Value.Equals(model.BG_Organization_UID.Value));
            }
            if (model.System_Schedule_UID != 0)
            {
                linq = linq.Where(m => m.System_Schedule_UID == model.System_Schedule_UID);
            }

            //IsAdmin判断
            if (!model.IsAdmin)
            {
                var roleFunctionUIDList = DataContext.System_Role_Function.Where(m => model.RoleUIDList.Contains(m.Role_UID)).Select(m => m.Function_UID).ToList();
                linq = linq.Where(m => roleFunctionUIDList.Contains(m.Function_UID));
            }

            if (model.System_Email_Delivery_UID != 0)
            {
                linq = linq.Where(m => m.System_Email_Delivery_UID == model.System_Email_Delivery_UID);
            }

            if (!string.IsNullOrEmpty(model.Email))
            {
                linq = linq.Where(m => m.Email.Contains(model.Email));
            }

            var list = linq.ToList();

            totalcount = list.Count();

            return(list.Skip(page.Skip).Take(page.PageSize).ToList());
        }