Example #1
0
        void checkPublisherIsWorking()
        {
            var company      = this.Supplier == null ? this.Provider.CompanyId : this.Supplier.CompanyId;
            var workingHours = CompanyService.GetWorkinghours(company);

            Izual.Time startTime, endTime;
            bool       isWeekend = DateTime.Today.IsWeekend();

            if (!IsB3BOrder)
            {
                var externalPolicy = OrderProcessService.LoadExternalPolicy(Id);
                if (externalPolicy == null)
                {
                    startTime = new Izual.Time(8, 0, 0);
                    endTime   = new Izual.Time(18, 0, 0);
                }
                else if (!isWeekend)
                {
                    startTime = externalPolicy.WorkTimeStart;
                    endTime   = externalPolicy.WorkTimeEnd;
                }
                else
                {
                    startTime = externalPolicy.RestWorkTimeStart;
                    endTime   = externalPolicy.RestWorkTimeEnd;
                }
            }
            else
            {
                if (isWeekend)
                {
                    startTime = workingHours.RestdayWorkStart;
                    endTime   = workingHours.RestdayWorkEnd;
                }
                else
                {
                    startTime = workingHours.WorkdayWorkStart;
                    endTime   = workingHours.WorkdayWorkEnd;
                }
            }
            if (Izual.Time.Now < startTime || Izual.Time.Now > endTime)
            {
                throw new CustomException("供应商已下班");
            }
        }
Example #2
0
        protected void CheckInRefundingTimeOfProvider()
        {
            var workingHours = Service.Organization.CompanyService.GetWorkinghours(this.Order.Provider.CompanyId);

            Izual.Time startTime, endTime;
            if (this.Order.IsB3BOrder)
            {
                if (DateTime.Today.IsWeekend())
                {
                    startTime = workingHours.RestdayRefundStart;
                    endTime   = workingHours.RestdayRefundEnd;
                }
                else
                {
                    startTime = workingHours.WorkdayRefundStart;
                    endTime   = workingHours.WorkdayRefundEnd;
                }
            }
            else
            {
                var externalPolicy = OrderProcessService.LoadExternalPolicy(Order.Id);
                if (DateTime.Today.IsWeekend())
                {
                    startTime = externalPolicy.RestRefundTimeStart;
                    endTime   = externalPolicy.RestRefundTimeEnd;
                }
                else
                {
                    startTime = externalPolicy.WorkRefundTimeStart;
                    endTime   = externalPolicy.WorkRefundTimeEnd;
                }
            }
            if (Izual.Time.Now < startTime || Izual.Time.Now > endTime)
            {
                throw new CustomException("供应商已下班");
            }
        }