示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#5
0
        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);
            }
        }