public async Task <IActionResult> CreateEstablishment([FromBody] ViewModels.AdoxioEstablishment item) { // create a new legal entity. MicrosoftDynamicsCRMadoxioEstablishment adoxio_establishment = new MicrosoftDynamicsCRMadoxioEstablishment(); // copy received values to Dynamics LegalEntity adoxio_establishment.CopyValues(item); try { adoxio_establishment = await _dynamicsClient.Establishments.CreateAsync(adoxio_establishment); } catch (OdataerrorException odee) { _logger.LogError("Error creating establishment"); _logger.LogError("Request:"); _logger.LogError(odee.Request.Content); _logger.LogError("Response:"); _logger.LogError(odee.Response.Content); throw new Exception("Unable to create establishment"); } ViewModels.AdoxioEstablishment result = adoxio_establishment.ToViewModel(); return(Json(result)); }
public async Task <IActionResult> UpdateEstablishment([FromBody] ViewModels.AdoxioEstablishment item, string id) { if (string.IsNullOrEmpty(id) || id != item.id) { return(BadRequest()); } // get the legal entity. Guid adoxio_establishmentid = GuidUtility.SafeGuidConvert(id); MicrosoftDynamicsCRMadoxioEstablishment adoxioEstablishment = _dynamicsClient.GetEstablishmentById(adoxio_establishmentid); if (adoxioEstablishment == null) { return(new NotFoundResult()); } // we are doing a patch, so wipe out the record. adoxioEstablishment = new MicrosoftDynamicsCRMadoxioEstablishment(); // copy values over from the data provided adoxioEstablishment.CopyValues(item); try { await _dynamicsClient.Establishments.UpdateAsync(adoxio_establishmentid.ToString(), adoxioEstablishment); } catch (OdataerrorException odee) { _logger.LogError("Error updating establishment"); _logger.LogError("Request:"); _logger.LogError(odee.Request.Content); _logger.LogError("Response:"); _logger.LogError(odee.Response.Content); throw new Exception("Unable to update establishment"); } try { adoxioEstablishment = _dynamicsClient.GetEstablishmentById(adoxio_establishmentid); } catch (OdataerrorException odee) { _logger.LogError("Error getting establishment"); _logger.LogError("Request:"); _logger.LogError(odee.Request.Content); _logger.LogError("Response:"); _logger.LogError(odee.Response.Content); throw new Exception("Unable to get establishment after update"); } return(Json(adoxioEstablishment.ToViewModel())); }
public async Task <IActionResult> CreateEstablishment([FromBody] ViewModels.Establishment item) { // create a new legal entity. MicrosoftDynamicsCRMadoxioEstablishment adoxio_establishment = new MicrosoftDynamicsCRMadoxioEstablishment(); // copy received values to Dynamics LegalEntity adoxio_establishment.CopyValues(item); try { adoxio_establishment = await _dynamicsClient.Establishments.CreateAsync(adoxio_establishment); } catch (HttpOperationException httpOperationException) { _logger.LogError(httpOperationException, "Error creating establishment"); throw new Exception("Unable to create establishment"); } ViewModels.Establishment result = adoxio_establishment.ToViewModel(); return(new JsonResult(result)); }