private static ObservableCollection <ManningTableEntry> GetManningTable() { ObservableCollection <ManningTableEntry> manningTable = new ObservableCollection <ManningTableEntry>(); SqlConnection connection = new SqlConnection(ConnectionManager.GetConnectionString()); using (SqlCommand cmd = new SqlCommand()) { cmd.Connection = connection; cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "sp_Read_Manning_Table"; connection.Open(); using (SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection)) { while (reader.Read()) { ManningTableEntry entry = new ManningTableEntry(); entry.Id = reader.GetInt32(0); entry.Division = DivisionRepository.AllDivisions.First(x => x.Id == reader.GetInt32(1)); entry.Rate = RateRepository.AllRates.First(x => x.Id == reader.GetInt32(2)); entry.HeadCount = reader.GetInt32(3); manningTable.Add(entry); } } } return(manningTable); }
private static void DeleteEntries(ManningTableEntry entry, SqlConnection connection) { using (SqlCommand cmd = new SqlCommand()) { cmd.Connection = connection; cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "sp_Remove_ManningTableEntry"; cmd.Parameters.AddWithValue("Id", entry.Id); cmd.ExecuteNonQuery(); } }
/// <summary> /// Конструктор, принимающий запись штатного расписания /// Если запись пустая (null), он помечает _isNewEntry как true /// </summary> /// <param name="entry"></param> public ManningTableEntryViewModel(ManningTableEntry entry) { if (entry != null) { SelectedDivision = entry.Division; SelectedRate = entry.Rate; HeadCount = entry.HeadCount; ManningTableEntry = entry; } else { _isNewEntry = true; //ManningTableEntry = new ManningTableEntry(); } }
private void ExecuteSaveCommand(object parameter) { if (_isNewEntry) { ManningTableEntry = new ManningTableEntry(); } ManningTableEntry.Division = SelectedDivision; ManningTableEntry.Rate = SelectedRate; ManningTableEntry.HeadCount = HeadCount; var window = parameter as IClosableDialog; if (window != null) { window.DialogResult = true; } CloseWindow(window); }
private static void SaveOrUpdateEntry(ManningTableEntry entry, SqlConnection connection) { using (SqlCommand cmd = new SqlCommand()) { cmd.Connection = connection; cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "sp_SaveOrUpdate_Manning_Table"; cmd.Parameters.AddWithValue("Id", entry.Id); cmd.Parameters.AddWithValue("Id_Division", entry.Division.Id); cmd.Parameters.AddWithValue("Id_Rate", entry.Rate.Id); cmd.Parameters.AddWithValue("Head_Count", entry.HeadCount); var returnParameter = cmd.Parameters.Add("@ReturnVal", SqlDbType.Int); returnParameter.Direction = ParameterDirection.ReturnValue; cmd.ExecuteNonQuery(); entry.Id = Convert.ToInt32(returnParameter.Value); } }