how to call the OperationContract method from the browser url:
I want to do something Like this
This is my interface layer
public interface ITestService { [OperationContract] [WebGet(UriTemplate =
"GetUsers",`enter code here BodyStyle =
WebMessageBodyStyle.WrappedRequest, ResponseFormat = WebMessageFormat.Xml,
RequestFormat = WebMessageFormat.Xml)] List GetAllUsers();
[OperationContract]
[WebGet(UriTemplate = "GetUser/{id}",
BodyStyle = WebMessageBodyStyle.WrappedRequest,
ResponseFormat = WebMessageFormat.Json,
RequestFormat = WebMessageFormat.Json)]
UserVM GetUser(string id);
[OperationContract]
[WebInvoke(
Method = "POST",
UriTemplate = "SaveUser",
BodyStyle = WebMessageBodyStyle.WrappedRequest,
ResponseFormat = WebMessageFormat.Json,
RequestFormat = WebMessageFormat.Json)]
void SaveUser(UserVM uservm);
[OperationContract]
[WebInvoke(
Method = "POST",
UriTemplate = "SaveUser/{name}",
BodyStyle = WebMessageBodyStyle.WrappedRequest,
ResponseFormat = WebMessageFormat.Json,
RequestFormat = WebMessageFormat.Json)]
string PostUser(string name);
}
This is my implementation layer
public List<UserVM> GetAllUsers()
{
List<UserVM> list = new
SGSDBContext().Database.SqlQuery<UserVM>("SELECT * FROM
[User]").ToList();
return list;
}
public UserVM GetUser(string id)
{
//UserVM vm = new UserVM() { Firstname = "f", Lastname = "ln",
IsActive = true, Email = "xyz@gmail.com", IsBlocked = false,
Password = "a", SIANumber = 12 };
//SaveUser(vm);
UserVM user = new SGSDBContext().Database.SqlQuery<UserVM>("SELECT
* FROM [User] where Id=" + int.Parse(id) + "").FirstOrDefault();
return user;
}
public void SaveUser(UserVM uservm)`enter code here`
{
uservm.Dated = DateTime.Now;
string sql = "INSERT INTO
[User]([Firstname],[Lastname],[Email],[Password],[SIANumber],[IsActive],[Dated])
"
+ "VALUES({0},{1},{2},{3},{4},{5},{6}); "
+ "SELECT SCOPE_IDENTITY();";
uservm.Id = (int)new
SGSDBContext().Database.SqlQuery<decimal>(sql,
uservm.Firstname.Trim(), uservm.Lastname.Trim(),
uservm.Email.Trim().ToLower(),
HelpersEncription.Encrypt(uservm.Password), uservm.SIANumber,
uservm.IsActive, uservm.Dated).FirstOrDefault();
new SGSDBContext().SaveChanges();
sql = "INSERT INTO UserInRole(UserId,RoleId) VALUES({0},{1});";
new SGSDBContext().Database.ExecuteSqlCommand(sql, uservm.Id,
uservm.RoleId);
new SGSDBContext().SaveChanges();
//new SGSDBContext().Database.SqlQuery<UserVM>("Insert Into
User").FirstOrDefault();
}
public string PostUser(string name)
{
using (var dc = new SGSDBContext())
{
string sql = "INSERT INTO [Table1]([Name]) VALUES({0});";
dc.Database.ExecuteSqlCommand(sql, name);
return "success";
}
}
Thanks in advance
No comments:
Post a Comment