Esempio n. 1
0
        // GET: /<controller>/
        public async Task <IActionResult> Index()
        {
            var model = new CustomerServiceConversationViewModel();

            model.MpID = await _userMpAppService.GetDefaultMpId();

            return(View(model));
        }
        public async Task <IActionResult> Index()
        {
            var viewModel = new CustomerMediaImageViewModel();

            viewModel.MpID = await _userMpAppService.GetDefaultMpId();

            return(View(viewModel));
        }
Esempio n. 3
0
        // GET: /<controller>/
        public async Task <IActionResult> Index(int ParentId)
        {
            var viewModel = new MpApiTokenViewModel();

            viewModel.ParentId = await _userMpAppService.GetDefaultMpId();

            return(View(viewModel));
        }
        // GET: /<controller>/
        public async Task <IActionResult> Index()
        {
            var model = new CustomerServiceReportViewModel {
                MpID = await _userMpAppService.GetDefaultMpId()
            };

            return(View(model));
        }
Esempio n. 5
0
        // GET: /<controller>/
        public async Task <IActionResult> Index()
        {
            var viewModel = new MpSelfArticleViewModel();

            viewModel.MpID = await _userMpAppService.GetDefaultMpId();

            return(View(viewModel));
        }
Esempio n. 6
0
        // GET: /<controller>/
        public async Task <IActionResult> Index()
        {
            var viewModel = new MpGroupViewModel();
            var list      = (await _mpGroupAppService.GetList()).OrderBy(m => m.FullPath).ToList();

            viewModel.Groups = list;
            viewModel.MpID   = await _userMpAppService.GetDefaultMpId();

            return(View(viewModel));
        }
        // GET: /<controller>/
        public async Task <IActionResult> Index()
        {
            var mpid = await _userMpAppService.GetDefaultMpId();

            var model = new MpChannelViewModel()
            {
                MpID = mpid
            };

            return(View(model));
        }
Esempio n. 8
0
        // GET: /<controller>/
        public async Task <IActionResult> Index()
        {
            var mpid = await _userMpAppService.GetDefaultMpId();

            var model = new CreateOrEditMpSolicitudeTextViewModel()
            {
                MpID = mpid
            };

            return(View(model));
        }
Esempio n. 9
0
        // GET: /<controller>/
        public async Task <IActionResult> Index()
        {
            var mpid = await _userMpAppService.GetDefaultMpId();

            var model = new CustomerServiceResponseTypeViewModel()
            {
                MpID = mpid
            };

            return(View(model));
        }
Esempio n. 10
0
        // GET: /<controller>/
        public async Task <IActionResult> Index()
        {
            var viewModel = new MpFanViewModel();

            //viewModel.Groups = await _mpGroupAppService.GetList();
            viewModel.MpID = await _userMpAppService.GetDefaultMpId();

            viewModel.Token = (await _mpAccountService.Get(new Abp.Application.Services.Dto.EntityDto <int> {
                Id = viewModel.MpID
            })).TaskAccessToken;
            return(View(viewModel));
        }
        // GET: /<controller>/
        public async Task <IActionResult> Index()
        {
            var viewModel = new MpMediaArticleViewModel();

            viewModel.MpID = await _userMpAppService.GetDefaultMpId();

            var account = await _mpAccountAppService.Get(new EntityDto <int> {
                Id = viewModel.MpID
            });

            viewModel.MpName = account.Name;
            return(View(viewModel));
        }
        // GET: /<controller>/
        public async Task <IActionResult> Index()
        {
            var mpID = await _userMpAppService.GetDefaultMpId();

            var output = await _mpEventAppService.GetModelByEventTypeAsync(MpEventType.AutoReply.ToString(), mpID);

            if (output == null)
            {
                output           = new MpEventDto();
                output.MpID      = mpID;
                output.EventType = MpEventType.AutoReply.ToString();
            }
            return(View(output));
        }
Esempio n. 13
0
        public async Task <PartialViewResult> CreateOrEditModal(int id)
        {
            if (id != 0)
            {
                var output = await _mpMenuAppService.Get(new EntityDto <int>(id));

                var viewModel = new CreateOrEditMpMenuViewModel(output);

                return(PartialView("_CreateOrEditModal", viewModel));
            }
            else
            {
                var model = new CreateOrEditMpMenuViewModel();
                model.MpID = await _userMpAppService.GetDefaultMpId();

                return(PartialView("_CreateOrEditModal", model));
            }
        }
        public override async Task <MpChannelDto> Create(MpChannelDto input)
        {
            var mpid = await _userMpAppService.GetDefaultMpId();

            input.MpID = mpid;
            if (input.IsMcChannel == 0)
            {
                if (!input.EventKey.StartsWith("qrcode."))
                {
                    input.EventKey = "qrcode." + input.EventKey;
                }
            }
            var isHave = await Repository.CountAsync(m => m.IsDeleted == false && m.EventKey == input.EventKey);

            if (isHave > 0)
            {
                throw new UserFriendlyException("对不起,您提交的二维码已存在,请检查。");
            }
            var          expireSeconds = 0;
            QrCodeResult data          = null;

            if (input.ChannelType == ChannelType.QR_STR_SCENE.ToString())
            {
                if (input.ValidityDay <= 0)
                {
                    throw new UserFriendlyException("临时二维码,请填写过期天数。");
                }
                if (input.ValidityDay > 0)
                {
                    expireSeconds   = input.ValidityDay * 24 * 60 * 60;
                    input.EndTime   = DateTime.Now.AddDays(input.ValidityDay);
                    input.StartTime = DateTime.Now;
                }
            }

            try
            {
                data = await _wxMediaAppService.SaveQrCode(input.MpID, input.Name, input.EventKey, input.ChannelType, expireSeconds);

                input.Ticket   = data.Ticket;
                input.FilePath = data.FilePath;
                input.FileUrl  = data.Url;
            }
            catch (System.Exception ex)
            {
                throw new UserFriendlyException(ex.Message);
            }

            CheckCreatePermission();

            var entity = MapToEntity(input);

            Repository.Insert(entity);

            return(MapToEntityDto(entity));
        }
Esempio n. 15
0
        /// <summary>
        /// 追加分组
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task UpdateFansGroup(MpFanGroupDto input)
        {
            var mpid = await _userMpAppService.GetDefaultMpId();

            var existFansIds = (await _mpFansGroupMapRepository.GetAllListAsync(m => m.IsDeleted == false && m.MpID == mpid && input.FansIds.Contains(m.FansID) && m.GroupID == input.GroupID)).Select(m => m.FansID).ToList();
            var fansIds      = input.FansIds.Except(existFansIds);

            foreach (var item in fansIds)
            {
                await _mpFansGroupMapRepository.InsertAsync(new MpFansGroupMap
                {
                    MpID      = mpid,
                    FansID    = item,
                    GroupID   = input.GroupID,
                    GroupName = input.GroupName
                });
            }
            await RefreshFansGroup(input.GroupID);
        }
        public async Task <string> UploadVideo(string fileFullPath, string mediaID, string title, string describe)
        {
            if (string.IsNullOrWhiteSpace(fileFullPath))
            {
                return(mediaID);
            }
            var tempProfilePicturePath = Path.Combine(_appFolders.TempFileDownloadFolder, fileFullPath);
            var mpid = await _userMpAppService.GetDefaultMpId();

            var account = await _mpAccountAppService.Get(new Abp.Application.Services.Dto.EntityDto <int> {
                Id = mpid
            });

            var access_token = await _accessTokenContainer.TryGetAccessTokenAsync(account.AppId, account.AppSecret);

            var result = "";

            try
            {
                var postResult      = Pb.Wechat.WxMedias.UploadVideo.GetUploadVideoResult(access_token, tempProfilePicturePath, title, describe);
                var postResultModel = JsonConvert.DeserializeObject <PostResult>(postResult);
                result = postResultModel.media_id;
                //result = MediaApi.UploadForeverVideo(access_token, tempProfilePicturePath, title, describe).media_id;
            }
            catch
            {
                access_token = await _accessTokenContainer.TryGetAccessTokenAsync(account.AppId, account.AppSecret, true);

                try
                {
                    var postResult      = Pb.Wechat.WxMedias.UploadVideo.GetUploadVideoResult(access_token, tempProfilePicturePath, title, describe);
                    var postResultModel = JsonConvert.DeserializeObject <PostResult>(postResult);
                    result = postResultModel.media_id;
                }
                catch (Exception e)
                {
                    throw new UserFriendlyException(e.Message);
                }
            }

            return(result);
        }
Esempio n. 17
0
        public async Task <ListResultDto <MpMenuDto> > GetMpMenuTrees()
        {
            var mpid = await _userMpAppService.GetDefaultMpId();

            var query =
                from ou in Repository.GetAll()
                where ou.IsDeleted == false && ou.MpID == mpid
                select new { ou };

            var items = await query.OrderBy(m => m.ou.Id).ToListAsync();

            var result = new ListResultDto <MpMenuDto>(
                items.Select(item =>
            {
                var dto = ObjectMapper.Map <MpMenuDto>(item.ou);
                return(dto);
            }).OrderBy(m => m.Id).ToList());

            return(result);
        }
        public override async Task <MpMediaVoiceDto> Create(MpMediaVoiceDto input)
        {
            input.MpID = await _userMpAppService.GetDefaultMpId();

            if (string.IsNullOrWhiteSpace(input.MediaID))
            {
                input.MediaID = await _wxMediaAppService.UploadMedia(input.FileID, input.MediaID);
            }
            input.LastModificationTime = DateTime.Now;
            return(await base.Create(input));
        }
Esempio n. 19
0
        // GET: /<controller>/
        public async Task <IActionResult> Index()
        {
            var mpID = await _userMpAppService.GetDefaultMpId();

            var output = await _mpSolicitudeSettingAppService.GetDefault();

            if (output == null)
            {
                output      = new MpSolicitudeSettings.Dto.MpSolicitudeSettingDto();
                output.MpID = mpID;
            }
            return(View(new CreateOrEditMpSolicitudeSettingViewModel(output)));
        }
        public override async Task <MpGroupDto> Create(MpGroupDto input)
        {
            var sameNameCount = Repository.Count(m => m.IsDeleted == false && m.Name == input.Name);

            if (sameNameCount > 0)
            {
                throw new UserFriendlyException("对不起不能创建相同名称的分组。");
            }
            var maxId = Repository.Query(m => m.Max(t => t.Id));

            if (Repository.Query(m => m.Any(t => t.Id == input.ParentID)))
            {
                var parentModel    = Repository.Get(input.ParentID);
                var parentFullPath = parentModel.FullPath;
                var yfullpath      = input.FullPath;
                input.FullPath   = parentFullPath + "." + (maxId + 1).ToString();
                input.ParentName = parentModel.Name;
                var leafs = Repository.GetAllList(m => m.FullPath.Contains(yfullpath)).ToList();
                foreach (var leaf in leafs)
                {
                    Repository.Update(leaf.Id, m =>
                    {
                        m.FullPath = parentFullPath + "." + m.FullPath;
                        m.Length   = parentModel.Length + 1;
                    });
                }
            }
            else
            {
                input.FullPath = (maxId + 1).ToString();
                input.Length   = 1;
            }
            input.MpID = await _userMpAppService.GetDefaultMpId();

            input.CreationTime         = DateTime.Now;
            input.LastModificationTime = DateTime.Now;
            return(await base.Create(input));
        }
Esempio n. 21
0
        public async Task GetKfList()
        {
            var wxType = KFType.WX.ToString();
            await Repository.DeleteAsync(m => m.KfType == wxType);

            var mpid = await _userMpAppService.GetDefaultMpId();

            var kflist = await _wxMediaAppService.GetCurstomerList(mpid);

            foreach (var kf in kflist.kf_list)
            {
                var item = Repository.FirstOrDefault(m => m.KfAccount == kf.kf_account);
                if (item == null)
                {
                    CustomerServiceOnline model = new CustomerServiceOnline()
                    {
                        KfAccount            = kf.kf_account,
                        KfNick               = kf.kf_nick,
                        KfId                 = kf.kf_id.ToString(),
                        KfHeadingUrl         = kf.kf_headimgurl,
                        PreKfAccount         = kf.kf_account.Substring(0, kf.kf_account.IndexOf("@")),
                        PublicNumberAccount  = kf.kf_account.Substring(kf.kf_account.IndexOf("@") + 1, kf.kf_account.Length - kf.kf_account.IndexOf("@") - 1),
                        MpID                 = mpid,
                        LastModificationTime = DateTime.Now,
                        AutoJoin             = false,
                        AutoJoinCount        = 0,
                        ConnectState         = 1,
                        CreationTime         = DateTime.Now,
                        IsDeleted            = false,
                        KfType               = KFType.WX.ToString(),
                        OnlineState          = 1,
                        LocalHeadingUrl      = kf.kf_headimgurl,
                        KfWx                 = kf.kf_wx
                    };
                    Repository.Insert(model);
                }
                else
                {
                    Repository.Update(item.Id, m =>
                    {
                        m.KfHeadingUrl         = kf.kf_headimgurl;
                        m.LastModificationTime = DateTime.Now;
                        m.KfId = kf.kf_id.ToString();
                        m.KfWx = kf.kf_wx;
                    });
                }
            }
        }
        public override async Task <MpBabyTextDto> Create(MpBabyTextDto input)
        {
            var mpid = await _userMpAppService.GetDefaultMpId();

            input.MpID = mpid;
            input.LastModificationTime = DateTime.Now;
            if (input.BabyAge != -9999 && input.BabyTextType == BabyTextType.UnBorn.ToString())
            {
                //input.BabyAge = -1 * input.UnbornWeek;
                int?beginday = null;
                int?endday   = null;
                GetDayRange(input.UnbornWeek, out beginday, out endday, unBorned: true);
                input.BeginDay = beginday;
                input.EndDay   = endday;
            }
            if (input.BabyAge != -9999 && input.BabyTextType == BabyTextType.OneYear.ToString())
            {
                //input.BabyAge = input.OneYearMonth * 4 + input.OneYearWeek;
                int?beginday = null;
                int?endday   = null;
                GetDayRange(input.OneYearWeek, out beginday, out endday, monthCount: input.OneYearMonth, unBorned: false);
                input.BeginDay = beginday;
                input.EndDay   = endday;
            }
            if (input.BabyAge != -9999 && input.BabyTextType == BabyTextType.Over.ToString())
            {
                //input.BabyAge = input.OverYear * 4 * 12 + input.OverMonth * 4;

                int?beginday = null;
                int?endday   = null;
                GetDayRange(0, out beginday, out endday, monthCount: input.OverYear * 12 + input.OverMonth, unBorned: false);
                input.BeginDay = beginday;
                input.EndDay   = endday;
            }
            var model = Repository.FirstOrDefault(m => m.BeginDay == input.BeginDay && m.EndDay == input.EndDay && m.IsDeleted == false && m.MpID == mpid);

            if (model != null)
            {
                model.BabyText = input.BabyText;
                var data = ObjectMapper.Map <MpBabyTextDto>(model);
                return(await base.Update(data));
            }
            else
            {
                return(await base.Create(input));
            }
        }
Esempio n. 23
0
        // GET: /<controller>/
        public async Task <IActionResult> Index(int?ParentId)
        {
            var viewModel = new MpSecondKeyWordReplyViewModel();

            if (ParentId.HasValue)
            {
                var keyword = await _mpKeyWordReplyAppService.Get(new EntityDto <int>() { Id = ParentId.Value });

                if (keyword != null)
                {
                    viewModel.ParentId = ParentId;
                    viewModel.KeyWord  = keyword.KeyWord;
                }
            }
            viewModel.MpID = await _userMpAppService.GetDefaultMpId();

            return(View(viewModel));
        }
Esempio n. 24
0
        public async Task <PartialViewResult> CreateOrEditModal(int?id)
        {
            if (id.HasValue && id != 0)
            {
                var output = await _mpFansTagAppService.Get(new EntityDto <int>(id.Value));

                var viewModel = new CreateOrEditMpFansTagViewModel(output);
                return(PartialView("_CreateOrEditModal", viewModel));
            }
            else
            {
                var mpID = await _userMpAppService.GetDefaultMpId();

                var model = new CreateOrEditMpFansTagViewModel()
                {
                    MpID = mpID
                };
                return(PartialView("_CreateOrEditModal", model));
            }
        }
Esempio n. 25
0
        public async Task <List <MpMediaArticleDto> > GetList()
        {
            var mpid = await _userMpAppService.GetDefaultMpId();

            return((await AsyncQueryableExecuter.ToListAsync(Repository.GetAll().Where(m => m.MpID == mpid))).Select(MapToEntityDto).ToList());
        }
        public async Task <MpMediaArticleGroupDto> Save(SaveMpMediaArticleGroupInput input)
        {
            CheckCreatePermission();
            var count = Repository.Count(m => m.IsDeleted == false && m.Name == input.Name && m.Id != input.Id);

            if (count > 0)
            {
                throw new UserFriendlyException("对不起,不能添加相同的名称的多图文信息。");
            }
            // 保存主表信息
            var MPID = await _userMpAppService.GetDefaultMpId();

            var data = new MpMediaArticleGroup {
                MpID = MPID
            };

            if (input.Id > 0)
            {
                data = await Repository.GetAsync(input.Id);
            }
            ObjectMapper.Map(input, data);

            List <int> intList = new List <int>();
            // 类型转化
            var idArray = input.ArticleIds.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);

            for (int i = 0; i < idArray.Length; i++)
            {
                intList.Add(int.Parse(idArray[i]));
            }
            //获取图文素材的所有数据
            var ArticleList = _ArticleRepository.GetAll().Where(m => intList.Contains(m.Id));


            List <NewsModel> gruopItems = new List <NewsModel>();

            foreach (var id in intList)
            {
                var itm = ArticleList.Where(m => m.Id == id).FirstOrDefault();
                gruopItems.Add(new NewsModel {
                    title              = itm.Title,
                    author             = itm.Author,
                    digest             = itm.Description,
                    content            = itm.Content,
                    content_source_url = itm.AUrl,
                    show_cover_pic     = itm.ShowPic,
                    thumb_media_id     = itm.PicMediaID
                });
            }
            if (!string.IsNullOrEmpty(data.MediaID))
            {
                for (int i = 0; i < gruopItems.Count; i++)
                {
                    await UpdateFileToWx(gruopItems[i], MPID, data.MediaID, i);
                }
            }
            else
            {
                data.MediaID = await AddFileToWx(gruopItems.ToArray(), MPID, input.MediaID);
            }
            data.LastModificationTime = DateTime.Now;
            var groupId = await Repository.InsertOrUpdateAndGetIdAsync(data);



            // 删除指定主表ID的所有子表数据
            await _ItemRepository.DeleteAsync(g => g.GroupID == groupId);

            // 循环插入子表数据
            var ids = input.ArticleIds.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);

            for (var i = 0; i < ids.Length; i++)
            {
                var article = ArticleList.FirstOrDefault(a => a.Id.ToString() == ids[i]);
                if (article != null)
                {
                    var GroupItem = new MpMediaArticleGroupItem
                    {
                        ArticleID            = article.Id,
                        GroupID              = groupId,
                        Title                = article.Title,
                        MpID                 = data.MpID,
                        SortIndex            = i + 1,
                        LastModificationTime = DateTime.Now
                    };
                    await _ItemRepository.InsertAsync(GroupItem);
                }
            }

            return(MapToEntityDto(data));
        }
Esempio n. 27
0
        public async Task <bool> Save(MpSelfArticleGroupDto input)
        {
            var mpid = await _userMpAppService.GetDefaultMpId();

            var count = Repository.Count(m => m.IsDeleted == false && m.Name == input.Name && m.Id != input.Id && m.MpID == input.MpID);

            if (count > 0)
            {
                throw new UserFriendlyException("对不起,不能添加相同的名称的多图文信息。");
            }

            if (input.MpID == 0)
            {
                input.MpID = mpid;
            }
            int groupId = 0;

            if (input.Id != 0)
            {
                groupId = input.Id;
                await base.Update(input);
            }
            else
            {
                groupId = await base.Repository.InsertAndGetIdAsync(new MpSelfArticleGroup { Name = input.Name, MpID = input.MpID, LastModificationTime = DateTime.Now });
            }
            var ids     = input.ItemIds.Split(',').ToList();
            var intList = new List <int>();

            foreach (var id in ids)
            {
                intList.Add(int.Parse(id));
            }
            var models = await _selfArticles.GetAllListAsync(m => intList.Contains(m.Id));

            List <MpSelfArticle> sortModels = new List <MpSelfArticle>();

            foreach (var id in intList)
            {
                sortModels.Add(models.Where(m => m.Id == id).FirstOrDefault());
            }
            List <MpSelfArticleGroupItem> datas = new List <MpSelfArticleGroupItem>();
            int i = 1;

            foreach (var model in sortModels)
            {
                var data = new MpSelfArticleGroupItem
                {
                    MpID      = input.MpID,
                    ArticleID = model.Id,
                    GroupID   = groupId,
                    SortIndex = i,
                    Title     = model.Title
                };
                datas.Add(data);
                i++;
            }
            //var result=_mpSelfArticleGroupItemAppService.SaveItems(datas);

            if (datas != null && datas.Count > 0)
            {
                //var groupId = datas.First().GroupID;
                await _mpSelfArticleGroupItem.DeleteAsync(m => m.GroupID == groupId);

                foreach (var data in datas)
                {
                    await _mpSelfArticleGroupItem.InsertAsync(data);
                }
                return(true);
            }
            return(false);
            //return result;
        }
Esempio n. 28
0
        public async Task <bool> Save(CustomerArticleGroupDto input)
        {
            var mpid = await _userMpAppService.GetDefaultMpId();

            var count = Repository.Count(m => m.IsDeleted == false && m.Name == input.Name && m.Id != input.Id && m.MpID == input.MpID);

            if (count > 0)
            {
                throw new UserFriendlyException("对不起,不能添加相同的名称的多图文信息。");
            }

            if (input.MpID == 0)
            {
                input.MpID = mpid;
            }
            int    groupId = 0;
            string mediaId = "";

            if (input.Id != 0)
            {
                groupId = input.Id;
                var upResult = await base.Update(input);

                mediaId = upResult.MediaID;
                var updateModel = await _cusRepository.FirstOrDefaultAsync(m => m.MartialId == groupId);

                updateModel.Title = input.Name;
                updateModel.LastModificationTime = DateTime.Now;
                updateModel.MediaId      = mediaId;
                updateModel.TypeId       = input.TypeId;
                updateModel.TypeName     = input.TypeName;
                updateModel.ResponseText = input.Name;
                await _cusRepository.UpdateAsync(updateModel);
            }
            else
            {
                mediaId = Guid.NewGuid().ToString();
                groupId = await base.Repository.InsertAndGetIdAsync(new CustomerArticleGroup { Name = input.Name, MpID = input.MpID, LastModificationTime = DateTime.Now, MediaID = mediaId });

                await _cusRepository.InsertAsync(new CustomerServiceResponseText
                {
                    Title                = input.Name,
                    CreationTime         = DateTime.Now,
                    IsDeleted            = false,
                    LastModificationTime = DateTime.Now,
                    MediaId              = mediaId,
                    MpID               = input.MpID,
                    PreviewImgUrl      = "",
                    MartialId          = groupId,
                    ResponseType       = ResponseType.common.ToString(),
                    ReponseContentType = (int)CustomerServiceMsgType.mpmultinews,
                    TypeId             = input.TypeId,
                    TypeName           = input.TypeName,
                    ResponseText       = input.Name
                });
            }

            var ids     = input.ItemIds.Split(',').ToList();
            var intList = new List <int>();

            foreach (var id in ids)
            {
                intList.Add(int.Parse(id));
            }
            var models = await _selfArticles.GetAllListAsync(m => intList.Contains(m.Id));

            List <CustomerArticle> sortModels = new List <CustomerArticle>();

            foreach (var id in intList)
            {
                sortModels.Add(models.Where(m => m.Id == id).FirstOrDefault());
            }
            List <CustomerArticleGroupItem> datas = new List <CustomerArticleGroupItem>();
            int i = 1;

            foreach (var model in sortModels)
            {
                var data = new CustomerArticleGroupItem
                {
                    MpID      = input.MpID,
                    ArticleID = model.Id,
                    GroupID   = groupId,
                    SortIndex = i,
                    Title     = model.Title
                };
                datas.Add(data);
                i++;
            }
            //var result=_CustomerArticleGroupItemAppService.SaveItems(datas);

            if (datas != null && datas.Count > 0)
            {
                //var groupId = datas.First().GroupID;
                await _CustomerArticleGroupItem.DeleteAsync(m => m.GroupID == groupId);

                foreach (var data in datas)
                {
                    await _CustomerArticleGroupItem.InsertAsync(data);
                }
                return(true);
            }
            return(false);
            //return result;
        }