/// <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); }
/// <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; }