protected override void populate(SQLiteDataReader reader) { WriteoffDetails writeoffDetails = new WriteoffDetails(); writeoffDetails.Id = reader.GetInt32(0); writeoffDetails.DetailsCount = reader.GetInt32(1); writeoffDetails.IdDetails = reader.GetInt32(2); writeoffDetails.IdWriteoff = reader.GetInt32(3); add(writeoffDetails); }
public bool add <T>(T model) { try { WriteoffDetails writeoffDetails = model as WriteoffDetails; _collection.Add(writeoffDetails); return(true); } catch (Exception ex) { Log.WriteError(ex.Message); return(false); } }
public bool remove <T>(T model) { try { WriteoffDetails writeoffDetails = model as WriteoffDetails; if (_collection.Contains(writeoffDetails)) { _collection.Remove(writeoffDetails); } return(true); } catch (Exception ex) { Log.WriteError(ex.Message); return(false); } }
private void saveWriteoff() { if (cbxRecipients.SelectedIndex == -1) { System.Windows.MessageBox.Show("Выберите получателя!"); return; } if (tbxAppNumber.Text == "") { System.Windows.MessageBox.Show("Введите номер заявки!"); return; } if (wodh_collection.Collection.Count == 0) { System.Windows.MessageBox.Show("Невозможно сохранить пустое списание!"); return; } if (System.Windows.MessageBox.Show("Подтвердите списание", "Подтвердите списание", MessageBoxButton.YesNo) != MessageBoxResult.Yes) { return; } if (!wodh_collection.isAllCorrect()) { System.Windows.MessageBox.Show("Проверьте введенные данные!\nОдна или более строк заполнены некорректно!"); return; } Writeoff writeoff = new Writeoff(); writeoff.WriteoffDate = DateTime.Now; writeoff.AppNumber = tbxAppNumber.Text; writeoff.IdRecipient = (int)cbxRecipients.SelectedValue; if (writeoff.save()) { for (int i = 0; i < wodh_collection.Collection.Count; i++) { WriteoffDetailsHelper wodh = wodh_collection.Collection[i]; if (wodh.IdDetails == 0) { continue; } WriteoffDetails writeoffDetails = new WriteoffDetails(); writeoffDetails.IdDetails = wodh.IdDetails; writeoffDetails.IdWriteoff = writeoff.Id; writeoffDetails.DetailsCount = wodh.DetailsCount; if (!writeoffDetails.save()) { System.Windows.MessageBox.Show("При сохранении элементов списания произошли ошибки."); writeoff.remove(); return; } } ///Update current count //wodh_collection.Collection.Count-1 - т.к. последняя строка пустая for (int i = 0; i < wodh_collection.Collection.Count - 1; i++) { wodh_collection.Collection[i].Detail.CurrentCount = 0; } wodh_collection.clear(); cbxRecipients.SelectedIndex = -1; tbxAppNumber.Text = ""; WriteoffDetailsHelper newWriteoffDetailsHelper = new WriteoffDetailsHelper(); wodh_collection.add(newWriteoffDetailsHelper); } else { System.Windows.MessageBox.Show("При сохранении списания произошли ошибки."); return; } }