public async Task <ActionResult> Edit(StormEvent stormevent)
        {
            var data = new StormEventViewModel();

            data.StormEvent = stormevent;
            try
            {
                if (await _dataHelper.UpdateStormEvent(JsonConvert.SerializeObject(stormevent)))
                {
                    data.Message = "Storm Event updated!";
                }
                else
                {
                    data.Message = "There was an error updating the data.";
                }
            }
            catch (Exception ex)
            {
                data.Message = ex.Message;
            }

            // Clear the cached data
            _cache.Remove("StormEvent" + stormevent.EventId);
            _cache.Remove("AllStormEvents");
            return(View(data));
        }
        public ActionResult Edit(int id)
        {
            var data = new StormEventViewModel();

            try
            {
                StormEvent stormevent;
                bool       isExist = _cache.TryGetValue("StormEvent" + id, out stormevent);
                if (!isExist)
                {
                    stormevent = _dataHelper.GetStormEvent(User.FindFirst("http://schemas.microsoft.com/identity/claims/objectidentifier").Value, id).Result;
                    var cacheEntryOptions = new MemoryCacheEntryOptions()
                                            .SetSlidingExpiration(TimeSpan.FromSeconds(_projectOptions.CacheTimeout));
                    if (stormevent != null)
                    {
                        _cache.Set("StormEvent" + id, stormevent, cacheEntryOptions);
                    }
                    else
                    {
                        data.Message = "There was an error loading the record.";
                    }
                }
                else
                {
                    stormevent = (StormEvent)_cache.Get("StormEvent" + id);
                }

                data.StormEvent = stormevent;
            }
            catch (Exception ex)
            {
                data.Message = ex.Message;
            }
            return(View(data));
        }