Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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());
        }
Esempio n. 3
0
        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());
        }
Esempio n. 4
0
        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);
            }
        }
Esempio n. 5
0
        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());
        }