public async Task <IActionResult> CreateEquipment(string applicationType, [FromBody] ViewModels.Equipment item) { // get UserSettings from the session string temp = _httpContextAccessor.HttpContext.Session.GetString("UserSettings"); UserSettings userSettings = JsonConvert.DeserializeObject <UserSettings>(temp); // first check to see that a Equipment exists. string ApplicationSiteminderGuid = userSettings.SiteMinderGuid; if (ApplicationSiteminderGuid == null || ApplicationSiteminderGuid.Length == 0) { _logger.LogError(LoggingEvents.Error, "No Equipment Siteminder Guid exernal id"); throw new Exception("Error. No ApplicationSiteminderGuid exernal id"); } // create a new Equipment. MicrosoftDynamicsCRMbcgovEquipment equipment = new MicrosoftDynamicsCRMbcgovEquipment(); equipment.CopyValues(item); try { equipment = await _dynamicsClient.Equipments.CreateAsync(equipment); } catch (OdataerrorException odee) { _logger.LogError("Error creating Equipment"); _logger.LogError("Request:"); _logger.LogError(odee.Request.Content); _logger.LogError("Response:"); _logger.LogError(odee.Response.Content); throw new OdataerrorException("Error creating Equipment"); } return(Json(equipment.ToViewModel())); }
public async Task <IActionResult> UpdateEquipment([FromBody] ViewModels.Equipment item, string id) { if (!string.IsNullOrEmpty(id) && Guid.TryParse(id, out Guid equipmentId)) { // get the Equipment MicrosoftDynamicsCRMbcgovEquipment equipment = _dynamicsClient.GetEquipmentByIdWithChildren(equipmentId); if (equipment == null) { return(new NotFoundResult()); } // get UserSettings from the session string temp = _httpContextAccessor.HttpContext.Session.GetString("UserSettings"); UserSettings userSettings = JsonConvert.DeserializeObject <UserSettings>(temp); // Get the current account var account = _dynamicsClient.GetAccountByIdWithChildren(Guid.Parse(userSettings.AccountId)); MicrosoftDynamicsCRMbcgovEquipment patchEquipment = new MicrosoftDynamicsCRMbcgovEquipment(); patchEquipment.CopyValues(item); try { await _dynamicsClient.Equipments.UpdateAsync(equipmentId.ToString(), patchEquipment); } catch (OdataerrorException odee) { _logger.LogError("Error updating Equipment"); _logger.LogError("Request:"); _logger.LogError(odee.Request.Content); _logger.LogError("Response:"); _logger.LogError(odee.Response.Content); } equipment = _dynamicsClient.GetEquipmentByIdWithChildren(equipmentId); return(Json(equipment.ToViewModel())); } else { return(BadRequest()); } }