コード例 #1
0
        /// <summary>
        /// BsonDocument转实体对象
        /// </summary>
        /// <param name="doc">Bson文档</param>
        /// <returns></returns>
        protected override ElectricExpense DocToEntity(BsonDocument doc)
        {
            ElectricExpense entity = new ElectricExpense();

            entity.Id            = doc["_id"].ToString();
            entity.AccountId     = doc["accountId"].ToString();
            entity.FeeType       = doc["feeType"].ToInt32();
            entity.BelongDate    = doc["belongDate"].ToLocalTime();
            entity.TicketDate    = doc["ticketDate"].ToLocalTime();
            entity.TotalQuantity = doc["totalQuantity"].ToDecimal();
            entity.TotalAmount   = doc["totalAmount"].ToDecimal();
            entity.TotalPrize    = doc["totalPrize"].ToDecimal();

            entity.Records = new List <ElectricExpenseRecord>();
            if (doc.Contains("records"))
            {
                BsonArray array = doc["records"].AsBsonArray;
                foreach (BsonDocument item in array)
                {
                    ElectricExpenseRecord record = new ElectricExpenseRecord();
                    record.MeterNumber = item["meterNumber"].ToString();
                    record.MeterName   = item["meterName"].ToString();
                    record.FeeType     = item["feeType"].ToInt32();
                    record.Previous    = item["previous"].ToDecimal();
                    record.Current     = item["current"].ToDecimal();
                    record.Multiple    = item["multiple"].ToDecimal();
                    record.Quantity    = item["quantity"].ToDecimal();
                    record.UnitPrice   = item["unitPrice"].ToDecimal();
                    record.Amount      = item["amount"].ToDecimal();
                    record.Prize       = item["prize"].ToDecimal();
                    record.Remark      = item["remark"].ToString();

                    entity.Records.Add(record);
                }
            }

            var createBy = doc["createBy"].ToBsonDocument();

            entity.CreateBy = new UpdateStamp
            {
                UserId = createBy["userId"].ToString(),
                Name   = createBy["name"].ToString(),
                Time   = createBy["time"].ToLocalTime()
            };

            var updateBy = doc["updateBy"].ToBsonDocument();

            entity.UpdateBy = new UpdateStamp
            {
                UserId = updateBy["userId"].ToString(),
                Name   = updateBy["name"].ToString(),
                Time   = updateBy["time"].ToLocalTime()
            };

            entity.Remark = doc["remark"].ToString();
            entity.Status = doc["status"].ToInt32();

            return(entity);
        }
コード例 #2
0
        /// <summary>
        /// 初始化支出记录,关联电表
        /// </summary>
        private void InitRecords()
        {
            List <ElectricExpenseRecord> records = new List <ElectricExpenseRecord>();

            foreach (var item in this.currentAccount.ElectricMeters)
            {
                ElectricExpenseRecord record = new ElectricExpenseRecord();
                record.MeterName   = item.Name;
                record.MeterNumber = item.Number;
                record.Multiple    = item.Multiple;

                records.Add(record);
            }

            this.expenseGrid.DataSource = records;
        }