public void UpdateSubscription(Common.Models.Subscription subscription, DateTime dt) { using (var context = new DataContext()) { var subscriptionDb = context.Subscriptions.Where(x => x.SerialId == subscription.SerialId && x.UserId == subscription.UserId).FirstOrDefault(); if (subscriptionDb != null) { subscriptionDb.Notified = dt; context.SaveChanges(); } } }
public ErrorCode AddSubscription(Common.Models.Subscription subscription) { try { using (var context = new DataContext()) { var serial = context.Serials.Where(x => x.Id == subscription.SerialId).FirstOrDefault(); if (serial == null) { return(ErrorCode.SerialNotFound); } var user = context.Users.Where(x => x.Id == subscription.UserId).FirstOrDefault(); if (user == null) { user = new User { Id = subscription.UserId, Conversation = subscription.Conversation }; context.Users.Add(user); context.SaveChanges(); } var subscriptionDb = context.Subscriptions.Where(x => x.SerialId == serial.Id && x.UserId == subscription.UserId).FirstOrDefault(); if (subscriptionDb != null) { return(ErrorCode.SubscriptionAlreadyExists); } subscriptionDb = new Subscription { SerialId = serial.Id, UserId = user.Id, Notified = SqlDateTime.MinValue.Value }; context.Subscriptions.Add(subscriptionDb); context.SaveChanges(); return(ErrorCode.Ok); } } catch { return(ErrorCode.Error); } }
public ErrorCode DeleteSubscription(Common.Models.Subscription subscription) { try { using (var context = new DataContext()) { var serial = context.Serials.Where(x => x.Id == subscription.SerialId).FirstOrDefault(); if (serial == null) { return(ErrorCode.SerialNotFound); } var user = context.Users.Where(x => x.Id == subscription.UserId).FirstOrDefault(); if (user == null) { user = new User { Id = subscription.UserId }; context.Users.Add(user); context.SaveChanges(); } var subscriptionDb = context.Subscriptions.Where(x => x.SerialId == serial.Id && x.UserId == subscription.UserId).FirstOrDefault(); if (subscriptionDb == null) { return(ErrorCode.SuscriptionNotFound); } context.Subscriptions.Remove(subscriptionDb); context.SaveChanges(); return(ErrorCode.Ok); } } catch { return(ErrorCode.Error); } }