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("供应商已下班"); } }
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("供应商已下班"); } }