示例#1
0
 public void Populate(string name, SOReader.Sol.AMF.DataType.IAMFBase element)
 {
     prop_name.Text = name;
     if ((bool)element.Source == true)
     {
         radioButton1.Checked = true;
     }
     else
     {
         radioButton2.Checked = true;
     }
 }
 public void Populate(string name, SOReader.Sol.AMF.DataType.IAMFBase item)
 {
     prop_name.Text = name;
     if (item.AmfType == AMFType.AMF3_REFERENCE)
     {
         linkLabel1.Text = "Object reference #" + ((AMF3Reference)item).Reference;
         linkLabel1.Tag = ((AMF3Reference)item).Reference;
         objectReference = ((AMF3Reference)item).Reference;
     }
     else if (item.AmfType == AMFType.AMF0_REFERENCE)
     {
         linkLabel1.Tag = ((AMF0Reference)item).Reference;
         linkLabel1.Text = "Object reference #" + ((AMF0Reference)item).Reference;
         objectReference = ((AMF0Reference)item).Reference;
     }
     else if (item.AmfType == AMFType.AMF0_LOST_REFERENCE)
     {
         linkLabel1.Enabled = false;
         linkLabel1.Text = "Invalid reference";
         linkLabel1.Tag = -1;
         objectReference = -1; 
     }
     element = item;
 }
 public void Populate(string name, SOReader.Sol.AMF.DataType.IAMFBase element)
 {
     prop_name.Text = name;
     prop_value.Text = (String)element.Source;
 }
示例#4
0
 public void Populate(string name, SOReader.Sol.AMF.DataType.IAMFBase element)
 {
     prop_name.Text = name;
     this.dateTimePicker1.Value = (DateTime)element.Source;
 }
 public void Populate(string name, SOReader.Sol.AMF.DataType.IAMFBase element)
 {
     prop_name.Text = name;
 }
 public void Populate(string name, SOReader.Sol.AMF.DataType.IAMFBase element)
 {
     prop_name.Text = name;
     prop_value.Text = BitConverter.ToString((byte[])element.Source);
 }
    public static SharedObject Parse(string filename, SharedObject so = null)
    {
        if (so == null)
        {
            so = new SharedObject();
        }
        if (!File.Exists(filename))
        {
            Console.WriteLine("SharedObject " + filename + " doesn't exist.");
            return(so);
        }
        SOReader      file         = new SOReader(filename);
        List <string> string_table = new List <string>();

        //Read header
        SOHeader header = new SOHeader();

        header.padding1  = file.Read16();
        header.file_size = file.Read32();
        file.file_size   = (int)header.file_size + 6;
        header.padding2  = file.Read32();
        header.padding3  = file.Read16();
        header.padding4  = file.Read32();
        Console.WriteLine("Data size: " + header.file_size);

        //Read SO name and othe rparameters
        UInt16 so_name_length = file.Read16();
        string so_name        = file.ReadString(so_name_length);

        //string_table.Add(so_name);
        Console.WriteLine("SO name: " + so_name);
        UInt32 so_type = file.Read32();

        Console.WriteLine("SO type: " + so_type);

        while (file.pos < file.file_size)
        {
            SOValue so_value = new SOValue();

            // Read parameter name. Name length is encoded into 7 bits, 8th bit is flag if name is inline or indexed.
            UInt32 length_int  = (UInt32)file.ReadCompressedInt();
            bool   name_inline = (length_int & 0x01) > 0;
            length_int >>= 1;
            if (name_inline)
            {
                so_value.key = file.ReadString((int)length_int);
                string_table.Add(so_value.key);
            }
            else
            {
                so_value.key = string_table[(int)length_int];
            }
            Console.WriteLine(so_value.key + " (inline: " + name_inline + ")");

            // Read parameter value. First byte is value type.
            so_value.type = file.Read8();
            if (so_value.type == SOTypes.TYPE_NULL)
            {
                Console.WriteLine("\tNULL");
            }
            else if (so_value.type == SOTypes.TYPE_BOOL_FALSE)
            {
                so_value.bool_val = false;
                Console.WriteLine("\tFalse");
            }
            else if (so_value.type == SOTypes.TYPE_BOOL_TRUE)
            {
                so_value.bool_val = true;
                Console.WriteLine("\tTrue");
            }
            else if (so_value.type == SOTypes.TYPE_INT)
            {
                so_value.int_val = (int)file.ReadCompressedInt();
                Console.WriteLine("\t" + so_value.int_val);
            }
            else if (so_value.type == SOTypes.TYPE_DOUBLE)
            {
                so_value.double_val = file.ReadDouble();
                Console.WriteLine("\t" + so_value.double_val);
            }
            else if (so_value.type == SOTypes.TYPE_STRING)
            {
                Int32 val_length = file.ReadCompressedInt();
                bool  val_inline = (val_length & 0x00000001) > 0;
                val_length >>= 1;
                if (!val_inline)
                {
                    Console.WriteLine("\tReference to string: " + val_length);
                    if (val_length < string_table.Count)
                    {
                        so_value.string_val = string_table[(int)val_length];
                        Console.WriteLine("\t" + so_value.string_val);
                    }
                }
                else
                {
                    so_value.string_val = file.ReadString((int)val_length);
                    string_table.Add(so_value.string_val);
                    Console.WriteLine("\t" + so_value.string_val + " (" + val_length + ")");
                }
            }
            else
            {
                Console.WriteLine("Type not implemented yet: " + so_value.type);
                //Move read position to next item
                while (file.pos < file.file_size)
                {
                    byte next_byte = file.Read8();
                    if (next_byte == 0)
                    {
                        --file.pos;
                        break;
                    }
                }
            }
            so.values.Add(so_value);
            if (file.pos < file.file_size)
            {
                file.Read8();   //Padding
            }
        }
        return(so);
    }
示例#8
0
 public void Populate(string name, SOReader.Sol.AMF.DataType.IAMFBase element)
 {
 }
示例#9
0
        /// <summary>
        /// 新增销售订单
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public int AddSaleOrder(SaleOrder model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into SaleOrder(");
            strSql.Append("SaleOrderID,SaleOrderCode,BillTypeID,MaterialID,SaleUnitID,ClientID,SaleDate,SaleQty,SalePrice,SaleCost,FinishDate,Creator,CreateTime,Editor,EditTime,FirstChecker,FirstCheckTime,FirstCheckView,RoutingID,SaleState,Remark,SecondCheckerName,ReaderName,Routing)");
            strSql.Append(" values (");
            strSql.Append("@SaleOrderID,@SaleOrderCode,@BillTypeID,@MaterialID,@SaleUnitID,@ClientID,@SaleDate,@SaleQty,@SalePrice,@SaleCost,@FinishDate,@Creator,@CreateTime,@Editor,@EditTime,@FirstChecker,@FirstCheckTime,@FirstCheckView,@RoutingID,@SaleState,@Remark,@SecondCheckerName,@ReaderName,@Routing)");
            SqlParameter[] parameters =
            {
                new SqlParameter("@SaleOrderID",       SqlDbType.VarChar,     36),
                new SqlParameter("@SaleOrderCode",     SqlDbType.VarChar,     60),
                new SqlParameter("@BillTypeID",        SqlDbType.VarChar,     36),
                new SqlParameter("@MaterialID",        SqlDbType.VarChar,     36),
                new SqlParameter("@SaleUnitID",        SqlDbType.VarChar,     36),
                new SqlParameter("@ClientID",          SqlDbType.VarChar,     36),
                new SqlParameter("@SaleDate",          SqlDbType.Char,         8),
                new SqlParameter("@SaleQty",           SqlDbType.Decimal,     13),
                new SqlParameter("@SalePrice",         SqlDbType.Decimal,     13),
                new SqlParameter("@SaleCost",          SqlDbType.Decimal,     13),
                new SqlParameter("@FinishDate",        SqlDbType.Char,         8),
                new SqlParameter("@Creator",           SqlDbType.VarChar,     36),
                new SqlParameter("@CreateTime",        SqlDbType.DateTime),
                new SqlParameter("@Editor",            SqlDbType.VarChar,     36),
                new SqlParameter("@EditTime",          SqlDbType.DateTime),
                new SqlParameter("@FirstChecker",      SqlDbType.VarChar,     36),
                new SqlParameter("@FirstCheckTime",    SqlDbType.DateTime),
                new SqlParameter("@FirstCheckView",    SqlDbType.VarChar,    255),
                new SqlParameter("@RoutingID",         SqlDbType.VarChar,     36),
                new SqlParameter("@SaleState",         SqlDbType.Char,         1),
                new SqlParameter("@Remark",            SqlDbType.VarChar,   1024),
                new SqlParameter("@SecondCheckerName", SqlDbType.VarChar,    255),
                new SqlParameter("@ReaderName",        SqlDbType.VarChar,    255),
                new SqlParameter("@Routing",           SqlDbType.VarChar, 1024)
            };
            parameters[0].Value  = model.SaleOrderID;
            parameters[1].Value  = model.SaleOrderCode;
            parameters[2].Value  = model.BillTypeID;
            parameters[3].Value  = model.MaterialID;
            parameters[4].Value  = model.SaleUnitID;
            parameters[5].Value  = model.ClientID;
            parameters[6].Value  = model.SaleDate;
            parameters[7].Value  = model.SaleQty;
            parameters[8].Value  = model.SalePrice;
            parameters[9].Value  = model.SaleCost;
            parameters[10].Value = model.FinishDate;
            parameters[11].Value = model.Creator;
            parameters[12].Value = model.CreateTime;
            parameters[13].Value = model.Editor;
            parameters[14].Value = model.EditTime;
            parameters[15].Value = model.FirstChecker;
            parameters[16].Value = model.FirstCheckTime;
            parameters[17].Value = model.FirstCheckView;
            parameters[18].Value = model.RoutingID;
            parameters[19].Value = model.SaleState;
            parameters[20].Value = model.Remark;
            parameters[21].Value = model.SecondCheckerName;
            parameters[22].Value = model.ReaderName;
            parameters[23].Value = model.Routing;

            IDbTransaction transaction = DBAccess.BeginDbTransaction(DB.Type, DB.ConnectionString);

            try
            {
                DBAccess.ExecuteNonQuery(DB.Type, DB.ConnectionString, CommandType.Text, strSql.ToString(), parameters);

                SOSecondCheckDAL soSC = new SOSecondCheckDAL();
                int socount           = model.SOList.Count;
                if (socount > 0)
                {
                    for (int i = 0; i < socount; i++)
                    {
                        SOSecondCheck sosc = model.SOList[i] as SOSecondCheck;
                        soSC.Add(sosc);
                    }
                }

                SOReaderDAL rSC    = new SOReaderDAL();
                int         rcount = model.RList.Count;
                if (rcount > 0)
                {
                    for (int i = 0; i < rcount; i++)
                    {
                        SOReader sor = model.RList[i] as SOReader;
                        rSC.Add(sor);
                    }
                }

                SaleOrderItemDAL item = new SaleOrderItemDAL();
                item.Save(model.SaleOrderID, model.OldSaleOrderID);

                transaction.Commit();
            }
            catch
            {
                transaction.Rollback();
            }

            return(1);
        }
示例#10
0
        /// <summary>
        /// 修改销售订单
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool UpdateSaleOrder(SaleOrder model)
        {
            StringBuilder strSql = new StringBuilder();;

            strSql.Append("update SaleOrder set ");
            strSql.Append("BillTypeID=@BillTypeID,");
            strSql.Append("MaterialID=@MaterialID,");
            strSql.Append("SaleUnitID=@SaleUnitID,");
            strSql.Append("ClientID=@ClientID,");
            strSql.Append("SaleDate=@SaleDate,");
            strSql.Append("SaleQty=@SaleQty,");
            strSql.Append("SalePrice=@SalePrice,");
            strSql.Append("SaleCost=@SaleCost,");
            strSql.Append("FinishDate=@FinishDate,");
            strSql.Append("Editor=@Editor,");
            strSql.Append("EditTime=@EditTime,");
            strSql.Append("FirstChecker=@FirstChecker,");
            strSql.Append("RoutingID=@RoutingID,");
            strSql.Append("Remark=@Remark,");
            strSql.Append("SecondCheckerName=@SecondCheckerName,");
            strSql.Append("ReaderName=@ReaderName,");
            strSql.Append("Routing=@Routing");
            strSql.Append(" where SaleOrderID=@SaleOrderID ");
            SqlParameter[] parameters =
            {
                new SqlParameter("@BillTypeID",        SqlDbType.VarChar,     36),
                new SqlParameter("@MaterialID",        SqlDbType.VarChar,     36),
                new SqlParameter("@SaleUnitID",        SqlDbType.VarChar,     36),
                new SqlParameter("@ClientID",          SqlDbType.VarChar,     36),
                new SqlParameter("@SaleDate",          SqlDbType.Char,         8),
                new SqlParameter("@SaleQty",           SqlDbType.Decimal,     13),
                new SqlParameter("@SalePrice",         SqlDbType.Decimal,     13),
                new SqlParameter("@SaleCost",          SqlDbType.Decimal,     13),
                new SqlParameter("@FinishDate",        SqlDbType.Char,         8),
                new SqlParameter("@Editor",            SqlDbType.VarChar,     36),
                new SqlParameter("@EditTime",          SqlDbType.DateTime),
                new SqlParameter("@FirstChecker",      SqlDbType.VarChar,     36),
                new SqlParameter("@RoutingID",         SqlDbType.VarChar,     36),
                new SqlParameter("@Remark",            SqlDbType.VarChar,   1024),
                new SqlParameter("@SecondCheckerName", SqlDbType.VarChar,    255),
                new SqlParameter("@ReaderName",        SqlDbType.VarChar,    255),
                new SqlParameter("@Routing",           SqlDbType.VarChar,   1024),
                new SqlParameter("@SaleOrderID",       SqlDbType.VarChar, 36)
            };
            parameters[0].Value  = model.BillTypeID;
            parameters[1].Value  = model.MaterialID;
            parameters[2].Value  = model.SaleUnitID;
            parameters[3].Value  = model.ClientID;
            parameters[4].Value  = model.SaleDate;
            parameters[5].Value  = model.SaleQty;
            parameters[6].Value  = model.SalePrice;
            parameters[7].Value  = model.SaleCost;
            parameters[8].Value  = model.FinishDate;
            parameters[9].Value  = model.Editor;
            parameters[10].Value = model.EditTime;
            parameters[11].Value = model.FirstChecker;
            parameters[12].Value = model.RoutingID;
            parameters[13].Value = model.Remark;
            parameters[14].Value = model.SecondCheckerName;
            parameters[15].Value = model.ReaderName;
            parameters[16].Value = model.Routing;
            parameters[17].Value = model.SaleOrderID;

            IDbTransaction transaction = DBAccess.BeginDbTransaction(DB.Type, DB.ConnectionString);

            try
            {
                DBAccess.ExecuteNonQuery(DB.Type, DB.ConnectionString, CommandType.Text, strSql.ToString(), parameters);

                SOSecondCheckDAL soSC = new SOSecondCheckDAL();
                int socount           = model.SOList.Count;
                if (socount > 0)
                {
                    soSC.Delete(model.SaleOrderID);
                    for (int i = 0; i < socount; i++)
                    {
                        SOSecondCheck sosc = model.SOList[i] as SOSecondCheck;
                        soSC.Add(sosc);
                    }
                }

                SOReaderDAL rSC    = new SOReaderDAL();
                int         rcount = model.RList.Count;
                if (rcount > 0)
                {
                    rSC.Delete(model.SaleOrderID);
                    for (int i = 0; i < rcount; i++)
                    {
                        SOReader sor = model.RList[i] as SOReader;
                        rSC.Add(sor);
                    }
                }

                transaction.Commit();
            }
            catch
            {
                transaction.Rollback();
            }

            return(true);
        }