public static function create(array $data, $place = null) { if ($place == null) { $place = new self(); } if (isset($data['name'])) { $place->setName($data['name']); } if (isset($data['type'])) { $place->setType($data['type']); } if (isset($data['active'])) { $place->setActive($data['active']); } if (isset($data['can_buy'])) { $place->setCanBuy($data['can_buy']); } if (isset($data['position']) && isset($data['position']['latitude']) && isset($data['position']['longitude'])) { $position = new Position($data['position']['latitude'], $data['position']['longitude']); $place->setPosition($position); } if (isset($data['address'])) { $place->setAddress(Address::create($data['address'])); } if (isset($data['contact'])) { $contact = ContactData::create($data['contact']); if ($contact !== null) { $place->setContact($contact); } } if (isset($data['materials'])) { $place->materials = $data['materials']; } $place->date = new \DateTime(); return $place; }
/** * Creation depuis une demande de devis * @todo Create a builder * @deprecated */ public static function createFromAskQuote(AskQuote $askquote) { $quote = new self(); $quote->setCreation(new \DateTime()); if (($door = $askquote->getDoor()) !== null) { $quote->setDoor($door); $quote->setDoorCp($door->toString()); $quote->setVat($door->getSite()->getVat()->getRate()); } else { $site = $askquote->getSite(); $quote->setDoorCp($site->toString()); $quote->setVat($site->getVat()->getRate()); } $quote->setTrustee($trustee = $askquote->getTrustee()); $quote->setTrusteeName($trustee->getName()); $quote->setTrusteeAddress($trustee->getAddress() . ''); $quote->setContact($askquote->getPerson()); $quote->setContactCp($askquote->getPerson() . ''); $quote->setAsk($askquote); return $quote; }