use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ItemQuantity {
#[serde(rename = "amount")]
pub amount: i32,
#[serde(rename = "unitOfMeasure")]
pub unit_of_measure: UnitOfMeasure,
#[serde(rename = "unitSize", skip_serializing_if = "Option::is_none")]
pub unit_size: Option<i32>,
#[serde(rename = "totalWeight", skip_serializing_if = "Option::is_none")]
pub total_weight: Option<Box<models::vendor_invoices::TotalWeight>>,
}
impl ItemQuantity {
pub fn new(amount: i32, unit_of_measure: UnitOfMeasure) -> ItemQuantity {
ItemQuantity {
amount,
unit_of_measure,
unit_size: None,
total_weight: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum UnitOfMeasure {
#[serde(rename = "Cases")]
Cases,
#[serde(rename = "Eaches")]
Eaches,
}
impl Default for UnitOfMeasure {
fn default() -> UnitOfMeasure {
Self::Cases
}
}