Вопрос

Работа своего web сервиса. Запись в таблицу

Добрый день.

Подскажите пожалуйста, как сделать запись данных которые получены 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<WCaseTemplate> 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 комментария
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();
            }
        }
    }
}

Рабочий вариант

Огромнейшее спасибо Павлу :)

но в таком случае не отработает событийный слой, т.е. не запустятся событийные БП

Коновалов Игорь,

Вот и пришлось вернуться к этому вопросу

Как нужно сделать чтоб Событийные процессы запускались?

 

Олег, добрый день!

Рекомендую ознакомится с этой статьёй о событийном слое.

Однако, если же ваш код является частью внешней сборки, то в таком случае на данный момент в системе нет возможности настроить в ней событийный слой. 

 

Показать все комментарии