private bool CreateAttendanceResult(Staff staff, DatetimeRange dr, List <string> readers) { ShiftArrangeSearchCondition con1 = new ShiftArrangeSearchCondition(); con1.StaffID = staff.ID; con1.ShiftDate = dr; List <ShiftArrange> sas = (new ShiftArrangeBLL(AppSettings.CurrentSetting.ConnectUri)).GetItems(con1).QueryObjects; TASheetSearchCondition con2 = new TASheetSearchCondition(); con2.StaffID = staff.ID; List <TASheet> sheets = (new TASheetBLL(AppSettings.CurrentSetting.ConnectUri)).GetItems(con2).QueryObjects; AttendanceLogSearchCondition con3 = new AttendanceLogSearchCondition(); con3.Staff = new List <int>(); con3.Staff.Add(staff.ID); con3.Readers = readers; con3.ReadDateTime = dr; con3.ContainManualLogs = true; List <AttendanceLog> records = (new AttendanceLogBLL(AppSettings.CurrentSetting.ConnectUri)).GetItems(con3).QueryObjects; List <AttendanceResult> results = (new AttendanceAnalyst()).Analist(staff, sas, records, sheets, dr); CommandResult ret = (new AttendanceResultBLL(AppSettings.CurrentSetting.ConnectUri)).Add(staff.ID, dr, results); return(ret.Result == ResultCode.Successful); }
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()); }
public CommandResult Delete(TASheetGroup info) { TASheetSearchCondition con = new TASheetSearchCondition(); con.SheetID = info.SheetID; ITASheetProvider provider = ProviderFactory.Create <ITASheetProvider>(_RepoUri); IUnitWork unitWork = ProviderFactory.Create <IUnitWork>(_RepoUri); List <TASheet> items = provider.GetItems(con).QueryObjects; foreach (TASheet item in items) { provider.Delete(item); } return(unitWork.Commit()); }
protected override List <object> GetDataSource() { TASheetSearchCondition con = new TASheetSearchCondition(); List <TASheet> items = (new TASheetBLL(AppSettings.CurrentSetting.ConnectUri)).GetItems(con).QueryObjects; List <TASheetGroup> groups = TASheetGroup.Group(items); if (groups != null) { return((from item in groups orderby item.StartDate descending select(object) item).ToList()); } else { return(null); } }
public CommandResult Save(TASheetGroup info) { string id = null; ITASheetProvider provider = ProviderFactory.Create <ITASheetProvider>(_RepoUri); IUnitWork unitWork = ProviderFactory.Create <IUnitWork>(_RepoUri); if (!string.IsNullOrEmpty(info.SheetID)) { TASheetSearchCondition con = new TASheetSearchCondition(); con.SheetID = info.SheetID; List <TASheet> items = provider.GetItems(con).QueryObjects; foreach (TASheet item in items) { provider.Delete(item); } id = info.SheetID; } else { id = ProviderFactory.Create <IStringIDCreater>(_RepoUri).CreateID("SH", 4, "TASheet"); if (string.IsNullOrEmpty(id)) { return(new CommandResult(ResultCode.Fail, "创建ID失败")); } info.SheetID = id; } if (info.Items != null && info.Items.Count > 0) { info.Items.ForEach(it => it.SheetID = id); } List <TASheet> sheets = TASheetGroup.UnGroup(info); foreach (TASheet sheet in sheets) { provider.Insert(sheet, unitWork); } return(unitWork.Commit()); }