pub struct VendorNetwork {
pub company_code: String,
pub relationships: HashMap<String, VendorRelationship>,
pub tier1_vendors: Vec<String>,
pub tier2_vendors: Vec<String>,
pub tier3_vendors: Vec<String>,
pub created_date: Option<NaiveDate>,
pub statistics: NetworkStatistics,
}Expand description
Multi-tier vendor network for a company.
Fields§
§company_code: StringCompany code owning this network
relationships: HashMap<String, VendorRelationship>All vendor relationships
tier1_vendors: Vec<String>Tier 1 vendor IDs
tier2_vendors: Vec<String>Tier 2 vendor IDs
tier3_vendors: Vec<String>Tier 3 vendor IDs
created_date: Option<NaiveDate>Network creation date
statistics: NetworkStatisticsNetwork statistics
Implementations§
Source§impl VendorNetwork
impl VendorNetwork
Sourcepub fn add_relationship(&mut self, relationship: VendorRelationship)
pub fn add_relationship(&mut self, relationship: VendorRelationship)
Add a vendor relationship.
Sourcepub fn get_relationship(&self, vendor_id: &str) -> Option<&VendorRelationship>
pub fn get_relationship(&self, vendor_id: &str) -> Option<&VendorRelationship>
Get a relationship by vendor ID.
Sourcepub fn get_relationship_mut(
&mut self,
vendor_id: &str,
) -> Option<&mut VendorRelationship>
pub fn get_relationship_mut( &mut self, vendor_id: &str, ) -> Option<&mut VendorRelationship>
Get a mutable relationship by vendor ID.
Sourcepub fn vendors_in_tier(&self, tier: SupplyChainTier) -> Vec<&VendorRelationship>
pub fn vendors_in_tier(&self, tier: SupplyChainTier) -> Vec<&VendorRelationship>
Get all vendors in a tier.
Sourcepub fn get_children(&self, vendor_id: &str) -> Vec<&VendorRelationship>
pub fn get_children(&self, vendor_id: &str) -> Vec<&VendorRelationship>
Get child vendors (Tier N+1) of a given vendor.
Sourcepub fn get_parent(&self, vendor_id: &str) -> Option<&VendorRelationship>
pub fn get_parent(&self, vendor_id: &str) -> Option<&VendorRelationship>
Get parent vendor (Tier N-1) of a given vendor.
Sourcepub fn calculate_statistics(&mut self, as_of: NaiveDate)
pub fn calculate_statistics(&mut self, as_of: NaiveDate)
Calculate network statistics.
Trait Implementations§
Source§impl Clone for VendorNetwork
impl Clone for VendorNetwork
Source§fn clone(&self) -> VendorNetwork
fn clone(&self) -> VendorNetwork
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for VendorNetwork
impl Debug for VendorNetwork
Source§impl Default for VendorNetwork
impl Default for VendorNetwork
Source§fn default() -> VendorNetwork
fn default() -> VendorNetwork
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for VendorNetwork
impl<'de> Deserialize<'de> for VendorNetwork
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for VendorNetwork
impl RefUnwindSafe for VendorNetwork
impl Send for VendorNetwork
impl Sync for VendorNetwork
impl Unpin for VendorNetwork
impl UnwindSafe for VendorNetwork
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more