private ActionResult ModifyState(ClientSubscription clientSubscription, ClientSubscriptionState state) { if (ModelState.IsValid) { DateTime time = clientSubscription.Timestamp; ClientSubscription subscription = db.ClientSubscriptions.Find(clientSubscription.ClientSubscriptionId); long clientAccountId = subscription.ClientAccountId; subscription.State = state; subscription.Timestamp = DateTime.Now; subscription.Notes = clientSubscription.Notes; db.Entry(subscription).State = EntityState.Modified; var clientSubscriptionHistory = new ClientSubscriptionHistory() { UnitPrice = subscription.UnitPrice, State = state, Quantity = subscription.CurrentQuantity, Notes = subscription.Notes, VesselName = subscription.VesselName, ClientSubscriptionId = subscription.ClientSubscriptionId, Timestamp = time }; db.ClientSubscriptionHistories.Add(clientSubscriptionHistory); db.SaveChanges(); return(RedirectToAction("Index", new { accountId = clientAccountId })); } return(View("Invalid state.")); }
//public ClientSubscription(ClientSubscription subscription, PackageExtendSubscription extension, bool debugRequest) //{ // ClientNodeGuid = subscription.ClientNodeGuid; // SubscriptionId = extension.SubscriptionId; // //ExpiryTime = extension.ExpiryTime; // was DateTimeOffset.Now.AddMinutes(5); // DataTypeName = subscription.DataTypeName; // ItemKind = subscription.ItemKind; // Expression = subscription.Expression; // AppScopes = subscription.AppScopes; // MinimumUSN = subscription.MinimumUSN; // ExcludeExisting = subscription.ExcludeExisting; // ExcludeDeleted = subscription.ExcludeDeleted; // AsAtTime = subscription.AsAtTime; // ExcludeDataBody = subscription.ExcludeDataBody; // DebugRequest = debugRequest; //} /// <summary> /// /// </summary> /// <param name="subscription"></param> public ClientSubscription(ClientSubscriptionState subscription) { ClientId = new Guid(subscription.ConnectionId); SubscriptionId = new Guid(subscription.SubscriptionId); //if (resetExpiry) // ExpiryTime = DateTimeOffset.Now.Add(ServerCfg.CommsSubscriptionExtension); //else // ExpiryTime = DateTimeOffset.Parse(subscription.ExpiryTime); DataTypeName = subscription.DataTypeName; ItemKind = (ItemKind)subscription.ItemKind; Expression = (subscription.Expression != null) ? Expr.Create(subscription.Expression) : Expr.ALL; AppScopes = subscription.AppScopes; MinimumUSN = subscription.MinimumUSN; ExcludeExisting = subscription.ExcludeExisting; ExcludeDeleted = !subscription.IncludeDeleted; AsAtTime = DateTimeOffset.Parse(subscription.AsAtTime); ExcludeDataBody = subscription.ExcludeDataBody; DebugRequest = subscription.DebugRequest; }