Работа своего web сервиса. Запись в таблицу
1 июля 2021 09:55
Добрый день.
Подскажите пожалуйста, как сделать запись данных которые получены web сервисом в таблицу?
Код сервиса.
namespace Terrasoft.Configuration.MeServiceTest
{
using System;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.ServiceModel.Activation;
using System.Collections.Generic;
using Terrasoft.Core;
using Terrasoft.Web.Common;
using Terrasoft.Configuration.Slack;
using System.Runtime.Serialization;
#region WCaseService
[ServiceContract]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public class MeServiceTest : BaseService
{
#region init
private SystemUserConnection _systemUserConnection;
private SystemUserConnection SystemUserConnection
{
get
{
return _systemUserConnection ?? (_systemUserConnection = (SystemUserConnection)AppConnection.SystemUserConnection);
}
}
#endregion
#region main: endPoints
[OperationContract]
[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped,
ResponseFormat = WebMessageFormat.Json)]
public string ImportData(List Test)
{
string result = "";
if (Test != null)
{
foreach (WCaseTemplate wCase in Test)
{
//Тут нужен insert в таблицу Test
result += "Name: " + wCase.Name + "\n Name: " + wCase.Description + "\n";
}
}
else result = "NULL";
return result;
}
#endregion
}
#endregion
[DataContract]
public class WCaseTemplate
{
[DataMember(Name = "Name")]
public string Name { get; set; }
[DataMember(Name = "Description")]
public string Description { get; set; }
}
}
Пока не получается :(
Нравится
4 комментария
1 июля 2021 12:37
namespace Terrasoft.Configuration
{
using System;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.ServiceModel.Activation;
using Terrasoft.Core.DB;
using Terrasoft.Web.Common;
[ServiceContract]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public class MeServiceTest : BaseService
{
[OperationContract]
[WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped,
RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
public void ImportData(string name, string description)
{
{
Insert ins = new Insert(UserConnection)
.Into("Test")
.Set("Name", Column.Parameter(name))
.Set("Description", Column.Parameter(description));
ins.Execute();
}
}
}
}
Рабочий вариант
Огромнейшее спасибо Павлу :)
2 июля 2021 12:37
но в таком случае не отработает событийный слой, т.е. не запустятся событийные БП
27 декабря 2021 09:59
Олег, добрый день!
Рекомендую ознакомится с этой статьёй о событийном слое.
Однако, если же ваш код является частью внешней сборки, то в таком случае на данный момент в системе нет возможности настроить в ней событийный слой.
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать