C#后台調用webapi


using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;

namespace ZSWinForm
{
    public class ApiHelper
    {
        /// <summary>
        /// 調用api返回json
        /// </summary>
        /// <param name="url">api地址</param>
        /// <param name="context">接收參數</param>
        /// <returns></returns>
        public static string HttpApi(string uri, string context)
        {
            //ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
            request.Proxy = null;
            request.Method = "POST";

            //request.Accept = "*/*";
            request.ContentType = "application/x-www-form-urlencoded";
            //request.ContentType = "text/html;charset=gbk";
            byte[] buffer = Encoding.Default.GetBytes(context);
            request.ContentLength = buffer.Length;
            //WebRequest.GetSystemWebProxy();
            request.GetRequestStream().Write(buffer, 0, buffer.Length);

            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            if (response == null) return null;
            StreamReader sr = new StreamReader(response.GetResponseStream());
            return sr.ReadToEnd().Trim();
        }
    }
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace ZSWinForm
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {


        }

        private void btn_submit_Click(object sender, EventArgs e)
        {
            string ROW_ID = txt_ROW_ID.Text;
            string DEALER_ID = txt_DEALER_ID.Text;
            string AMOINT_SUMMARY = txt_AMOUNT_SUMMARY.Text;
            string COLLECT_NUMBER = txt_COLLECT_NUMBER.Text;
            string CREATE_DT = txt_CREATE_DT.Text;
            string LASTUPDATE_DT = txt_LASTUPDATE_DT.Text;
            string CREATOR_ID = txt_CREATOR_ID.Text;
            string DELIVERY_WAREHOUSE = txt_DELIVERY_WAREHOUSE.Text;
            string INDENT_FLAG = txt_INDENT_FLAG.Text;
            string INDENT_NUMBER = txt_INDENT_NUMBER.Text;
            string INDENT_REMARK = txt_INDENT_REMARK.Text;
            string LASTUPDATOR_ID = txt_LASTUPDATOR_ID.Text;
            string SHIPPING_ADDRESS = txt_SHIPPING_ADDRESS.Text;
            string SUPPLIER_ID = txt_SUPPLIER_ID.Text;
            string ORDERTYPE = txt_ORDERTYPE.Text;
            string OU_TYPE = txt_OU_TYPE.Text;

            string ROW_IDS = txt_ROW_IDS.Text;
            string INDENT_APPLY_ID = txt_INDENT_APPLY_ID.Text;
            string PRODUCT_ID = txt_PRODUCT_ID.Text;
            string QUANTITY = txt_QUANTITY.Text;
            string ROW_MONEY = txt_ROW_MONEY.Text;
            string MEASURE = txt_MEASURE.Text;
            string PRODUCT_NO = txt_PRODUCT_NO.Text;
            string BASE_PRICE = txt_BASE_PRICE.Text;
            string QUANTITYSEND = txt_QUANTITYSEND.Text;
            string QUANTITYRECEIVED = txt_QUANTITYRECEIVED.Text;
            string CREATE_DTS = txt_CREATE_DTS.Text;

            string ROW_IDS2 = txt_ROW_IDS2.Text;
            string INDENT_APPLY_ID2 = txt_INDENT_APPLY_ID2.Text;
            string PRODUCT_ID2 = txt_PRODUCT_ID2.Text;
            string QUANTITY2 = txt_QUANTITY2.Text;
            string ROW_MONEY2 = txt_ROW_MONEY2.Text;
            string MEASURE2 = txt_MEASURE2.Text;
            string PRODUCT_NO2 = txt_PRODUCT_NO2.Text;
            string BASE_PRICE2 = txt_BASE_PRICE2.Text;
            string QUANTITYSEND2 = txt_QUANTITYSEND2.Text;
            string QUANTITYRECEIVED2 = txt_QUANTITYRECEIVED2.Text;
            string CREATE_DTS2 = txt_CREATE_DTS2.Text;
            //主要是下面這幾行
            string uri = "http://localhost:5706//api/DBinfo/UpPDAData";
            string context = "requestContent={\"ROW_ID\":\"" + ROW_ID + "\",\"DEALER_ID\":\"" + DEALER_ID + "\",\"AMOUNT_SUMMARY\":" + AMOINT_SUMMARY + ",\"COLLECT_NUMBER\":\"" + COLLECT_NUMBER + "\",\"CREATE_DT\":\"" + CREATE_DT + "\",\"LASTUPDATE_DT\":\"" + LASTUPDATE_DT + "\",\"CREATOR_ID\":\"" + CREATOR_ID + "\",\"DELIVERY_WAREHOUSE\":\"" + DELIVERY_WAREHOUSE + "\",\"INDENT_FLAG\":\"" + INDENT_FLAG + "\",\"INDENT_NUMBER\":\"" + INDENT_NUMBER + "\",\"INDENT_REMARK\":\"" + INDENT_REMARK + "\",\"LASTUPDATOR_ID\":\"" + LASTUPDATOR_ID + "\",\"SHIPPING_ADDRESS\":\"" + SHIPPING_ADDRESS + "\",\"SUPPLIER_ID\":\"" + SUPPLIER_ID + "\",\"ORDERTYPE\":\"" + ORDERTYPE + "\",\"OU_TYPE\":\"" + OU_TYPE + "\",\"ZS_DBMXInfos\":[{\"ROW_ID\":\"" + ROW_IDS + "\",\"INDENT_APPLY_ID\":\"" + INDENT_APPLY_ID + "\",\"PRODUCT_ID\":\"" + PRODUCT_ID + "\",\"QUANTITY\":\"" + QUANTITY + "\",\"ROW_MONEY\":\"" + ROW_MONEY + "\",\"MEASURE\":\"" + MEASURE + "\",\"PRODUCT_NO\":\"" + PRODUCT_NO + "\",\"BASE_PRICE\":\"" + BASE_PRICE + "\",\"QUANTITYSEND\":\"" + QUANTITYSEND + "\",\"QUANTITYRECEIVED\":\"" + QUANTITYRECEIVED + "\",\"CREATE_DT\":\"" + CREATE_DTS + "\"},{\"ROW_ID\":\"" + ROW_IDS2 + "\",\"INDENT_APPLY_ID\":\"" + INDENT_APPLY_ID2 + "\",\"PRODUCT_ID\":\"" + PRODUCT_ID2 + "\",\"QUANTITY\":\"" + QUANTITY2 + "\",\"ROW_MONEY\":\""+ ROW_MONEY2 + "\",\"MEASURE\":\""+ MEASURE2 + "\",\"PRODUCT_NO\":\""+ PRODUCT_NO2 + "\",\"BASE_PRICE\":\""+ BASE_PRICE2 + "\",\"QUANTITYSEND\":\""+ QUANTITYSEND2 + "\",\"QUANTITYRECEIVED\":\""+ QUANTITYRECEIVED2 + "\",\"CREATE_DT\":\""+ CREATE_DTS2 + "\"}]}";
            var str = ApiHelper.HttpApi(uri,context);
            txt_result.Text = str;

        }

       
    }
}
using System;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using Newtonsoft.Json;
using System.Configuration;
using System.Web;
using System.Data.SqlClient;
using System.Data;

namespace ZKT.Mobile.Web.Controllers
{
    public class DBInfoController : BaseController
    {
        string connstr = ConfigurationManager.ConnectionStrings["ZKT"].ConnectionString;
        [HttpPost]
        public HttpResponseMessage UpPDAData()
        {
            string rev = HttpContext.Current.Request.Params["requestContent"];
            ZS_DBInfo i = JsonConvert.DeserializeObject<ZS_DBInfo>(rev);
            BaseResponse response = new BaseResponse();
            SqlConnection conn = new SqlConnection(connstr);
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = conn;
            conn.Open();
            SqlTransaction trans = conn.BeginTransaction();
            cmd.Transaction = trans;
            try
            {
                cmd.CommandText = @"INSERT INTO [dbo].[ZS_DBInfo]
                                                           ([ROW_ID]
                                                           ,[DEALER_ID]
                                                           ,[AMOUNT_SUMMARY]
                                                           ,[COLLECT_NUMBER]
                                                           ,[CREATE_DT]
                                                           ,[LASTUPDATE_DT]
                                                           ,[CREATOR_ID]
                                                           ,[DELIVERY_WAREHOUSE]
                                                           ,[INDENT_FLAG]
                                                           ,[INDENT_NUMBER]
                                                           ,[INDENT_REMARK]
                                                           ,[LASTUPDATOR_ID]
                                                           ,[SHIPPING_ADDRESS]
                                                           ,[SUPPLIER_ID]
                                                           ,[ORDERTYPE]
                                                           ,[OU_TYPE])
                                                     VALUES
                                                           (@ROW_ID
                                                           ,@DEALER_ID
                                                           ,@AMOUNT_SUMMARY
                                                           ,@COLLECT_NUMBER
                                                           ,@CREATE_DT
                                                           ,@LASTUPDATE_DT
                                                           ,@CREATOR_ID
                                                           ,@DELIVERY_WAREHOUSE
                                                           ,@INDENT_FLAG
                                                           ,@INDENT_NUMBER
                                                           ,@INDENT_REMARK
                                                           ,@LASTUPDATOR_ID
                                                           ,@SHIPPING_ADDRESS
                                                           ,@SUPPLIER_ID
                                                           ,@ORDERTYPE
                                                           ,@OU_TYPE);
                                                             select @@IDENTITY As ID;";
                cmd.CommandType = CommandType.Text;
                SqlParameter[] parp = new SqlParameter[]{
                              new SqlParameter("@ROW_ID",i.ROW_ID),
                              new SqlParameter("@DEALER_ID",i.DEALER_ID),
                              new SqlParameter("@AMOUNT_SUMMARY",i.AMOUNT_SUMMARY),
                              new SqlParameter("@COLLECT_NUMBER",i.COLLECT_NUMBER),
                              new SqlParameter("@CREATE_DT",i.CREATE_DT),
                              new SqlParameter("@LASTUPDATE_DT",i.LASTUPDATE_DT),
                              new SqlParameter("@CREATOR_ID",i.CREATOR_ID),
                              new SqlParameter("@DELIVERY_WAREHOUSE",i.DELIVERY_WAREHOUSE),
                              new SqlParameter("@INDENT_FLAG",i.INDENT_FLAG),
                              new SqlParameter("@INDENT_NUMBER",i.INDENT_NUMBER),
                              new SqlParameter("@INDENT_REMARK",i.INDENT_REMARK),
                              new SqlParameter("@LASTUPDATOR_ID",i.LASTUPDATOR_ID),
                              new SqlParameter("@SHIPPING_ADDRESS",i.SHIPPING_ADDRESS),
                              new SqlParameter("@SUPPLIER_ID",i.SUPPLIER_ID),
                              new SqlParameter("@ORDERTYPE",i.ORDERTYPE),
                              new SqlParameter("@OU_TYPE",i.OU_TYPE)
                        };
                cmd.Parameters.AddRange(parp);
                int autono = Convert.ToInt32(cmd.ExecuteScalar());
                foreach (var a in i.ZS_DBMXInfos)
                {
                    cmd.Parameters.Clear();
                    cmd.CommandText = @"INSERT INTO [dbo].[ZS_DBMXInfo]
                                                           ([ROW_ID]
                                                           ,[INDENT_APPLY_ID]
                                                           ,[PRODUCT_ID]
                                                           ,[QUANTITY]
                                                           ,[ROW_MONEY]
                                                           ,[MEASURE]
                                                           ,[PRODUCT_NO]
                                                           ,[BASE_PRICE]
                                                           ,[QUANTITYSEND]
                                                           ,[QUANTITYRECEIVED]
                                                           ,[CREATE_DT]
                                                           ,[Autono])
                                                     VALUES
                                                           (@ROW_ID
                                                           ,@INDENT_APPLY_ID
                                                           ,@PRODUCT_ID
                                                           ,@QUANTITY
                                                           ,@ROW_MONEY
                                                           ,@MEASURE
                                                           ,@PRODUCT_NO
                                                           ,@BASE_PRICE
                                                           ,@QUANTITYSEND
                                                           ,@QUANTITYRECEIVED
                                                           ,@CREATE_DT
                                                           ,@Autono)";
                    cmd.CommandType = CommandType.Text;
                    SqlParameter[] paras2 = new SqlParameter[]{
                                    new SqlParameter("@ROW_ID",a.ROW_ID),
                                    new SqlParameter("@INDENT_APPLY_ID",a.INDENT_APPLY_ID),
                                    new SqlParameter("@PRODUCT_ID",a.PRODUCT_ID),
                                    new SqlParameter("@QUANTITY",a.QUANTITY),
                                    new SqlParameter("@ROW_MONEY",a.ROW_MONEY),
                                    new SqlParameter("@MEASURE",a.MEASURE),
                                    new SqlParameter("@PRODUCT_NO",a.PRODUCT_NO),
                                    new SqlParameter("@BASE_PRICE",a.BASE_PRICE),
                                    new SqlParameter("@QUANTITYSEND",a.QUANTITYSEND),
                                    new SqlParameter("@QUANTITYRECEIVED",a.QUANTITYRECEIVED),
                                    new SqlParameter("@CREATE_DT",a.CREATE_DT),
                                    new SqlParameter("@Autono",autono)
                            };
                    cmd.Parameters.AddRange(paras2);
                    cmd.ExecuteNonQuery();
                }

                trans.Commit();
                response.Status = 1;
                response.Message = "添加成功!";
            }
            catch (Exception e)
            {
                trans.Rollback();
                response.Status = 0;
                response.Message = "添加失敗!";
            }
            finally
            {
                conn.Close();
                trans.Dispose();
                conn.Dispose();
            }
            return Request.CreateResponse(HttpStatusCode.OK, response);
        }
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM