USE AjitKhadka
GO
--1a
ALTER PROCEDURE SpAccountingDateSel
@Json nvarchar(MAX)
AS
BEGIN
BEGIN Try
BEGIN TRANSACTION
DECLARE @StartDate DATE
DECLARE @EndDate DATE
--parse json into @startDate and @EndDate
SELECT @StartDate = json_value(@Json, '$.StartDate'),
@EndDate = json_value(@Json, '$.EndDate')
--
DECLARE @AccountingTable TABLE(
AccountingDate DATE,
[DAY] VARCHAR(10),
[Week] INT,
[MONTH] VARCHAR(10),
[Quarter] INT);
while @StartDate <= @EndDate
BEGIN
INSERT INTO @AccountingTable VALUES(
@StartDate,
DATENAME(WEEKDAY,@StartDate),
DATEPART(WEEK,@StartDate),
DATENAME(MONTH, @StartDate),
DATEPART(QUARTER,@StartDate));
SET @StartDate = DATEADD(DAY, 1, @StartDate);
END
SELECT * FROM @AccountingTable
Commit TRANSACTION
END Try
BEGIN Catch
ROLLBACK TRANSACTION
Print 'Operaton failed'
END Catch
END
DECLARE @Json nvarchar(MAX);
SET @Js "EndDate":"2024-04-27"}'
Exec SpAccountingDateSel @Json;
--1b
select * from room
Alter Procedure SpAvailableRooms
@Json nvarchar(max)
As
Begin
Begin Try
Begin Transaction
Declare @StartDate Date
Declare @EndDate Date
Declare @totalRooms int
Declare @BookedRooms int
Declare @RoomId int
--parse json into @startDate and @EndDate
Select @StartDate = json_value(@Json, '$.StartDate'),
@EndDate = json_value(@Json, '$.EndDate')
Select @totalRooms = COUNT(*)
from Room;
Select @BookedRooms = COUNT(DISTINCT RoomID) from Reservation
Select RoomId from Room where RoomId in (
Select Distinct RoomId From Reservation
Where CheckOutDate < @EndDate) And status = 'OPEN'
Commit Transaction
End Try
Begin Catch
Rollback Transaction
Print ''
End Catch
End
Declare @Json nvarchar(max);
Set @Js "EndDate":"2024-05-01"}'
EXEC SpAvailableRooms @Json;
{"html5":"htmlmixed","css":"css","javascript":"javascript","php":"php","python":"python","ruby":"ruby","lua":"text\/x-lua","bash":"text\/x-sh","go":"go","c":"text\/x-csrc","cpp":"text\/x-c++src","diff":"diff","latex":"stex","sql":"sql","xml":"xml","apl":"apl","asterisk":"asterisk","c_loadrunner":"text\/x-csrc","c_mac":"text\/x-csrc","coffeescript":"text\/x-coffeescript","csharp":"text\/x-csharp","d":"d","ecmascript":"javascript","erlang":"erlang","groovy":"text\/x-groovy","haskell":"text\/x-haskell","haxe":"text\/x-haxe","html4strict":"htmlmixed","java":"text\/x-java","java5":"text\/x-java","jquery":"javascript","mirc":"mirc","mysql":"sql","ocaml":"text\/x-ocaml","pascal":"text\/x-pascal","perl":"perl","perl6":"perl","plsql":"sql","properties":"text\/x-properties","q":"text\/x-q","scala":"scala","scheme":"text\/x-scheme","tcl":"text\/x-tcl","vb":"text\/x-vb","verilog":"text\/x-verilog","yaml":"text\/x-yaml","z80":"text\/x-z80"}