예제 #1
0
        public async Task <ActionResultResponse> Update(string id, MailTempGroupMeta mailTempGroupMeta)
        {
            if (!mailTempGroupMeta.MailTempGroupTranslations.Any())
            {
                return(new ActionResultResponse(-1, _sharedResourceService.GetString("Please enter at least one language.")));
            }

            var mailTempGroupInfo = await _mailGroupRepository.GetInfo(id);

            if (mailTempGroupInfo == null)
            {
                return(new ActionResultResponse(-2, _resourceService.GetString("MailGroup does not exists.")));
            }

            if (mailTempGroupInfo.ConcurrencyStamp != mailTempGroupMeta.ConcurrencyStamp)
            {
                return(new ActionResultResponse(-3, _resourceService.GetString("The MailGroup already updated by other people. You can not update this MailGroup.")));
            }

            mailTempGroupInfo.LastUpdate       = DateTime.Now;
            mailTempGroupInfo.ConcurrencyStamp = Guid.NewGuid().ToString();
            mailTempGroupInfo.IsDelete         = mailTempGroupMeta.IsDelete;

            await _mailGroupRepository.Update(id, mailTempGroupInfo);

            foreach (var mailTempGroupTranslation in mailTempGroupMeta.MailTempGroupTranslations)
            {
                var mailTempGroupTranslationInfo = await _mailGroupTranslationRepository.GetInfo(mailTempGroupInfo.TenantId,
                                                                                                 id, mailTempGroupTranslation.LanguageId);

                if (mailTempGroupTranslationInfo != null)
                {
                    mailTempGroupTranslationInfo.Name        = mailTempGroupTranslation.Name;
                    mailTempGroupTranslationInfo.UnsignName  = mailTempGroupTranslation.Name.Trim().StripVietnameseChars().ToUpper();
                    mailTempGroupTranslationInfo.Description = mailTempGroupTranslation.Description;
                    await _mailGroupTranslationRepository.Update(mailTempGroupTranslationInfo);
                }
                else
                {
                    mailTempGroupTranslationInfo = new MailTempGroupTranslation()
                    {
                        Name            = mailTempGroupTranslation.Name,
                        Description     = mailTempGroupTranslation.Description,
                        LanguageId      = mailTempGroupTranslation.LanguageId,
                        UnsignName      = mailTempGroupTranslation.Name.Trim().StripVietnameseChars().ToUpper(),
                        TenantId        = mailTempGroupInfo.TenantId,
                        MailTempGroupId = id
                    };
                    await _mailGroupTranslationRepository.Insert(mailTempGroupTranslationInfo);
                }
            }

            return(new ActionResultResponse(1, _resourceService.GetString("Update MailGroup successful.")));
        }
예제 #2
0
 public async Task <int> Update(MailTempGroupTranslation mailGroupTranslation)
 {
     return(await Context.SaveChangesAsync());
 }
예제 #3
0
 public async Task <int> Insert(MailTempGroupTranslation mailgrouptranslation)
 {
     _mailGroupTranslationRepository.Create(mailgrouptranslation);
     return(await Context.SaveChangesAsync());
 }