Exemple #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.")));
        }
Exemple #2
0
        public async Task <IActionResult> Update(string id, [FromBody] MailTempGroupMeta mailGroupMeta)
        {
            var result = await _mailGroupService.Update(id, mailGroupMeta);

            //var result = await _mailGroupService.Update("1", mailGroupMeta);
            if (result.Code <= 0)
            {
                return(BadRequest(result));
            }

            return(Ok(result));
        }
Exemple #3
0
        public async Task <IActionResult> Insert([FromBody] MailTempGroupMeta mailGroupMeta)
        {
            var result = await _mailGroupService.Insert(CurrentUser.TenantId, mailGroupMeta);

            //var result = await _mailGroupService.Insert("1", mailGroupMeta);
            if (result.Code <= 0)
            {
                return(BadRequest(result));
            }

            return(Ok(result));
        }
Exemple #4
0
        public async Task <ActionResultResponse> Insert(string tenantId, MailTempGroupMeta mailGroupMeta)
        {
            if (!mailGroupMeta.MailTempGroupTranslations.Any())
            {
                return(new ActionResultResponse(-1, _sharedResourceService.GetString("Please enter at least one mailgrouptranslation.")));
            }

            var mailTempGroupId = Guid.NewGuid().ToString();
            var mailgroup       = new MailTempGroup()
            {
                Id       = mailTempGroupId,
                TenantId = tenantId,
            };

            var result = await _mailGroupRepository.Insert(mailgroup);

            if (result <= 0)
            {
                return(new ActionResultResponse(result, _sharedResourceService.GetString("Something went wrong. Please contact with administrator.")));
            }

            var mailgrouptranslations = new List <MailTempGroupTranslation>();

            foreach (var mailTempGroupTranslation in mailGroupMeta.MailTempGroupTranslations)
            {
                mailgrouptranslations.Add(new MailTempGroupTranslation
                {
                    Name            = mailTempGroupTranslation.Name,
                    Description     = mailTempGroupTranslation.Description,
                    UnsignName      = mailTempGroupTranslation.Name.Trim().StripVietnameseChars().ToUpper(),
                    TenantId        = tenantId,
                    LanguageId      = mailTempGroupTranslation.LanguageId,
                    MailTempGroupId = mailTempGroupId,
                });
            }

            var resultInsertDetail = await _mailGroupTranslationRepository.Inserts(mailgrouptranslations);

            if (resultInsertDetail > 0)
            {
                return(new ActionResultResponse(resultInsertDetail, _resourceService.GetString("Add new MailGroup successful.")));
            }

            await RollbackInsert(mailTempGroupId);

            return(new ActionResultResponse(-5, _resourceService.GetString("Can not insert new MailGroup. Please contact with administrator.")));
        }