Пример #1
0
        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
                    });
                }
            }
        }
Пример #2
0
        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
                    });
                }
            }
        }