SampleService.cs 4.25 KB
using Infrastructure;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using System.Xml;
using System.Xml.Linq;
using System.Xml.Serialization;
using WebApp;
using WebMvc.Areas.WebService;
using WebRepository;

namespace WebMvc.Areas.WebService
{
    public class SampleService : ISampleService
    {
        private IUnitWork _unitWork;
        public IRepository<WebRepository.Task> _app;
        public IRepository<Container> _appc;
        public IRepository<Inventory> _appi;
        public IRepository<Location> _appl;
        public IRepository<ReceiptDetail> _apprd;
        public IRepository<ReceiptHeader> _apprh;
        public IRepository<ShipmentHeader> _apph;
        public IRepository<ShipmentDetail> _appsd;
        public IRepository<TaskDetail> _apptd;
        public IRepository<InventoryTransaction> _appit;
        private BaseDBContext _context;
        private IAuth _auth;

        public SampleService(IUnitWork unitWork, IAuth auth, IRepository<Inventory> inventory, IRepository<InventoryTransaction> inventoryTransaction, IRepository<Container> Icontainer, IRepository<ReceiptHeader> receiptHeader, IRepository<ReceiptDetail> receiptDetail, IRepository<WebRepository.Task> repository, IRepository<Location> repositoryl, IRepository<ShipmentHeader> repositoryh, IRepository<TaskDetail> repositorytd, IRepository<ShipmentDetail> repositorysd, BaseDBContext context)
        {
            _unitWork = unitWork;
            _app = repository;
            _appl = repositoryl;
            _apph = repositoryh;
            _appsd = repositorysd;
            _apptd = repositorytd;
            _apprd = receiptDetail;
            _apprh = receiptHeader;
            _appc = Icontainer;
            _appi = inventory;
            _appit = inventoryTransaction;
            _context = context;
            _auth = auth;
            LoginInfo loginInfo = new LoginInfo
            {
                Account = "NouYaWeb"
            };
            SetLoginInfo(loginInfo);
        }

        public void SetLoginInfo(LoginInfo loginInfo)
        {
            _app._loginInfo = loginInfo;
            _appl._loginInfo = loginInfo;
            _apph._loginInfo = loginInfo;
            _appsd._loginInfo = loginInfo;
            _apptd._loginInfo = loginInfo;
            _appc._loginInfo = loginInfo;
            _apprd._loginInfo = loginInfo;
            _apprh._loginInfo = loginInfo;
            _appi._loginInfo = loginInfo;
            _appit._loginInfo = loginInfo;
        }
        public string Ping(string Request)
        {
            ConfigXmlDocument doc = new ConfigXmlDocument();
            ConfigXmlDocument reDoc = new ConfigXmlDocument();
            //读取传入的xml
            var config = AppSettingsJson.GetAppSettings();
            reDoc.Load(config.GetSection("NouYaWebService:Url").Value);
            //填入是否报错
            XmlElement element = (XmlElement)doc.SelectSingleNode("//Status");
            try
            {
                doc.LoadXml(Request);
                XmlNodeList nodes = doc.SelectNodes("//Field");
                foreach (XmlElement node in nodes)
                {
                    //抓取单个的xml节点
                    //获得字节里面的属性值
                    string name = node.GetAttribute("name");
                    string value = node.GetAttribute("value");
                }

                element.SetAttribute("coed", "0");
            }
            catch(Exception ex)
            {
                element.SetAttribute("coed", "1");
                element.SetAttribute("description", ex.Message);
            }
            return reDoc.InnerText;
        }

        public ReceiptResponse ReceiptService(MaterialsInformation[] materials)
        {
            ReceiptResponse receiptResponse = new ReceiptResponse();
            try
            {
                receiptResponse.Code = 200;
                receiptResponse.materials = materials;
                receiptResponse.Message = "success";
            }
            catch (Exception ex)
            {
                receiptResponse.Code = 300;
                receiptResponse.Message = ex.Message;
            }
            return receiptResponse;
        }
    }
}