cb5378242573e78dafe27a02618d177755e6d92f.svn-base 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. $(function () {
  2. 'use strict';
  3. window.utils = window.utils || {};
  4. $.extend(window.utils, {
  5. checkSchedule: {
  6. createScheduleManager: function () {
  7. var exceptionDateDataSource = BemsWebApplication.db.createDataSource('FmsFacilityScheduleCheckExceptionDate', true),
  8. holidayManager = utils.holiday.createHolidayManager(),
  9. loadedExceptionDays = [];
  10. return {
  11. holidayManager: holidayManager,
  12. load: function (momentDate, dataModel) {
  13. var self = this;
  14. var deferred = new $.Deferred();
  15. loadedExceptionDays = [];
  16. $.when(exceptionDateDataSource.load(), holidayManager.loadHolidays(momentDate))
  17. .done(function (result) {
  18. $.each(result[0], function (i, item) {
  19. loadedExceptionDays.push($G.date(moment(item.ExceptionDate())));
  20. });
  21. if (dataModel === undefined) {
  22. deferred.resolve();
  23. }
  24. else {
  25. var events = self.generateScheduleEvents(momentDate, dataModel);
  26. deferred.resolve(events);
  27. }
  28. })
  29. .fail(function (error) {
  30. deferred.reject(error);
  31. });
  32. return deferred.promise();
  33. },
  34. generateScheduleEvents: function (momentDate, dataModel) {
  35. var holidays = holidayManager.generateHolidays(momentDate);
  36. var events = utils.fullCalendar.generateScheduleEvents(momentDate,
  37. dataModel.StartDate(),
  38. dataModel.ScheduleId(),
  39. dataModel.Name(),
  40. dataModel.CycleTypeId(),
  41. dataModel.CycleSize(),
  42. dataModel.CycleUnitId(),
  43. dataModel.HolidayId(),
  44. holidays,
  45. loadedExceptionDays);
  46. return events;
  47. },
  48. };
  49. }
  50. }
  51. });
  52. });