public SubscriptionPartnersResponse Delete(SubscriptionPartners request) { Bm2s.Data.Common.BLL.Article.SubscriptionPartner item = Datas.Instance.DataStorage.SubscriptionPartners[request.SubscriptionPartner.Id]; Datas.Instance.DataStorage.SubscriptionPartners.Remove(item); SubscriptionPartnersResponse response = new SubscriptionPartnersResponse(); response.SubscriptionPartners.Add(request.SubscriptionPartner); return response; }
public SubscriptionPartnersResponse Get(SubscriptionPartners request) { SubscriptionPartnersResponse response = new SubscriptionPartnersResponse(); List<Bm2s.Data.Common.BLL.Article.SubscriptionPartner> items = new List<Data.Common.BLL.Article.SubscriptionPartner>(); if (!request.Ids.Any()) { items.AddRange(Datas.Instance.DataStorage.SubscriptionPartners.Where(item => (request.PartnerId == 0 || item.PartnerId == request.PartnerId) && (request.SubscriptionId == 0 || item.SubscriptionId == request.SubscriptionId) )); } else { items.AddRange(Datas.Instance.DataStorage.SubscriptionPartners.Where(item => request.Ids.Contains(item.Id))); } var collection = (from item in items select new Bm2s.Poco.Common.Article.SubscriptionPartner() { Id = item.Id, Partner = new PartnersService().Get(new Partners() { Ids = new List<int>() { item.PartnerId } }).Partners.FirstOrDefault(), Subscription = new SubscriptionsService().Get(new Subscriptions() { Ids = new List<int>() { item.SubscriptionId } }).Subscriptions.FirstOrDefault() }).AsQueryable().OrderBy(request.Order, !request.DescendingOrder); response.ItemsCount = collection.Count(); if (request.PageSize > 0) { response.SubscriptionPartners.AddRange(collection.Skip((request.CurrentPage - 1) * request.PageSize).Take(request.PageSize)); } else { response.SubscriptionPartners.AddRange(collection); } try { response.PagesCount = collection.Count() / response.SubscriptionPartners.Count + (collection.Count() % response.SubscriptionPartners.Count > 0 ? 1 : 0); } catch { response.PagesCount = 1; } return response; }
public SubscriptionPartnersResponse Post(SubscriptionPartners request) { if (request.SubscriptionPartner.Id > 0) { Bm2s.Data.Common.BLL.Article.SubscriptionPartner item = Datas.Instance.DataStorage.SubscriptionPartners[request.SubscriptionPartner.Id]; item.PartnerId = request.SubscriptionPartner.Partner.Id; item.SubscriptionId = request.SubscriptionPartner.Subscription.Id; } else { Bm2s.Data.Common.BLL.Article.SubscriptionPartner item = new Data.Common.BLL.Article.SubscriptionPartner() { PartnerId = request.SubscriptionPartner.Partner.Id, SubscriptionId = request.SubscriptionPartner.Subscription.Id }; Datas.Instance.DataStorage.SubscriptionPartners.Add(item); request.SubscriptionPartner.Id = item.Id; } SubscriptionPartnersResponse response = new SubscriptionPartnersResponse(); response.SubscriptionPartners.Add(request.SubscriptionPartner); return response; }