Subversion-Projekte lars-tiefland.prado

Revision

Blame | Letzte Änderung | Log anzeigen | RSS feed

<?php

Prado::using('Example.Person');

class crud2 extends TPage
{
        private function sqlmap()
        {
                return $this->Application->Modules['person-sample']->Client;
        }

        private function loadData()
        {
                $this->personList->DataSource =  $this->sqlmap()->queryForList('SelectAll');
                $this->personList->dataBind();
        }

        public function onLoad($param)
        {
                if(!$this->IsPostBack)
                        $this->loadData();
        }

        protected function editPerson($sender,$param)
        {
                $this->personList->EditItemIndex=$param->Item->ItemIndex;
                $this->loadData();
        }

        protected function deletePerson($sender, $param)
        {
                $id = $this->getKey($sender, $param);

                $this->sqlmap()->update("Delete", $id);
                $this->loadData();
        }

        protected function updatePerson($sender, $param)
        {
                $person = new Person();
                $person->FirstName = $this->getText($param, 0);
                $person->LastName = $this->getText($param, 1);
                $person->HeightInMeters = $this->getText($param, 2);
                $person->WeightInKilograms = $this->getText($param, 3);
                $person->ID = $this->getKey($sender, $param);

                $this->sqlmap()->update("Update", $person);
                $this->refreshList($sender, $param);
        }

        protected function addNewPerson($sender, $param)
        {
                $person = new Person;
                $person->FirstName = "-- New Person --";
                $this->sqlmap()->insert("Insert", $person);

                $this->loadData();;
        }

        protected function refreshList($sender, $param)
        {
                $this->personList->EditItemIndex=-1;
                $this->loadData();
        }

        private function getText($param, $index)
        {
                $item = $param->Item;
                return $item->Cells[$index]->Controls[0]->Text;
        }

        private function getKey($sender, $param)
        {
                return $sender->DataKeys[$param->Item->DataSourceIndex];
        }
}

?>