private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e) { var columnDataPropName = dataGridView1.Columns[e.ColumnIndex].DataPropertyName; if ((columnDataPropName == "FlatNumber" || columnDataPropName == "MeterReading") && e.RowIndex >= 0) { var row = dataGridView1.Rows[e.RowIndex]; var cellValue = row.Cells[e.ColumnIndex].Value; var backColor = cellValue == null ? Color.Red : Color.Green; row.DefaultCellStyle.BackColor = backColor; var dataItem = row.DataBoundItem as MeterReadingMessage; _repository.Update(dataItem); if (columnDataPropName == "FlatNumber" && !string.IsNullOrEmpty((string)cellValue)) { var mailSender = (string)row.Cells["senderAddressDataGridViewTextBoxColumn"].Value; _repository.Upsert(new SenderFlat { Sender = mailSender, FlatNumber = (string)cellValue }); } } }
private void Inbox_OnNewMessagesArrived(object sender, IdleEventArgs e) { foreach (var message in e.Messages.OrderByDescending(m => m.Date ?? DateTime.Now)) { var date = message.Date ?? DateTime.Now; var from = message.From.Address; var msgSubject = message.Subject; var msgBody = message.Body.Text; var processedMessage = _messageProcessor.Process(date, from, msgSubject, msgBody); _meterReadingMessages.Insert(0, processedMessage); _appEntitiesRepo.Insert(processedMessage); if (!string.IsNullOrEmpty(processedMessage.FlatNumber)) { _appEntitiesRepo.Upsert(new SenderFlat { Sender = processedMessage.SenderAddress, FlatNumber = processedMessage.FlatNumber }); } } }