public async Task <VMGroupTitle> Reads(string name, int status) { using (var db = new KingAttornyContext()) { var datareturn = new VMGroupTitle() { title = "No title", data_items = new List <VMGroup>() }; int partentId = 0; if (string.IsNullOrEmpty(name)) { return(datareturn); } var itemgroup = db.Groups.Where(s => s.Name == name).SingleOrDefault(); if (itemgroup == null) { return(datareturn); } datareturn.title = itemgroup.Description; partentId = itemgroup.Id; if (status < 0) { var items = await db.Groups .Where(s => s.ParentId == partentId) .OrderBy(o => o.Order) .Select(s => new VMGroup() { id = s.Id, name = s.Description, order = s.Order }) .ToListAsync(); if (items == null || !items.Any()) { return(datareturn); } datareturn.data_items = items; return(datareturn); } else { var items = await db.Groups .Where(s => s.Status == status && s.ParentId == partentId) .OrderBy(o => o.Order) .Select(s => new VMGroup() { id = s.Id, name = s.Description, order = s.Order }) .ToListAsync(); if (items == null || !items.Any()) { return(datareturn); } datareturn.data_items = items; return(datareturn); } } }
public async Task <VMGroupTitle> ReadSubItem(int groupId, int status, int level) { using (var db = new KingAttornyContext()) { var dataReturn = new VMGroupTitle() { title = "No title", data_items = new List <VMGroup>() }; if (level == 1) { var groupItem = db.Groups.Where(s => s.Id == groupId).SingleOrDefault(); if (groupItem == null) { return(dataReturn); } dataReturn.title = groupItem.Description; var dataItemCheck = await db.GroupCollections .Where(s => s.GroupId == groupId && s.Status == status) .OrderBy(o => o.Order) .ToListAsync(); if (dataItemCheck == null || !dataItemCheck.Any()) { return(dataReturn); } if (dataItemCheck.Any(s => s.Type == "content")) { var dataItems = dataItemCheck .Join(db.Collections, a => a.CollectionId, b => b.Id, (a, b) => new { a, b }) .Join(db.Contents, c => c.b.Id, d => d.CollectionId, (c, d) => new { c, d }) .Select(s => new VMGroup() { id = s.d.Id, type = s.c.a.Type, name = s.d.Title, order = s.d.Order }) .ToList(); dataReturn.data_items = dataItems; return(dataReturn); } if (dataItemCheck.Any(s => s.Type == "index")) { var dataItems = dataItemCheck .Join(db.Collections, a => a.CollectionId, b => b.Id, (a, b) => new { a, b }) .Where(s => s.b.Status == status) .Select(s => new VMGroup() { id = s.b.Id, type = s.a.Type, name = s.b.Description, order = s.a.Order }) .ToList(); dataReturn.data_items = dataItems; return(dataReturn); } } if (level == 2) { var dataCollection = db.Collections.Where(s => s.Id == groupId).SingleOrDefault(); if (dataCollection == null) { return(dataReturn); } dataReturn.title = dataCollection.Description; var dataItems = db.Contents .Where(s => s.CollectionId == dataCollection.Id) .OrderBy(o => o.Order) .Select(s => new VMGroup() { id = s.Id, type = "content", name = s.Title, order = s.Order }) .ToList(); if (dataItems != null && dataItems.Any()) { dataReturn.data_items = dataItems; } return(dataReturn); } return(dataReturn); } }
public async Task <List <VMPartner> > getPartner(string keyword, int status) { if (string.IsNullOrEmpty(keyword)) { return(new List <VMPartner>()); } var collectionHelper = new B_Collection(); var collection = await collectionHelper.ReadByName(keyword); if (collection == null) { return(new List <VMPartner>()); } var helper = new B_Account(); var items = await helper.ReadByCollectionId(collection.Id, status); if (items == null || !items.Any()) { return(new List <VMPartner>()); } var imgHelper = new B_Image(); var imgs = await imgHelper.ReadByIds(items.Select(s => s.AvatarId).ToList()); var telHelper = new B_TelePhone(); var tels = await telHelper.ReadByIds(items.Select(s => s.TelePhoneId).ToList()); var addHelper = new B_Address(); var address = await addHelper.ReadByIds(items.Select(s => s.AddressId).ToList()); var contentHelper = new B_Content(); var contents = await contentHelper.ReadByIds(items.Select(s => s.contentId).ToList()); using (var db = new KingAttornyContext()) { try { var dataItem = items .Select(s => new VMPartner() { id = s.Id, name = s.FirstName + " " + s.LastName, avatar_id = s.AvatarId, business = s.BusinessNamne, content_id = s.contentId, google_plus_url = s.GooplePlusUrl, facebook_fanpage_url = s.FacebookFanpageUrl, twitter_fanpage_url = s.TwitterFanpageUrl, zalo = s.Zalo, address_id = s.AddressId, telephone_id = s.TelePhoneId }) .ToList(); if (dataItem != null && dataItem.Any()) { foreach (var i in dataItem) { var itemAdd = address.Where(s => s.Id == i.address_id).FirstOrDefault(); if (itemAdd != null) { i.address = itemAdd.AddressText; } var itemTele = tels.Where(s => s.Id == i.telephone_id).FirstOrDefault(); if (itemTele != null) { i.telephone = itemTele.PhoneNumber; } var itemImg = imgs.Where(s => s.Id == i.avatar_id).FirstOrDefault(); if (itemImg != null) { i.avatar_url = itemImg.RelativeUrl + "/" + itemImg.Name; } var itemContents = contents.Where(s => s.Id == i.content_id).FirstOrDefault(); if (itemContents != null) { i.content_detail = itemContents.Text; i.description = itemContents.Description; } } } return(dataItem); } catch (Exception ex) { return(new List <VMPartner>()); } } }