zoukankan      html  css  js  c++  java
  • [How To]如何使用Wildfish进行ISeries开发多操作篇

                ORDEREntity entity = orderDataSet1.ORDERTable.CreateEntity();
                entity.CUSTOMERNAME 
    = this.txtCustomerName.Text;
                entity.ORDERDATE 
    = DateTime.Now;
                entity.PROCESSDATE 
    = DateTime.Now; //Here I think it will be a nullable date type,but the framework now do not support this feature. 
                entity.PROCESSUSER = "";
                orderDataSet1.ORDERTable.SetEntity(entity);
                ORDERSystem mgrSystem 
    = new ORDERSystem();
                
    if (!mgrSystem.InsertOrder(orderDataSet1))
                
    {
                    MessageBox.Show(
    "Error occured at inserting order!Please check the log for the problem!");
                }

                
    else
                
    {
                    MessageBox.Show(
    "Success to insert an order!You may using STRSQL or using navigator to see what inserted!");
                }
    1。新建一个Winform 名字是TestMultiTable
    2. 添加using
      
    using Wildfish.Data.ISeries;
    using Wildfish.BusinessFacade.ISeries;
    3。画屏幕
    4。编写Code
    插入OrderItem
     //thus is just a sample,so i do not add lot of validation
                int maxItemIndex = 0;
                
    for (int i = 0; i < orderDataSet1.ORDERITEMTable.Rows.Count; i++)
                
    {
                    
    if (maxItemIndex < orderDataSet1.ORDERITEMTable.GetEntity(i).ITEMID)
                    
    {
                        maxItemIndex 
    = orderDataSet1.ORDERITEMTable.GetEntity(i).ITEMID;
                    }

                }

                maxItemIndex
    ++//It will be a new Item
                ORDERITEMEntity entity = orderDataSet1.ORDERITEMTable.CreateEntity();
                entity.ITEMID 
    = maxItemIndex;
                entity.PRICE 
    = Convert.ToDecimal(this.txtPrice.Text);
                entity.PRODUCTNAME 
    = this.txtProductName.Text;
                entity.QUANTITY 
    = Convert.ToInt32(this.txtQuantity.Text);
                orderDataSet1.ORDERITEMTable.SetEntity(entity);

    OrderSystem的InsertOrder逻辑
                KEYSEQNUpdateObject updObj = new KEYSEQNUpdateObject();
                updObj.Where[KEYSEQNUpdateObject.TYPE_Field].FieldValue 
    = "SEQN";
                updObj.Where[KEYSEQNUpdateObject.CODE_Field].FieldValue 
    = "ORDER";
                updObj.Result[KEYSEQNUpdateObject.DETAIL6_Field].Expression 
    = "DETAIL6+1";

                
    try
                
    {
                    baseDataAccess.BeginTransaction();
                    
    if (!mgrRule.UpdateData(baseDataAccess, updObj))
                    
    {
                        baseDataAccess.Rollback();
                        
    return false;
                    }

                    
    string orderID = "Order" + updObj.Result[KEYSEQNUpdateObject.DETAIL6_Field].FieldValue;
                    ORDEREntity orderEntity 
    = orderDataSet.ORDERTable.GetEntity(0);
                    orderEntity.ORDERID 
    = orderID;
                    
    for (int i = 0; i < orderEntity.ORDERITEMEntities.Count; i++)
                    
    {
                        orderEntity.ORDERITEMEntities[i].ORDERID 
    = orderID;
                    }

                    orderDataSet.SetEntity(orderEntity);
                    
    if (!baseDataAccess.InsertObjectData(orderDataSet))
                    
    {
                        baseDataAccess.Rollback();
                        
    return false;
                    }

                    baseDataAccess.Commit();
                    
    return true;
                }

                
    catch
                
    {
                    baseDataAccess.Rollback();
                    
    return false;
                }

    代码很简单,我就不细说了,
    其实就是,用一个UpdateObject对象生成Key,然后给Order对象的OrderID赋值,然后Insert到数据库。

  • 相关阅读:
    Centos6.8部署jumpserver(完整版)
    Linux系统下inode满了导致无法写文件的解决思路
    MySQL5.7.20报错Access denied for user 'root'@'localhost' (using password: NO)
    深浅拷贝
    集合
    列表 元组 range
    机器码和字节码
    函数
    文件操作
    小数据池和代码块
  • 原文地址:https://www.cnblogs.com/wildfish/p/339093.html
Copyright © 2011-2022 走看看