Exemplo n.º 1
0
        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);
                }
            }
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
        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>());
                }
            }
        }