/// <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));
        }
Ejemplo n.º 5
0
 /// <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));
 }
Ejemplo n.º 6
0
        /// <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);
        }
Ejemplo n.º 7
0
 /// <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));
 }