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); }
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()); }