Exemplo n.º 1
0
        public CommandResult ShiftArrange(int staffID, DateTime dt, List <Shift> shifts)
        {
            IShiftArrangeProvider       provider = ProviderFactory.Create <IShiftArrangeProvider>(_RepoUri);
            ShiftArrangeSearchCondition con      = new ShiftArrangeSearchCondition();

            con.StaffID   = staffID;
            con.ShiftDate = new DatetimeRange(dt, dt);
            List <ShiftArrange> items    = provider.GetItems(con).QueryObjects;
            IUnitWork           unitWork = ProviderFactory.Create <IUnitWork>(_RepoUri);

            foreach (ShiftArrange item in items)
            {
                provider.Delete(item, unitWork);
            }
            if (shifts != null && shifts.Count > 0)
            {
                foreach (Shift item in shifts)
                {
                    ShiftArrange sa = new Model.ShiftArrange()
                    {
                        StaffID   = staffID,
                        ShiftID   = item.ID,
                        ShiftDate = dt
                    };
                    provider.Insert(sa, unitWork);
                }
            }
            return(unitWork.Commit());
        }
Exemplo n.º 2
0
        public CommandResult Delete(List <ShiftArrange> items)
        {
            IShiftArrangeProvider provider = ProviderFactory.Create <IShiftArrangeProvider>(_RepoUri);
            IUnitWork             unitWork = ProviderFactory.Create <IUnitWork>(_RepoUri);

            if (items != null && items.Count > 0)
            {
                foreach (ShiftArrange item in items)
                {
                    provider.Delete(item, unitWork);
                }
                return(unitWork.Commit());
            }
            return(new CommandResult(ResultCode.NoRecord, "没有记录"));
        }
Exemplo n.º 3
0
        public CommandResult ClearShiftArrange(int staffID, DateTime dt)
        {
            IShiftArrangeProvider       provider = ProviderFactory.Create <IShiftArrangeProvider>(_RepoUri);
            ShiftArrangeSearchCondition con      = new ShiftArrangeSearchCondition();

            con.StaffID   = staffID;
            con.ShiftDate = new DatetimeRange(dt, dt);
            List <ShiftArrange> items    = provider.GetItems(con).QueryObjects;
            IUnitWork           unitWork = ProviderFactory.Create <IUnitWork>(_RepoUri);

            foreach (ShiftArrange item in items)
            {
                provider.Delete(item, unitWork);
            }
            return(unitWork.Commit());
        }
Exemplo n.º 4
0
        public CommandResult Add(ShiftArrange info)
        {
            IShiftArrangeProvider provider = ProviderFactory.Create <IShiftArrangeProvider>(_RepoUri);
            ShiftArrangeID        id       = new ShiftArrangeID(info.StaffID, info.ShiftID, info.ShiftDate);
            ShiftArrange          item     = provider.GetByID(id).QueryObject;

            if (item == null)
            {
                IUnitWork unitWork = ProviderFactory.Create <IUnitWork>(_RepoUri);
                provider.Insert(info, unitWork);
                return(unitWork.Commit());
            }
            else //如果已经存在则直接返回
            {
                return(new CommandResult(ResultCode.Successful, ResultCodeDecription.GetDescription(ResultCode.Successful)));
            }
        }
Exemplo n.º 5
0
        public CommandResult ShiftArrange(int staffID, DatetimeRange range, List <ShiftArrange> arranges)
        {
            IShiftArrangeProvider       provider = ProviderFactory.Create <IShiftArrangeProvider>(_RepoUri);
            ShiftArrangeSearchCondition con      = new ShiftArrangeSearchCondition();

            con.StaffID   = staffID;
            con.ShiftDate = range;
            List <ShiftArrange> items    = provider.GetItems(con).QueryObjects;
            IUnitWork           unitWork = ProviderFactory.Create <IUnitWork>(_RepoUri);

            foreach (ShiftArrange item in items)
            {
                provider.Delete(item, unitWork);
            }
            if (arranges != null && arranges.Count > 0)
            {
                foreach (ShiftArrange item in arranges)
                {
                    provider.Insert(item, unitWork);
                }
            }
            return(unitWork.Commit());
        }