Advertisement
Ruslan_Rayanov

Calendar GetItems

Oct 18th, 2020
615
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 2.50 KB | None | 0 0
  1. CREATE PROCEDURE [dbo].[crud_tst-calendar_getItems]
  2.     @filters CRUDFilterParameter READONLY,  
  3.     @sort sql_variant,
  4.     @direction nvarchar(8),
  5.     @page int,
  6.     @pageSize int,
  7.     @username nvarchar(32)
  8. AS
  9. BEGIN
  10.     declare @langID int
  11.     select @langID = try_cast(Value as int) from @filters where [Key] = 'langID'
  12.  
  13.    
  14.    
  15.    
  16.     declare   @result TABLE (itemID int, title nvarchar(256), start nvarchar(64), [end] nvarchar(64),
  17.                              color nvarchar(64), textColor nvarchar(64), borderColor nvarchar(64),
  18.                             url nvarchar(256), className nvarchar(128), allDay bit, rendering nvarchar(128),
  19.                              formCode nvarchar(128), formBig bit, formTitle nvarchar(128), formBtnText nvarchar(128), formSlideout bit
  20.     )
  21.    
  22.     insert into @result
  23.     --'2020-05-28T07:19:00'  convert(nvarchar, start, 120)
  24.     select   id itemID, title title, convert(nvarchar, start, 120)  start,  convert(nvarchar, [end], 120)  [end], isnull((select color from as_eventTypes where id=typeID),'#5f3') color, '' textColor, '' borderColor,
  25.         url url, '' className, allDay allDay, '' rendering,  'editEvent' formCode, 0 formBig, iif(@langID=1, 'Change event', 'Изменить событие') formTitle, iif(@langID=1, 'Save', 'Сохранить') formBtnText, 1 formSlideout
  26.     from as_events
  27.     where username = @username
  28.        
  29.     -- 1 SELECT - сами данные    
  30.     select * from @result
  31.    
  32.    
  33.     -- 2 SELECT - кол-во в таблице
  34.     select count(*) from @result
  35.  
  36.     select 'calendar' ViewType,
  37.     '{
  38.         "defaultView": "timeGridWeek",
  39.        "firstDay":1,
  40.        "defaultDate": "2020-05-28",
  41.        "droppable": true,
  42.        "editable": true,
  43.        "locale": "'+iif(@langID=1, 'en', 'ru')+'",
  44.        "rerenderDelay": 30,
  45.        "timeZone": "UTC",
  46.         "displayEventTime": true,
  47.         "height": "parent",
  48.         "header": {
  49.            "left": "title",
  50.            "center": "dayGridMonth,timeGridWeek,timeGridDay,list",
  51.            "right": "prev,next today myCustomButton"
  52.          },
  53.          "formCreate": {
  54.                 "itemID":"0",   "code" : "newEvent", "big": 0, "title": "'+iif(@langID=1, 'New event','Новое событие')+'", "btnText":"Создать", "slideout":1
  55.          },
  56.          "remove":1
  57.    }' calendarOptions,
  58.     1 hideTitleCount
  59.  
  60.     -- 4 SELECT Данные для подвала страницы или данные для Ганта/Канбана (если установлен ViewType в 3 SELECT)
  61.  
  62. END
  63.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement