/// <summary> /// Fetches a User object by its BaseId /// </summary> /// <param name="authToken">AuthorizationToken to use</param> /// <param name="userId">User BaseId</param> /// <returns></returns> public static async Task <User> GetUserById(AuthorizationToken authToken, Guid userId) { if (!authToken.IsValid) { throw new InvalidCredentialException("AuthorizationToken is not valid."); } return(await TypeProjectionController.GetByBaseId <User>(authToken, userId)); }
/// <summary> /// Creates a new blank PurchaseOrder /// </summary> /// <param name="authToken">AuthorizationToken to use</param> /// <param name="name">Name of the PurchaseOrder</param> /// <param name="displayName">DisplayName of the PurchaseOrder</param> /// <param name="orderNumber">PurchaseOrder number</param> /// <param name="date">PurchaseOrder date</param> /// <returns></returns> public static async Task <PurchaseOrder> Create(AuthorizationToken authToken, string name, string displayName, string orderNumber, DateTime date) { dynamic extraProps = new { PurchaseOrderNumber = orderNumber, PurchaseOrderDate = date }; return(await TypeProjectionController.CreateBlankObject <PurchaseOrder>(authToken, name, displayName, extraProps)); }
/// <summary> /// Queries the Cireson Portal for objects using specified criteria. /// </summary> /// <param name="authToken">AuthenticationToken to use</param> /// <param name="criteria">QueryCriteria rules</param> /// <param name="excludeInactive">If true, exclude items pending deletion.</param> /// <returns>List of ConfigurationItems</returns> internal static async Task <List <T> > GetByCriteria <T>(AuthorizationToken authToken, QueryCriteria criteria, bool excludeInactive = true) where T : ConfigurationItem { List <T> itemList = await TypeProjectionController.GetByCriteria <T>(authToken, criteria); if (excludeInactive) { itemList.RemoveAll(item => item.IsActive == false); } return(itemList); }
/// <summary> /// Creates a new HardwareAsset with the specified parameters. /// </summary> /// <param name="authToken">AuthorizationToken to use</param> /// <param name="model">Model of the asset</param> /// <param name="manufacturer">Manufacturer of the asset</param> /// <param name="assetTag">Asset tag</param> /// <param name="serialNumber">Asset's serial number</param> /// <returns></returns> public static async Task <HardwareAsset> Create(AuthorizationToken authToken, string model, string manufacturer, string assetTag, string serialNumber) { dynamic extraProps = new { Model = model, Manufacturer = manufacturer, AssetTag = assetTag, SerialNumber = serialNumber, HardwareAssetID = assetTag }; return(await TypeProjectionController.CreateBlankObject <HardwareAsset>(authToken, assetTag, assetTag, extraProps)); }
/// <summary> /// Gets a list of Incidents based on the supplied criteria /// </summary> /// <param name="authToken">AuthorizationToken to use</param> /// <param name="criteria">QueryCriteria to search for</param> /// <returns></returns> public static async Task <List <Incident> > GetByCriteria(AuthorizationToken authToken, QueryCriteria criteria) { criteria.ProjectionID = TypeProjectionConstants.Incident.Id; return(await TypeProjectionController.GetByCriteria <Incident>(authToken, criteria)); }
/// <summary> /// Creates a new Incident based on the supplied Template ID /// </summary> /// <param name="authToken">AuthorizationToken to use</param> /// <param name="templateId">TemplateID to use</param> /// <param name="userId">ID of the user creating the Incident</param> /// <returns></returns> public static async Task <Incident> Create(AuthorizationToken authToken, Guid templateId, Guid userId) { TypeProjection projection = await TypeProjectionController.CreateObjectFromTemplate <Incident>(authToken, templateId, userId); return((Incident)projection); }
/// <summary> /// Creates a new blank Location /// </summary> /// <param name="authToken">AuthorizationToken to use</param> /// <param name="name">Name of the Location</param> /// <param name="displayName">DisplayName of the Location</param> /// <returns></returns> public static async Task <Location> Create(AuthorizationToken authToken, string name, string displayName) { return(await TypeProjectionController.CreateBlankObject <Location>(authToken, name, displayName)); }