Ejemplo n.º 1
0
        public async Task <IActionResult> UpdateAlias([FromBody] ViewModels.Alias item, string id)
        {
            if (id != null && item.id != null && id != item.id)
            {
                return(BadRequest());
            }

            // get the contact
            Guid aliasId = Guid.Parse(id);

            MicrosoftDynamicsCRMadoxioAlias alias = await _dynamicsClient.GetAliasById(aliasId);

            if (alias == null)
            {
                return(new NotFoundResult());
            }
            MicrosoftDynamicsCRMadoxioAlias patchAlias = new MicrosoftDynamicsCRMadoxioAlias();

            patchAlias.CopyValues(item);
            try
            {
                await _dynamicsClient.Aliases.UpdateAsync(aliasId.ToString(), patchAlias);
            }
            catch (HttpOperationException httpOperationException)
            {
                _logger.LogError(httpOperationException, "Error updating contact");
            }

            alias = await _dynamicsClient.GetAliasById(aliasId);

            return(new JsonResult(alias.ToViewModel()));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> CreateAlias([FromBody] ViewModels.Alias item)
        {
            if (item?.contact?.id == null || item?.worker?.id == null)
            {
                return(BadRequest());
            }

            // for association with current user
            string       userJson     = _httpContextAccessor.HttpContext.Session.GetString("UserSettings");
            UserSettings userSettings = JsonConvert.DeserializeObject <UserSettings>(userJson);

            MicrosoftDynamicsCRMadoxioAlias alias = new MicrosoftDynamicsCRMadoxioAlias();

            // copy received values to Dynamics Application
            alias.CopyValues(item);
            try
            {
                alias = _dynamicsClient.Aliases.Create(alias);
            }
            catch (OdataerrorException odee)
            {
                _logger.LogError("Error creating application");
                _logger.LogError("Request:");
                _logger.LogError(odee.Request.Content);
                _logger.LogError("Response:");
                _logger.LogError(odee.Response.Content);
                // fail if we can't create.
                throw (odee);
            }


            MicrosoftDynamicsCRMadoxioAlias patchAlias = new MicrosoftDynamicsCRMadoxioAlias();

            // set contact and worker associations
            try
            {
                var worker = _dynamicsClient.GetWorkerById(Guid.Parse(item.worker.id));
                patchAlias.WorkerIdODataBind = _dynamicsClient.GetEntityURI("adoxio_workers", item.worker.id);

                var contact = _dynamicsClient.GetContactById(Guid.Parse(item.contact.id));
                patchAlias.ContactIdODataBind = _dynamicsClient.GetEntityURI("contacts", item.contact.id);

                await _dynamicsClient.Aliases.UpdateAsync(alias.AdoxioAliasid, patchAlias);
            }
            catch (OdataerrorException odee)
            {
                _logger.LogError("Error updating application");
                _logger.LogError("Request:");
                _logger.LogError(odee.Request.Content);
                _logger.LogError("Response:");
                _logger.LogError(odee.Response.Content);
                // fail if we can't create.
                throw (odee);
            }

            return(Json(alias.ToViewModel()));
        }
        public async Task <IActionResult> CreateAlias([FromBody] ViewModels.Alias item)
        {
            if (item?.contact?.id == null || item?.worker?.id == null)
            {
                return(BadRequest());
            }

            // get the current user.
            UserSettings userSettings = UserSettings.CreateFromHttpContext(_httpContextAccessor);

            MicrosoftDynamicsCRMadoxioAlias alias = new MicrosoftDynamicsCRMadoxioAlias();

            // copy received values to Dynamics Application
            alias.CopyValues(item);
            try
            {
                alias = _dynamicsClient.Aliases.Create(alias);
            }
            catch (HttpOperationException httpOperationException)
            {
                _logger.LogError(httpOperationException, "Error creating application");
                // fail if we can't create.
                throw (httpOperationException);
            }


            MicrosoftDynamicsCRMadoxioAlias patchAlias = new MicrosoftDynamicsCRMadoxioAlias();

            // set contact and worker associations
            try
            {
                var worker = _dynamicsClient.GetWorkerById(Guid.Parse(item.worker.id));
                patchAlias.WorkerIdODataBind = _dynamicsClient.GetEntityURI("adoxio_workers", item.worker.id);

                var contact = _dynamicsClient.GetContactById(Guid.Parse(item.contact.id));
                patchAlias.ContactIdODataBind = _dynamicsClient.GetEntityURI("contacts", item.contact.id);

                await _dynamicsClient.Aliases.UpdateAsync(alias.AdoxioAliasid, patchAlias);
            }
            catch (HttpOperationException httpOperationException)
            {
                _logger.LogError(httpOperationException, "Error updating application");
                // fail if we can't create.
                throw (httpOperationException);
            }

            return(new JsonResult(alias.ToViewModel()));
        }
        private async Task <IActionResult> CreateAlias(ViewModels.Alias item, string contactId)
        {
            if (item == null || String.IsNullOrEmpty(contactId))
            {
                return(BadRequest());
            }

            // for association with current user
            string       userJson     = _httpContextAccessor.HttpContext.Session.GetString("UserSettings");
            UserSettings userSettings = JsonConvert.DeserializeObject <UserSettings>(userJson);

            MicrosoftDynamicsCRMadoxioAlias alias = new MicrosoftDynamicsCRMadoxioAlias();

            // copy received values to Dynamics Application
            alias.CopyValues(item);
            try
            {
                alias = _dynamicsClient.Aliases.Create(alias);
            }
            catch (HttpOperationException httpOperationException)
            {
                _logger.LogError(httpOperationException, "Error creating application");
                // fail if we can't create.
                throw;
            }


            MicrosoftDynamicsCRMadoxioAlias patchAlias = new MicrosoftDynamicsCRMadoxioAlias();

            // set contact association
            try
            {
                patchAlias.ContactIdODataBind = _dynamicsClient.GetEntityURI("contacts", contactId);

                await _dynamicsClient.Aliases.UpdateAsync(alias.AdoxioAliasid, patchAlias);
            }
            catch (HttpOperationException httpOperationException)
            {
                _logger.LogError(httpOperationException, "Error updating application");
                // fail if we can't create.
                throw;
            }

            return(new JsonResult(alias.ToViewModel()));
        }
        private async Task <IActionResult> CreateAlias(ViewModels.Alias item, string contactId)
        {
            if (item == null || string.IsNullOrEmpty(contactId))
            {
                return(BadRequest());
            }


            var alias = new MicrosoftDynamicsCRMadoxioAlias();

            // copy received values to Dynamics Application
            alias.CopyValues(item);
            try
            {
                alias = _dynamicsClient.Aliases.Create(alias);
            }
            catch (HttpOperationException httpOperationException)
            {
                _logger.LogError(httpOperationException, "Error creating application");
                // fail if we can't create.
                throw;
            }


            var patchAlias = new MicrosoftDynamicsCRMadoxioAlias();

            // set contact association
            try
            {
                patchAlias.ContactIdODataBind = _dynamicsClient.GetEntityURI("contacts", contactId);

                await _dynamicsClient.Aliases.UpdateAsync(alias.AdoxioAliasid, patchAlias);
            }
            catch (HttpOperationException httpOperationException)
            {
                _logger.LogError(httpOperationException, "Error updating application");
                // fail if we can't create.
                throw;
            }

            return(new JsonResult(alias.ToViewModel()));
        }