public async Task <IActionResult> GetLicenceEvent(string id)
        {
            if (string.IsNullOrEmpty(id))
            {
                return(BadRequest());
            }

            MicrosoftDynamicsCRMadoxioEvent dynamicsEvent;
            MicrosoftDynamicsCRMadoxioEventscheduleCollection dynamicsEventScheduleCollection;

            try
            {
                dynamicsEvent = _dynamicsClient.GetEventByIdWithChildren(id);
                // dynamicsEventScheduleCollection = _dynamicsClient.GetEventSchedulesByEventId(id);
            }
            catch (HttpOperationException ex)
            {
                _logger.LogError(ex, "Error retrieving Event");
                return(new NotFoundResult());
            }

            if (dynamicsEvent == null || !CurrentUserHasAccessToEventOwnedBy(dynamicsEvent.AdoxioAccount.Accountid))
            {
                return(new NotFoundResult());
            }

            LicenceEvent result = dynamicsEvent.ToViewModel(_dynamicsClient);

            return(new JsonResult(result));
        }
Beispiel #2
0
        public static void CreateEntitySharePointDocumentLocation(this IDynamicsClient _dynamicsClient, string entityName, string entityId, string folderName, string name)
        {
            switch (entityName.ToLower())
            {
            case "account":
                var account = _dynamicsClient.GetAccountById(entityId);
                _dynamicsClient.CreateAccountDocumentLocation(account, folderName, name);
                break;

            case "application":
                var application = _dynamicsClient.GetApplicationByIdWithChildren(entityId).GetAwaiter().GetResult();
                _dynamicsClient.CreateApplicationDocumentLocation(application, folderName, name);
                break;

            case "contact":
                var contact = _dynamicsClient.GetContactById(entityId).GetAwaiter().GetResult();
                _dynamicsClient.CreateContactDocumentLocation(contact, folderName, name);
                break;

            case "worker":
                var worker = _dynamicsClient.GetWorkerByIdWithChildren(entityId).GetAwaiter().GetResult();
                _dynamicsClient.CreateWorkerDocumentLocation(worker, folderName, name);
                break;

            case "event":
                var eventEntity = _dynamicsClient.GetEventByIdWithChildren(entityId);
                _dynamicsClient.CreateEventDocumentLocation(eventEntity, folderName, name);
                break;

            case "licence":
                var licenceEntity = _dynamicsClient.GetLicenceByIdWithChildren(entityId);
                _dynamicsClient.CreateLicenceDocumentLocation(licenceEntity, folderName, name);
                break;
            }
        }
Beispiel #3
0
        /// <summary>
        /// Returns the SharePoint document Location for a given entity record
        /// </summary>
        /// <param name="entityName"></param>
        /// <param name="entityId"></param>
        /// <returns></returns>
        public static string GetEntitySharePointDocumentLocation(this IDynamicsClient _dynamicsClient, string entityName, string entityId)
        {
            string result = null;
            var    id     = Guid.Parse(entityId);

            try
            {
                switch (entityName.ToLower())
                {
                case "account":
                    var account         = _dynamicsClient.GetAccountById(entityId);
                    var accountLocation = account.AccountSharepointDocumentLocation.FirstOrDefault();
                    if (accountLocation != null && !string.IsNullOrEmpty(accountLocation.Relativeurl))
                    {
                        result = accountLocation.Relativeurl;
                    }
                    break;

                case "application":
                    var application         = _dynamicsClient.GetApplicationByIdWithChildren(entityId).GetAwaiter().GetResult();
                    var applicationLocation = application.AdoxioApplicationSharePointDocumentLocations.FirstOrDefault();
                    if (applicationLocation != null && !string.IsNullOrEmpty(applicationLocation.Relativeurl))
                    {
                        result = applicationLocation.Relativeurl;
                    }
                    break;

                case "contact":
                    var contact         = _dynamicsClient.GetContactById(entityId).GetAwaiter().GetResult();
                    var contactLocation = contact.ContactSharePointDocumentLocations.FirstOrDefault();
                    if (contactLocation != null && !string.IsNullOrEmpty(contactLocation.Relativeurl))
                    {
                        result = contactLocation.Relativeurl;
                    }
                    break;

                case "worker":
                    var worker         = _dynamicsClient.GetWorkerByIdWithChildren(entityId).GetAwaiter().GetResult();
                    var workerLocation = worker.AdoxioWorkerSharePointDocumentLocations.FirstOrDefault();
                    if (workerLocation != null && !string.IsNullOrEmpty(workerLocation.Relativeurl))
                    {
                        result = workerLocation.Relativeurl;
                    }
                    break;

                case "event":
                    var eventEntity   = _dynamicsClient.GetEventByIdWithChildren(entityId);
                    var eventLocation = eventEntity.AdoxioEventSharePointDocumentLocations.FirstOrDefault();
                    if (eventLocation != null && !string.IsNullOrEmpty(eventLocation.Relativeurl))
                    {
                        result = eventLocation.Relativeurl;
                    }
                    break;

                case "licence":
                    var licenceEntity   = _dynamicsClient.GetLicenceByIdWithChildren(entityId);
                    var licenceLocation = licenceEntity.AdoxioLicencesSharePointDocumentLocations.FirstOrDefault();
                    if (licenceLocation != null && !string.IsNullOrEmpty(licenceLocation.Relativeurl))
                    {
                        result = licenceLocation.Relativeurl;
                    }
                    break;
                }
            }
            catch (ArgumentNullException)
            {
                return(null);
            }
            return(result);
        }