protected override void Initialize(System.Web.Routing.RequestContext requestContext)
        {
            base.Initialize(requestContext);
            Debug.Assert(Request.IsAuthenticated);

            var user = User.Identity.Name;
            var dCase = _ctx.DCases.FirstOrDefault(c => c.Owner == user && c.Name == StandardCases.MesoWind);
            if (dCase == null)
            {
                dCase = new DCase
                {
                    Id = Guid.NewGuid(),
                    Name = StandardCases.MesoWind,
                    Owner = user,
                    Created = DateTime.UtcNow
                };
                // Model contains points from both databases by default
                var model = new VMesoWind();
                ItemsCount(model);

                var serializer = new XmlSerializer(typeof (VMesoWind));
                using (var writer = new StringWriter())
                {
                    serializer.Serialize(writer, model);
                    dCase.Model = writer.ToString();
                    writer.Close();
                }
                _ctx.DCases.AddObject(dCase);
                _ctx.SaveChanges();
            }
            base.Initialize(requestContext);
        }
 private void PushModel(VMesoWind model)
 {
     var serializer = new XmlSerializer(typeof(VMesoWind));
     using (var writer = new StringWriter())
     {
         var dCase = _ctx.DCases.First(c => c.Owner == User.Identity.Name && c.Name == StandardCases.MesoWind);
         serializer.Serialize(writer, model);
         dCase.Model = writer.ToString();
         writer.Close();
         _ctx.SaveChanges();
     }
 }
 private void ItemsCount(VMesoWind model)
 {
     if (model.UseSearchResults)
     {
         model.TotalCount = model.InterestingPoints.Count;
         model.MerraCount = model.InterestingPoints.Count(t => t.DatabaseId == (short)DbType.MERRA);
         model.FnlCount = model.InterestingPoints.Count(t => t.DatabaseId == (short)DbType.FNL);
     }
     else
     {
         model.TotalCount = _ctx.VSmallMesoscaleTabFiles.Count();
         model.FnlCount = _ctx.VSmallMesoscaleTabFiles.Count(t => t.DatabaseId == (int)DbType.FNL);
         model.MerraCount = _ctx.VSmallMesoscaleTabFiles.Count(t => t.DatabaseId == (int)DbType.MERRA);
     }
 }