Esempio n. 1
0
        /// <summary>
        /// لیست همه شیفتها را برمیگرداند
        /// اگر نوبت کاری نداشته باشد بمنظور نمایش در یو آی یک نوبت کاری صوری میسازد
        /// </summary>
        /// <returns></returns>
        public override IList <Shift> GetAll()
        {
            IList <Shift> shifts = new List <Shift>();

            try
            {
                IList <decimal> accessableIDs = accessPort.GetAccessibleShifts();

                if (accessableIDs.Count < this.operationBatchSizeValue && this.operationBatchSizeValue < 2100)
                {
                    shifts = shiftRepository.GetByCriteria(new CriteriaStruct(Utility.GetPropertyName(() => new Shift().ID), accessableIDs.ToArray(), CriteriaOperation.IN));
                }
                else
                {
                    Shift shiftAlias = null;
                    GTS.Clock.Model.Temp.Temp tempAlias = null;
                    string operationGUID = this.bTemp.InsertTempList(accessableIDs);
                    shifts = NHSession.QueryOver(() => shiftAlias)
                             .JoinAlias(() => shiftAlias.TempList, () => tempAlias)
                             .Where(() => tempAlias.OperationGUID == operationGUID)
                             .List <Shift>();
                    this.bTemp.DeleteTempList(operationGUID);
                }


                for (int i = 0; i < shifts.Count; i++)
                {
                    if (shifts[i].NobatKari == null)
                    {
                        shifts[i].NobatKari = new NobatKari();
                    }
                }
                return(shifts);
            }
            catch (Exception ex)
            {
                LogException(ex, "BShift", "GetAll");
                throw ex;
            }
            finally { }
        }
Esempio n. 2
0
        /// <summary>
        /// لیست همه شیفتها را برمیگرداند
        /// اگر نوبت کاری نداشته باشد بمنظور نمایش در یو آی یک نوبت کاری صوری میسازد
        /// </summary>
        /// <returns></returns>
        public override IList <Shift> GetAll()
        {
            IList <Shift> shifts = new List <Shift>();

            try
            {
                IList <decimal> ids = accessPort.GetAccessibleShifts();
                shifts = shiftRepository.GetByCriteria(new CriteriaStruct(Utility.GetPropertyName(() => new Shift().ID), ids.ToArray(), CriteriaOperation.IN));
                for (int i = 0; i < shifts.Count; i++)
                {
                    if (shifts[i].NobatKari == null)
                    {
                        shifts[i].NobatKari = new NobatKari();
                    }
                }
                return(shifts);
            }
            catch (Exception ex)
            {
                LogException(ex, "BShift", "GetAll");
                throw ex;
            }
            finally { }
        }