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); } }