В моем классе определены свойства Nullable, которые участвуют в вычислениях и написании XML. Как вы все знаете, когда в вычислении участвует любое нулевое значение, результат всегда равен нулю. Я объясню это на примере ::
Код для свойств и расчета:
public decimal? Amount { get; set; }
public decimal? VatAmount { get; set; }
public decimal? InvoiceAmount { get; set; }
.
.
public decimal Add()
{
//HERE I NEED 0 TO PERFORM THE CALCULATION
this.InvoiceAmount = this.Amount + this.VatAmount;
return this.InvoiceAmount
}
.
.
public string Insert()
{
XDocument doc1 = XDocument.Load(@"Transactions.xml");
var record = from r in doc1.Descendants("Transaction")
where (int)r.Element("Serial") == Serial
select r;
foreach (XElement r in record)
{
//HERE I WANT NULL VALUES RETAINED
r.Element("DebitNote").Add(new XElement("InvoiceAmount", this.InvoiceAmount), new XElement("VatAmount", this.VatAmount), new XElement("Amount", this.Amount));
}
doc2.Save(@"Transactions.xml");
return "Invoice Created Successfully";
Как вы можете видеть, пока значение Сумма или VatAmount не будет равно нулю, InvoiceAmount всегда будет равно нулю. Как я могу обойти это ?? Одним из возможных решений является установка значения по умолчанию для частной переменной Amount и VatAmount равным 0 . Но с этой настройкой, когда я добавляю запись в xml, значение для Amount и InvoiceAmount будет введено 0; тогда как я хочу сохранить ноль, если в этом случае ничего не введено.
Дайте мне знать, как могут быть выполнены оба условия. Не обязательно писать код, можете сказать мне в общем
Заранее спасибо !!