У меня есть столбец Status
, который имеет 5 возможных значений (NEW, PAID, PENDING, PROCESS, FAULT) в моем виде сетки / записи.Если в раскрывающемся списке я выберу НОВЫЙ / ЗАПРОШЕННЫЙ / ОЖИДАЕМЫЙ / ПРОЦЕСС / НЕИСПРАВНОСТЬ, сетка отображает записи только для этого выбранного значения, т. Е. НОВОЕ / ЗАПЛАНИРОВАННЫЕ / ОБРАБОТКА / НЕИСПРАВНОСТЬ
Я пытаюсь написать хранимую процедуру для фильтрацииданные, но не удалось реализовать его в моем контроллере, модели и представлении.
Если у вас есть другой способ сделать это, пожалуйста, скажите мне
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE sp_GetFilterbyStatus
@Filter VARCHAR(50)
AS
BEGIN
SET NOCOUNT ON;
IF @Filter = 'PAID'
SELECT [PlateNumber] as 'Plate Number',
[ReceiptNumber] as ' Receipt Number',
[VehicleType] as ' Vehicle Type',
[CustomerName] as 'Customer Name',
concat([PeriodStartDate], '-', [PeriodEndDate]) as 'Insurance Period',
[UserName] as 'Agent Name',
[BranchName] as 'Agent Branch',
[TotalPremiumPrice] as 'Agent Branch',
[InvoiceNumber] as 'Invoice Number',
[InsuranceStatus] as 'Status'
FROM [CouponManagement].[dbo].[Insurance]
WHERE [InsuranceStatus] = 'PAID'
ELSE IF @Filter = 'PENDING'
SELECT [PlateNumber] as 'Plate Number',
[ReceiptNumber] as ' Receipt Number',
[VehicleType] as ' Vehicle Type',
[CustomerName] as 'Customer Name',
concat([PeriodStartDate], '-', [PeriodEndDate]) as 'Insurance Period',
[UserName] as 'Agent Name',
[BranchName] as 'Agent Branch',
[TotalPremiumPrice] as 'Agent Branch',
[InvoiceNumber] as 'Invoice Number',
[InsuranceStatus] as 'Status'
FROM [CouponManagement].[dbo].[Insurance]
WHERE [InsuranceStatus] = 'PENDING'
ELSE IF @Filter = 'PROCESS'
SELECT [PlateNumber] as 'Plate Number',
[ReceiptNumber] as ' Receipt Number',
[VehicleType] as ' Vehicle Type',
[CustomerName] as 'Customer Name',
concat([PeriodStartDate], '-', [PeriodEndDate]) as 'Insurance Period',
[UserName] as 'Agent Name',
[BranchName] as 'Agent Branch',
[TotalPremiumPrice] as 'Agent Branch',
[InvoiceNumber] as 'Invoice Number',
[InsuranceStatus] as 'Status'
FROM [CouponManagement].[dbo].[Insurance]
WHERE [InsuranceStatus] = 'PROCESS'
ELSE IF @Filter = 'FAULT'
SELECT [PlateNumber] as 'Plate Number',
[ReceiptNumber] as ' Receipt Number',
[VehicleType] as ' Vehicle Type',
[CustomerName] as 'Customer Name',
concat([PeriodStartDate], '-', [PeriodEndDate]) as 'Insurance Period',
[UserName] as 'Agent Name',
[BranchName] as 'Agent Branch',
[TotalPremiumPrice] as 'Agent Branch',
[InvoiceNumber] as 'Invoice Number',
[InsuranceStatus] as 'Status'
FROM [CouponManagement].[dbo].[Insurance]
WHERE [InsuranceStatus] = 'FAULT'
ELSE IF @Filter = 'NEW'
SELECT [PlateNumber] as 'Plate Number',
[ReceiptNumber] as ' Receipt Number',
[VehicleType] as ' Vehicle Type',
[CustomerName] as 'Customer Name',
concat([PeriodStartDate], '-', [PeriodEndDate]) as 'Insurance Period',
[UserName] as 'Agent Name',
[BranchName] as 'Agent Branch',
[TotalPremiumPrice] as 'Agent Branch',
[InvoiceNumber] as 'Invoice Number',
[InsuranceStatus] as 'Status'
FROM [CouponManagement].[dbo].[Insurance]
WHERE [InsuranceStatus] = 'NEW'
ELSE
SELECT [PlateNumber] as 'Plate Number',
[ReceiptNumber] as ' Receipt Number',
[VehicleType] as ' Vehicle Type',
[CustomerName] as 'Customer Name',
concat([PeriodStartDate], '-', [PeriodEndDate]) as 'Insurance Period',
[UserName] as 'Agent Name',
[BranchName] as 'Agent Branch',
[TotalPremiumPrice] as 'Agent Branch',
[InvoiceNumber] as 'Invoice Number',
[InsuranceStatus] as 'Status'
FROM [CouponManagement].[dbo].[Insurance]
where [InsuranceStatus] =@Filter
END
GO
введите кодздесь