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."))); }
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)); }
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)); }
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."))); }