Example #1
0
        public override global::System.Data.DataSet Clone()
        {
            ConsItem cln = ((ConsItem)(base.Clone()));

            cln.InitVars();
            cln.SchemaSerializationMode = this.SchemaSerializationMode;
            return(cln);
        }
Example #2
0
        public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedDataSetSchema(global::System.Xml.Schema.XmlSchemaSet xs)
        {
            ConsItem ds = new ConsItem();

            global::System.Xml.Schema.XmlSchemaComplexType type     = new global::System.Xml.Schema.XmlSchemaComplexType();
            global::System.Xml.Schema.XmlSchemaSequence    sequence = new global::System.Xml.Schema.XmlSchemaSequence();
            global::System.Xml.Schema.XmlSchemaAny         any      = new global::System.Xml.Schema.XmlSchemaAny();
            any.Namespace = ds.Namespace;
            sequence.Items.Add(any);
            type.Particle = sequence;
            global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
            if (xs.Contains(dsSchema.TargetNamespace))
            {
                global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
                global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
                try {
                    global::System.Xml.Schema.XmlSchema schema = null;
                    dsSchema.Write(s1);
                    for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext();)
                    {
                        schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
                        s2.SetLength(0);
                        schema.Write(s2);
                        if ((s1.Length == s2.Length))
                        {
                            s1.Position = 0;
                            s2.Position = 0;
                            for (; ((s1.Position != s1.Length) &&
                                    (s1.ReadByte() == s2.ReadByte()));)
                            {
                                ;
                            }
                            if ((s1.Position == s1.Length))
                            {
                                return(type);
                            }
                        }
                    }
                }
                finally {
                    if ((s1 != null))
                    {
                        s1.Close();
                    }
                    if ((s2 != null))
                    {
                        s2.Close();
                    }
                }
            }
            xs.Add(dsSchema);
            return(type);
        }
Example #3
0
            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs)
            {
                global::System.Xml.Schema.XmlSchemaComplexType type     = new global::System.Xml.Schema.XmlSchemaComplexType();
                global::System.Xml.Schema.XmlSchemaSequence    sequence = new global::System.Xml.Schema.XmlSchemaSequence();
                ConsItem ds = new ConsItem();

                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
                any1.Namespace       = "http://www.w3.org/2001/XMLSchema";
                any1.MinOccurs       = new decimal(0);
                any1.MaxOccurs       = decimal.MaxValue;
                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any1);
                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
                any2.Namespace       = "urn:schemas-microsoft-com:xml-diffgram-v1";
                any2.MinOccurs       = new decimal(1);
                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any2);
                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
                attribute1.Name       = "namespace";
                attribute1.FixedValue = ds.Namespace;
                type.Attributes.Add(attribute1);
                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
                attribute2.Name       = "tableTypeName";
                attribute2.FixedValue = "tbConsItemDataTable";
                type.Attributes.Add(attribute2);
                type.Particle = sequence;
                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
                if (xs.Contains(dsSchema.TargetNamespace))
                {
                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
                    try {
                        global::System.Xml.Schema.XmlSchema schema = null;
                        dsSchema.Write(s1);
                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext();)
                        {
                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
                            s2.SetLength(0);
                            schema.Write(s2);
                            if ((s1.Length == s2.Length))
                            {
                                s1.Position = 0;
                                s2.Position = 0;
                                for (; ((s1.Position != s1.Length) &&
                                        (s1.ReadByte() == s2.ReadByte()));)
                                {
                                    ;
                                }
                                if ((s1.Position == s1.Length))
                                {
                                    return(type);
                                }
                            }
                        }
                    }
                    finally {
                        if ((s1 != null))
                        {
                            s1.Close();
                        }
                        if ((s2 != null))
                        {
                            s2.Close();
                        }
                    }
                }
                xs.Add(dsSchema);
                return(type);
            }
Example #4
0
        //重算

        public static void AgainComp(string strBeginDate, string strEndDate, BusiLog bl)
        {
            //ConnectionPool.IsCenter = false;
            using (SqlConnection conn = ConnectionPool.BorrowConnection())
            {
                //conn.Open();
                SqlTransaction trans = conn.BeginTransaction(IsolationLevel.ReadCommitted);
                try
                {
                    string   strSysTime = SqlHelper.ExecuteScalar(trans, CommandType.Text, "select getdate()").ToString();
                    DateTime dtSysTime  = DateTime.Parse(strSysTime);

                    string    strsql     = "select * from tbConsItem where CONVERT(varchar(10),cndconsdate,121) between '" + strBeginDate + "' and '" + strEndDate + "'";
                    DataTable dtConsItem = SqlHelper.ExecuteDataTable(trans, CommandType.Text, strsql);
                    if (dtConsItem.Rows.Count == 0)
                    {
                        throw new BusinessException("业务异常", "没有需要更新的消费记录!");
                    }
                    strsql = "select * from tbOilPrice where convert(varchar(10),cndpricedate,121) <= '" + strEndDate + "' order by cndPriceDate desc";
                    DataTable dtPrice = SqlHelper.ExecuteDataTable(trans, CommandType.Text, strsql);
                    if (dtPrice.Rows.Count == 0)
                    {
                        throw new BusinessException("业务异常", "没有需要更新的油价!");
                    }
                    foreach (DataRow dr in dtConsItem.Rows)
                    {
                        ConsItem ci = new ConsItem(dr);

                        DataRow[] drPrices = dtPrice.Select("cnvcGoodsName='" + ci.cnvcGoodsName + "' and cnvcGoodsType='" + ci.cnvcGoodsType + "' and cnvcUnit='KG' and cnvcDeptName='" + ci.cnvcDeptName + "' and cndpricedate<= '" + ci.cndConsDate.AddDays(1).ToString("yyyy-MM-dd") + "'", "cndPriceDate desc");
                        if (drPrices.Length == 0)
                        {
                            continue;
                        }
                        OilPrice op   = new OilPrice(drPrices[0]);
                        decimal  dFee = ci.cnnKGCount * op.cnnOilPrice;

                        if (ci.cnnPrice != op.cnnOilPrice && ci.cnnFee != dFee)
                        {
                            ConsItemHis cih = new ConsItemHis(ci.ToTable());
                            cih.cnnSerial    = Guid.NewGuid();
                            cih.cndOperDate  = dtSysTime;
                            cih.cnvcOperName = bl.cnvcOperName;
                            cih.cnvcComments = "|cnnSerial=" + ci.cnnSerial.ToString();


                            ci.cnnPrice     = op.cnnOilPrice;
                            ci.cnnFee       = dFee;
                            ci.cnvcComments = "老油价:" + cih.cnnPrice.ToString() + ",新油价:" + ci.cnnPrice.ToString();

                            decimal dAddFee = cih.cnnFee - dFee;

                            BusiLog busiLog = new BusiLog();
                            busiLog.cndOperDate  = dtSysTime;
                            busiLog.cnnSerial    = Guid.NewGuid();
                            busiLog.cnvcOperName = bl.cnvcOperName;
                            busiLog.cnvcComments = "油价补差充值:" + ci.cnvcCardID + "|" + dAddFee.ToString();
                            busiLog.cnvcDeptID   = bl.cnvcDeptID;
                            busiLog.cnvcDeptName = bl.cnvcDeptName;
                            busiLog.cnvcOperType = "BS012";
                            busiLog.cnvcSource   = "网站";

//							FillFee fee = new FillFee();
//							fee.cndOperDate = dtSysTime;
//							fee.cnnFillFee = dAddFee;
//							fee.cnnSerial = busiLog.cnnSerial;
//							fee.cnvcAcctID = ci.cnvcAcctID;
//							fee.cnvcCompanyID = ci.cnvcCompanyID;
//							fee.cnvcCompanyName = ci.cnvcCompanyName;
//							fee.cnvcDeptID = ci.cnvcDeptID;
//							fee.cnvcDeptName = ci.cnvcDeptName;
//							fee.cnvcOperName = bl.cnvcOperName;

                            SqlHelper.ExecuteNonQuery(trans, CommandType.Text, "update tbMebCompanyPrepay set cnnPrepayFee = cnnPrepayFee+" + dAddFee.ToString() + " where cnvcCompanyID='" + ci.cnvcCompanyID + "'");
                            //EntityMapping.Create(fee,trans);
                            EntityMapping.Create(busiLog, trans);

                            EntityMapping.Create(cih, trans);
                            EntityMapping.Update(ci, trans);
                        }
                    }
                    //日志
                    bl.cnnSerial   = Guid.NewGuid();
                    bl.cndOperDate = dtSysTime;
                    EntityMapping.Create(bl, trans);

                    trans.Commit();
                }
                catch (BusinessException bex)
                {
                    trans.Rollback();
                    LogAdapter.WriteBusinessException(bex);
                    throw bex;
                }
                catch (SqlException sex)
                {
                    trans.Rollback();
                    LogAdapter.WriteDatabaseException(sex);
                    throw sex;
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    LogAdapter.WriteFeaturesException(ex);
                    throw ex;
                }
                finally
                {
                    ConnectionPool.ReturnConnection(conn);
                }
            }
        }