//---------------------------------------------------------------------
        public SpecialtiesEntity ReadOneById(int _id)
        {
            SpecialtiesEntity _specialty = new SpecialtiesEntity();
            const string      _procedure = "READ_Specialties_one";

            var(_connection, _command, _transaction) = new ConnectionManager().CreateConnection(_procedure);
            _command.Parameters.Add(new SqlParameter("@_id", _id));

            using (_connection)
            {
                try
                {
                    using (SqlDataReader _dataReader = _command.ExecuteReader())
                    {
                        while (_dataReader.Read())
                        {
                            _specialty.Id   = _dataReader.GetInt32("id");
                            _specialty.Name = _dataReader.GetString("name");
                        }
                        _dataReader.Close();
                        //_transaction.Commit();
                    }
                }
                catch (Exception ex)
                {
                    Debug.Write(ex.Message);
                    //_transaction.Rollback();
                }
            }
            return(_specialty);
        }
        public IEnumerable <SpecialtiesEntity> ReadAll()
        {
            List <SpecialtiesEntity> specialties = new List <SpecialtiesEntity>();
            const string             _procedure  = "READ_Specialties";

            var(_connection, _command, _transaction) = new ConnectionManager().CreateConnection(_procedure);

            using (_connection)
            {
                try
                {
                    using (SqlDataReader _dataReader = _command.ExecuteReader())
                    {
                        while (_dataReader.Read())
                        {
                            SpecialtiesEntity _specialty = new SpecialtiesEntity
                            {
                                Id   = _dataReader.GetInt32("id"),
                                Name = _dataReader.GetString("name"),
                            };

                            specialties.Add(_specialty);
                        }
                        _dataReader.Close();
                        //_transaction.Commit();
                    }
                }
                catch (Exception ex)
                {
                    Debug.Write(ex.Message);
                    //_transaction.Rollback();
                }
            }
            return(specialties);
        }
        public void AddSpecialty(SpecialtiesViewModel _specialty)
        {
            SpecialtiesEntity specialty = new SpecialtiesEntity();

            specialty.Id   = _specialty.Id;
            specialty.Name = _specialty.Name;

            new SpecialtiesRepository().Insert(specialty);
        }
        //---------------------------------------------------------------------
        public SpecialtiesEntity Insert(SpecialtiesEntity _specialty)
        {
            string _procedure = "CEX_Specialties";

            var(_connection, _command, _transaction) = new ConnectionManager().CreateConnection(_procedure);
            _command.Parameters.Add(new SqlParameter("@_name", _specialty.Name));

            new ConnectionManager().ExecuteNonQuery(_connection, _command, _transaction);
            return(_specialty);
        }
        public SpecialtiesViewModel UpdateSpecialty(SpecialtiesViewModel _specialty)
        {
            SpecialtiesEntity upd_specialty = new SpecialtiesEntity()
            {
                Id   = _specialty.Id,
                Name = _specialty.Name
            };

            new SpecialtiesRepository().Update(upd_specialty.Id, upd_specialty);

            return(this.ReadOneSpecialty(_specialty.Id));
        }