public void ResetID(string entity, long id) { try { AttendanceDataContext dc = AttendanceDataContextFactory.Createattendance(_ConnStr); IntegerID ii = dc.GetTable <IntegerID>().SingleOrDefault(item => item.Entity == entity); if (ii == null) { ii = new IntegerID() { Entity = entity, Value = id }; dc.GetTable <IntegerID>().InsertOnSubmit(ii); dc.SubmitChanges(); } else { ii.Value = id; dc.SubmitChanges(); } } catch (Exception ex) { LJH.GeneralLibrary.ExceptionHandling.ExceptionPolicy.HandleException(ex); } }
protected override List <AttendanceResult> GetingItems(AttendanceDataContext attendance, SearchCondition search) { DataLoadOptions opts = new DataLoadOptions(); opts.LoadWith <AttendanceResult>(item => item.AbsentItems); attendance.LoadOptions = opts; IQueryable <AttendanceResult> ret = attendance.GetTable <AttendanceResult>(); if (search is StaffAttendanceResultSearchCondition) { StaffAttendanceResultSearchCondition con = search as StaffAttendanceResultSearchCondition; if (con.ShiftDate != null) { ret = ret.Where(item => item.ShiftDate >= con.ShiftDate.Begin && item.ShiftDate <= con.ShiftDate.End); } if (con.Staff != null && con.Staff.Count > 0) { ret = ret.Where(item => con.Staff.Contains(item.StaffID)); } if (con.ShiftID != null) { ret = ret.Where(item => item.ShiftID == con.ShiftID); } } return(ret.ToList()); }
protected override void UpdatingItem(Operator newVal, Operator original, AttendanceDataContext attendance) { attendance.GetTable <Operator>().Attach(newVal, original); List <T_OperatorDept> optDepts = attendance.GetTable <T_OperatorDept>().Where(item => item.OperatorID == newVal.ID).ToList(); if (!newVal.IsAdmin) { foreach (string item in newVal.Depts) { if (!optDepts.Exists(it => it.DepartmentID == item)) { attendance.GetTable <T_OperatorDept>().InsertOnSubmit(new T_OperatorDept() { OperatorID = newVal.ID, DepartmentID = item }); } } foreach (T_OperatorDept item in optDepts) { if (!newVal.Depts.Exists(it => it == item.DepartmentID)) { attendance.GetTable <T_OperatorDept>().DeleteOnSubmit(item); } } } }
protected override void DeletingItem(ShiftTemplate info, AttendanceDataContext attendance) { T_ShiftArrangeTemplate item = T_ShiftArrangeTemplate.Create(info); attendance.GetTable <T_ShiftArrangeTemplate>().Attach(item); attendance.GetTable <T_ShiftArrangeTemplate>().DeleteOnSubmit(item); }
public QueryResult <TInfo> GetByID(TID id) { QueryResult <TInfo> result = null; try { AttendanceDataContext attendance = AttendanceDataContextFactory.Createattendance(ConnectStr); TInfo info = GetingItemByID(id, attendance); if (info != null) { result = new QueryResult <TInfo>(ResultCode.Successful, successMsg, info); } else { result = new QueryResult <TInfo>(ResultCode.Fail, string.Empty, info); } } catch (SqlException ex) { result = new QueryResult <TInfo>(ResultCodeResolver.GetFromSqlExceptionNumber(ex.Number), ex.Message, null); ExceptionPolicy.HandleException(ex, this.GetType().Name + "." + "GetByID()"); } catch (Exception ex) { result = new QueryResult <TInfo>(ResultCode.Fail, ex.Message, null); ExceptionPolicy.HandleException(ex, this.GetType().Name + "." + "GetByID()"); } return(result); }
protected override List <ShiftArrange> GetingItems(AttendanceDataContext attendance, SearchCondition search) { IQueryable <ShiftArrange> ret = attendance.GetTable <ShiftArrange>(); if (search is ShiftArrangeSearchCondition) { ShiftArrangeSearchCondition con = search as ShiftArrangeSearchCondition; if (con.ShiftDate != null) { ret = ret.Where(item => item.ShiftDate >= con.ShiftDate.Begin && item.ShiftDate <= con.ShiftDate.End); } if (con.StaffID != null) { ret = ret.Where(item => item.StaffID == con.StaffID); } if (con.ShiftID != null) { ret = ret.Where(item => item.ShiftID == con.ShiftID); } } List <ShiftArrange> items = ret.ToList(); if (items != null && items.Count > 0) { List <Shift> shifts = (new ShiftProvider(ConnectStr)).GetItems(null).QueryObjects; foreach (ShiftArrange item in items) { item.Shift = shifts.SingleOrDefault(it => it.ID == item.ShiftID); } } return(items.Where(item => item.Shift != null).ToList()); }
protected override List <TASheet> GetingItems(AttendanceDataContext attendance, SearchCondition search) { DataLoadOptions opts = new DataLoadOptions(); opts.LoadWith <TASheet>(item => item.Items); attendance.LoadOptions = opts; IQueryable <TASheet> ret = attendance.GetTable <TASheet>(); if (search is TASheetSearchCondition) { TASheetSearchCondition con = search as TASheetSearchCondition; if (!string.IsNullOrEmpty(con.SheetID)) { ret = ret.Where(item => item.SheetID == con.SheetID); } if (con.StaffID != null) { ret = ret.Where(item => item.StaffID == con.StaffID); } if (!string.IsNullOrEmpty(con.SheetType)) { ret = ret.Where(item => item.SheetType == con.SheetType); } if (!string.IsNullOrEmpty(con.Department)) { ret = ret.Where(item => item.Department == con.Department); } if (con.StartDate != null) { ret = ret.Where(item => item.StartDate >= con.StartDate.Begin && item.StartDate <= con.StartDate.End); } } return(ret.ToList()); }
protected override void DeletingItem(Operator info, AttendanceDataContext attendance) { attendance.GetTable <Operator>().Attach(info); attendance.GetTable <Operator>().DeleteOnSubmit(info); List <T_OperatorDept> optDepts = attendance.GetTable <T_OperatorDept>().Where(item => item.OperatorID == info.ID).ToList(); attendance.GetTable <T_OperatorDept>().DeleteAllOnSubmit(optDepts); }
protected override Shift GetingItemByID(string id, AttendanceDataContext attendance) { DataLoadOptions opts = new DataLoadOptions(); opts.LoadWith <Shift>(item => item.Items); attendance.LoadOptions = opts; return(attendance.GetTable <Shift>().SingleOrDefault(item => item.ID == id)); }
protected override ShiftArrange GetingItemByID(ShiftArrangeID id, AttendanceDataContext attendance) { ShiftArrange sa = attendance.GetTable <ShiftArrange>().SingleOrDefault(item => item.StaffID == id.StaffID && item.ShiftDate == id.ShiftDate && item.ShiftID == id.ShiftID); if (sa != null) { sa.Shift = (new ShiftProvider(ConnectStr)).GetByID(sa.ShiftID).QueryObject; } return(sa); }
protected override AttendanceResult GetingItemByID(Guid id, AttendanceDataContext attendance) { DataLoadOptions opts = new DataLoadOptions(); opts.LoadWith <AttendanceResult>(item => item.AbsentItems); attendance.LoadOptions = opts; AttendanceResult sa = attendance.GetTable <AttendanceResult>().SingleOrDefault(item => item.ID == id); return(sa); }
protected override Staff GetingItemByID(int id, AttendanceDataContext attendance) { Staff staff = attendance.GetTable <Staff>().SingleOrDefault(item => item.ID == id); if (staff != null && !string.IsNullOrEmpty(staff.DepartmentID)) { staff.Department = (new DepartmentProvider(ConnectStr)).GetByID(staff.DepartmentID).QueryObject; } return(staff); }
protected override List <Shift> GetingItems(AttendanceDataContext attendance, SearchCondition search) { DataLoadOptions opts = new DataLoadOptions(); opts.LoadWith <Shift>(item => item.Items); attendance.LoadOptions = opts; IQueryable <Shift> ret = attendance.GetTable <Shift>(); return(ret.ToList()); }
protected override ShiftTemplate GetingItemByID(string id, AttendanceDataContext attendance) { T_ShiftArrangeTemplate tst = attendance.GetTable <T_ShiftArrangeTemplate>().SingleOrDefault(item => item.ID == id); if (tst != null) { return(T_ShiftArrangeTemplate.Create(tst)); } return(null); }
public long?GetCurID(string entity) { long?id = null; AttendanceDataContext dc = AttendanceDataContextFactory.Createattendance(_ConnStr); IntegerID ii = dc.GetTable <IntegerID>().SingleOrDefault(item => item.Entity == entity); if (ii != null) { id = ii.Value; } return(id); }
protected override void DeletingItem(Shift info, AttendanceDataContext attendance) { attendance.GetTable <Shift>().Attach(info); attendance.GetTable <Shift>().DeleteOnSubmit(info); if (info.Items != null && info.Items.Count > 0) { foreach (ShiftItem si in info.Items) { attendance.GetTable <ShiftItem>().Attach(si); attendance.GetTable <ShiftItem>().DeleteOnSubmit(si); } } }
protected override void DeletingItem(AttendanceResult info, AttendanceDataContext attendance) { attendance.GetTable <AttendanceResult>().Attach(info); attendance.GetTable <AttendanceResult>().DeleteOnSubmit(info); if (info.AbsentItems != null && info.AbsentItems.Count > 0) { foreach (AbsentItem item in info.AbsentItems) { attendance.GetTable <AbsentItem>().Attach(item); attendance.GetTable <AbsentItem>().DeleteOnSubmit(item); } } }
protected override Operator GetingItemByID(string id, AttendanceDataContext attendance) { Operator opt = attendance.GetTable <Operator>().SingleOrDefault(o => o.ID == id); if (opt != null) { opt.Role = attendance.GetTable <Role>().SingleOrDefault(item => item.ID == opt.RoleID); if (!opt.IsAdmin) { opt.Depts = attendance.GetTable <T_OperatorDept>().Where(item => item.OperatorID == id).Select(item => item.DepartmentID).ToList(); } } return(opt); }
protected override List <ShiftTemplate> GetingItems(AttendanceDataContext attendance, SearchCondition search) { IQueryable <T_ShiftArrangeTemplate> ret = attendance.GetTable <T_ShiftArrangeTemplate>(); List <T_ShiftArrangeTemplate> items = ret.ToList(); List <ShiftTemplate> templates = new List <ShiftTemplate>(); if (items != null && items.Count > 0) { foreach (T_ShiftArrangeTemplate item in items) { templates.Add(T_ShiftArrangeTemplate.Create(item)); } } return(templates); }
public void Delete(TInfo info, IUnitWork unitWork) { if (unitWork == null) { throw new NullReferenceException("参数unitWork为空!"); } UnitWork trans = unitWork as UnitWork; if (trans != null) { AttendanceDataContext attendance = trans.attendance; DeletingItem(info, attendance); } else { throw new InvalidCastException("参数unitWork不能转换成类型LJH.LinqDataProvider.UnitWork," + "请检查参数是否是一个LJH.LinqDataProvider.UnitWork实例!"); } }
public static AttendanceDataContext Createattendance(string connStr) { System.Diagnostics.Debug.Assert(!string.IsNullOrEmpty(connStr), "没有找到有效的数据库连接!"); IDbConnection connection = null; Stream stream = typeof(AttendanceDataContextFactory).Assembly.GetManifestResourceStream("LJH.Attendance.DAL.LinqDataProvider.DataMapping.xml"); XmlMappingSource mappingSource = XmlMappingSource.FromStream(stream); string sqlType = AppSettings.CurrentSetting.GetSQLType(); if (sqlType == "MSSQL") { connection = new SqlConnection(AppSettings.CurrentSetting.GetConnectString()); } else if (sqlType == "SQLITE") { connection = new SQLiteConnection(AppSettings.CurrentSetting.GetConnectString()); } System.Diagnostics.Debug.Assert(connection != null, "没有找到有效的数据库连接!"); AttendanceDataContext attendance = new AttendanceDataContext(connection, mappingSource); //attendance.Log = System.Console.Out; return attendance; }
protected override List <Staff> GetingItems(AttendanceDataContext attendance, SearchCondition search) { IQueryable <Staff> ret = attendance.GetTable <Staff>(); List <Staff> items = ret.ToList(); if (items != null) { List <Department> depts = (new DepartmentProvider(ConnectStr)).GetItems(null).QueryObjects; if (depts != null && depts.Count > 0) { foreach (Staff staff in items) { if (!string.IsNullOrEmpty(staff.DepartmentID)) { staff.Department = depts.SingleOrDefault(dept => staff.DepartmentID == dept.ID); } } } } return(items); }
protected override List <StaffBioTemplate> GetingItems(AttendanceDataContext attendance, SearchCondition search) { IQueryable <StaffBioTemplate> ret = attendance.GetTable <StaffBioTemplate>(); if (search is StaffBioTemplateSearchCondition) { StaffBioTemplateSearchCondition con = search as StaffBioTemplateSearchCondition; if (con.StaffID != null) { ret = ret.Where(item => item.StaffID == con.StaffID.Value); } if (!string.IsNullOrEmpty(con.Version)) { ret = ret.Where(item => item.Version == con.Version); } if (con.Staff != null && con.Staff.Count > 0) { ret = ret.Where(item => con.Staff.Contains(item.StaffID)); } } return(ret.ToList()); }
public static AttendanceDataContext Createattendance(string connStr) { System.Diagnostics.Debug.Assert(!string.IsNullOrEmpty(connStr), "没有找到有效的数据库连接!"); IDbConnection connection = null; Stream stream = typeof(AttendanceDataContextFactory).Assembly.GetManifestResourceStream("LJH.Attendance.DAL.LinqDataProvider.DataMapping.xml"); XmlMappingSource mappingSource = XmlMappingSource.FromStream(stream); string sqlType = AppSettings.CurrentSetting.GetSQLType(); if (sqlType == "MSSQL") { connection = new SqlConnection(AppSettings.CurrentSetting.GetConnectString()); } else if (sqlType == "SQLITE") { connection = new SQLiteConnection(AppSettings.CurrentSetting.GetConnectString()); } System.Diagnostics.Debug.Assert(connection != null, "没有找到有效的数据库连接!"); AttendanceDataContext attendance = new AttendanceDataContext(connection, mappingSource); //attendance.Log = System.Console.Out; return(attendance); }
public CommandResult Insert(TInfo info) { CommandResult result; try { AttendanceDataContext attendance = AttendanceDataContextFactory.Createattendance(ConnectStr); InsertingItem(info, attendance); attendance.SubmitChanges(); result = new CommandResult(ResultCode.Successful, successMsg); } catch (SqlException ex) { result = new CommandResult(ResultCodeResolver.GetFromSqlExceptionNumber(ex.Number), ex.Message); ExceptionPolicy.HandleException(ex, this.GetType().Name + "." + "Insert()"); } catch (Exception ex) { result = new CommandResult(ResultCode.Fail, ex.Message); ExceptionPolicy.HandleException(ex, this.GetType().Name + "." + "Insert()"); } return(result); }
public QueryResultList <TInfo> GetItems(SearchCondition search) { QueryResultList <TInfo> result; try { AttendanceDataContext attendance = AttendanceDataContextFactory.Createattendance(ConnectStr); List <TInfo> infoes; infoes = GetingItems(attendance, search); result = new QueryResultList <TInfo>(ResultCode.Successful, successMsg, infoes); } catch (SqlException ex) { result = new QueryResultList <TInfo>(ResultCodeResolver.GetFromSqlExceptionNumber(ex.Number), ex.Message, new List <TInfo>()); ExceptionPolicy.HandleException(ex, this.GetType().Name + "." + "GetItems()"); } catch (Exception ex) { result = new QueryResultList <TInfo>(ResultCode.Fail, ex.Message, new List <TInfo>()); ExceptionPolicy.HandleException(ex, this.GetType().Name + "." + "GetItems()"); } return(result); }
protected override void UpdatingItem(Shift newVal, Shift original, AttendanceDataContext attendance) { attendance.GetTable <Shift>().Attach(newVal, original); foreach (ShiftItem item in newVal.Items) { ShiftItem old = original.Items.SingleOrDefault(it => it.ID == item.ID); if (old != null) { attendance.GetTable <ShiftItem>().Attach(item, old); } else { attendance.GetTable <ShiftItem>().InsertOnSubmit(item); } } foreach (ShiftItem item in original.Items) { if (newVal.Items.SingleOrDefault(it => it.ID == item.ID) == null) { attendance.GetTable <ShiftItem>().Attach(item); attendance.GetTable <ShiftItem>().DeleteOnSubmit(item); } } }
public long?CreateID(string entity) { long?id = null; AttendanceDataContext dc = AttendanceDataContextFactory.Createattendance(_ConnStr); IntegerID ii = dc.GetTable <IntegerID>().SingleOrDefault(item => item.Entity == entity); if (ii == null) { ii = new IntegerID() { Entity = entity, Value = 2 }; dc.GetTable <IntegerID>().InsertOnSubmit(ii); dc.SubmitChanges(); id = 1; } else { id = ii.Value; ii.Value += 1; dc.SubmitChanges(); } return(id); }
protected override List <Operator> GetingItems(AttendanceDataContext attendance, SearchCondition search) { IQueryable <Operator> ret = attendance.GetTable <Operator>(); if (search == null) { } List <Operator> items = ret.ToList(); if (items != null && items.Count > 0) { List <Role> roles = attendance.GetTable <Role>().ToList(); List <T_OperatorDept> optDepts = attendance.GetTable <T_OperatorDept>().ToList(); foreach (Operator opt in items) { opt.Role = roles.SingleOrDefault(role => role.ID == opt.RoleID); if (!opt.IsAdmin) { opt.Depts = optDepts.Where(item => item.OperatorID == opt.ID).Select(item => item.DepartmentID).ToList(); } } } return(items); }
protected override List <AttendanceLog> GetingItems(AttendanceDataContext attendance, SearchCondition search) { IQueryable <AttendanceLog> ret = attendance.GetTable <AttendanceLog>(); if (search is AttendanceLogSearchCondition) { AttendanceLogSearchCondition con = search as AttendanceLogSearchCondition; if (con.ReadDateTime != null) { ret = ret.Where(item => item.ReadDateTime >= con.ReadDateTime.Begin && item.ReadDateTime <= con.ReadDateTime.End); } if (con.Staff != null && con.Staff.Count > 0) { ret = ret.Where(item => con.Staff.Contains(item.StaffID)); } if (con.Readers != null && con.Readers.Count > 0) { ret = ret.Where(item => con.Readers.Contains(item.ReaderID) || item.IsManual == true); //人工签卡记录可能没有读卡器ID } } List <AttendanceLog> items = ret.ToList(); return(items); }
protected override DeviceInfo GetingItemByID(string id, AttendanceDataContext attendance) { return(attendance.GetTable <DeviceInfo>().SingleOrDefault(item => item.ID == id)); }
public UnitWork(string connStr) { _attendance = AttendanceDataContextFactory.Createattendance(connStr); }