Hi All of you.
I am inserting data to table using stored procedure and EF-6 and WEB API. Please follow Table, Stored procedure and WEB API Code:
Table Code:
CREATE TABLE [dbo].[State](
[state_id] [bigint] IDENTITY(1,1) NOT NULL,
[state_name] [nvarchar](50) NULL,
[state_short_name] [nvarchar](2) NULL,
[company_id] [bigint] NULL,
[branch_id] [bigint] NULL,
[is_visible] [bit] NULL,
[created_by] [bigint] NULL,
[creation_date] [datetime] NULL,
[updated_by] [bigint] NULL,
[updation_date] [datetime] NULL,
CONSTRAINT [PK_Tbl_State] PRIMARY KEY CLUSTERED
(
[state_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
Stored Procedure:
CREATE Procedure [dbo].[USP_Insert_State]
(
@state_namenvarchar(50),
@state_short_name nvarchar(2),
@company_idbigint,
@branch_id bigint,
@is_visiblebit,
@created_bybigint,
@updated_bybigint,
@return_value int OUT
)
AS
BEGIN
IF NOT EXISTS(select * from State where state_name=@state_name)
BEGIN
insert into State(state_name,state_short_name,company_id,branch_id,is_visible,created_by,creation_date)
values(@state_name,@state_short_name,@company_id,@branch_id,@is_visible,@created_by,GETDATE())
set @return_value=1
END
ELSE
BEGIN
set @return_value=0
END
select @return_value=SCOPE_IDENTITY()
END
ApiController:
[HttpPost]
[Route("api/states")]
public HttpResponseMessage Post([FromBody] State state)
{
try
{
ObjectParameter return_value = new ObjectParameter("return_value", typeof(int));
dataContext.USP_Insert_State(state.state_name, state.state_short_name, state.company_id, state.branch_id, state.is_visible, 1, 1, return_value).ToList();
if (Convert.ToInt32(return_value.Value) >= 1)
{
var message = Request.CreateResponse(HttpStatusCode.Created, return_value);
message.Headers.Location = new Uri(Request.RequestUri + return_value.ToString());
return message;
}
else
{
return Request.CreateResponse(HttpStatusCode.BadRequest, ModelState);
}
}
catch (Exception ex)
{
return Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message.ToString());
}
}
Model.Context.cs:
public virtual ObjectResult<string> USP_Insert_State(string state_name, string state_short_name, Nullable<long> company_id, Nullable<long> branch_id, Nullable<bool> is_visible, Nullable<long> created_by, Nullable<long> updated_by, ObjectParameter return_value)
{
var state_nameParameter = state_name != null ?
new ObjectParameter("state_name", state_name) :
new ObjectParameter("state_name", typeof(string));
var state_short_nameParameter = state_short_name != null ?
new ObjectParameter("state_short_name", state_short_name) :
new ObjectParameter("state_short_name", typeof(string));
var company_idParameter = company_id.HasValue ?
new ObjectParameter("company_id", company_id) :
new ObjectParameter("company_id", typeof(long));
var branch_idParameter = branch_id.HasValue ?
new ObjectParameter("branch_id", branch_id) :
new ObjectParameter("branch_id", typeof(long));
var is_visibleParameter = is_visible.HasValue ?
new ObjectParameter("is_visible", is_visible) :
new ObjectParameter("is_visible", typeof(bool));
var created_byParameter = created_by.HasValue ?
new ObjectParameter("created_by", created_by) :
new ObjectParameter("created_by", typeof(long));
var updated_byParameter = updated_by.HasValue ?
new ObjectParameter("updated_by", updated_by) :
new ObjectParameter("updated_by", typeof(long));
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<string>("USP_Insert_State", state_nameParameter, state_short_nameParameter, company_idParameter, branch_idParameter, is_visibleParameter, created_byParameter, updated_byParameter, return_value);
}
Please help me.