private async Task <RepositoryResponse <JArray> > SendMailListAsync(Expression <Func <MixAttributeSetData, bool> > predicate)
        {
            var data = await MobileViewModel.Repository.GetModelListByAsync(predicate);

            JArray array = new JArray();
            RepositoryResponse <JArray> result = new RepositoryResponse <JArray>()
            {
                IsSucceed = true
            };

            try
            {
                foreach (var item in data.Data)
                {
                    var getAttrSet = await Lib.ViewModels.MixAttributeSets.ReadViewModel.Repository.GetSingleModelAsync(m => m.Name == item.AttributeSetName);

                    if (getAttrSet.IsSucceed)
                    {
                        _ = MixService.SendEdm(_lang, getAttrSet.Data.EdmTemplate, item.Data, getAttrSet.Data.EdmSubject, getAttrSet.Data.EdmFrom);
                    }
                    array.Add(item.Data);
                }
                result.Data = array;
                return(result);
            }
            catch (Exception ex)
            {
                result.Exception = ex;
                result.IsSucceed = false;
                return(result);
            }
        }
        public async Task <ActionResult <ODataMobileViewModel> > SaveByName(string culture, string name, [FromBody] JObject obj)
        {
            var getAttrSet = await Mix.Cms.Lib.ViewModels.MixAttributeSets.ReadViewModel.Repository.GetSingleModelAsync(m => m.Name == name);

            string _username = User?.Claims.FirstOrDefault(c => c.Type == "Username")?.Value;

            if (getAttrSet.IsSucceed)
            {
                ODataMobileViewModel data = new ODataMobileViewModel()
                {
                    Id               = obj["id"]?.Value <string>(),
                    CreatedBy        = _username,
                    AttributeSetId   = getAttrSet.Data.Id,
                    AttributeSetName = getAttrSet.Data.Name,
                    Specificulture   = culture,
                    Data             = obj
                };
                var portalResult = await base.SaveAsync <ODataMobileViewModel>(data, true);

                if (portalResult.IsSucceed)
                {
                    if (getAttrSet.Data.EdmAutoSend.HasValue && getAttrSet.Data.EdmAutoSend.Value)
                    {
                        _ = MixService.SendEdm(_lang, getAttrSet.Data.EdmTemplate, portalResult.Data.Data, getAttrSet.Data.EdmSubject, getAttrSet.Data.EdmFrom);
                    }

                    return(Ok(new RepositoryResponse <JObject>
                    {
                        IsSucceed = true,
                        Data = portalResult.Data.Data
                    }));
                }
                else
                {
                    return(BadRequest(portalResult));
                }
            }
            else
            {
                return(NotFound());
            }
        }