public async Task <ActionResultResponse> Update(string tenantId, string id, CutomerSubjectMeta customerSubjectMeta) { if (!customerSubjectMeta.CustomerSubjectTranslations.Any()) { return(new ActionResultResponse(-1, _sharedResourceService.GetString("Please enter at least one language."))); } var customersubjectInfo = await _customersubjectRepository.GetInfo(id, tenantId); if (customersubjectInfo == null) { return(new ActionResultResponse(-2, _customerResourceService.GetString("CustomerSubject does not exists."))); } if (customersubjectInfo.ConcurrencyStamp != customerSubjectMeta.ConcurrencyStamp) { return(new ActionResultResponse(-3, _customerResourceService.GetString("The CustomerSubject already updated by other people. You can not update this CustomerSubject."))); } customersubjectInfo.LastUpdate = DateTime.Now; customersubjectInfo.IsActive = customerSubjectMeta.IsActive; customersubjectInfo.Order = customerSubjectMeta.Order; customersubjectInfo.TotalReduction = customerSubjectMeta.TotalReduction; customersubjectInfo.ConcurrencyStamp = Guid.NewGuid().ToString(); foreach (var CustomersubjectTranslation in customerSubjectMeta.CustomerSubjectTranslations) { var isNameExists = await _customersubjectTranslationRepository.CheckUserNameExists(customersubjectInfo.Id, CustomersubjectTranslation.LanguageId, CustomersubjectTranslation.Name); if (isNameExists) { return(new ActionResultResponse(-5, _customerResourceService.GetString("Name: \"{0}\" already exists.", CustomersubjectTranslation.Name))); } var customersubjectCustomerTranslationInfo = await _customersubjectTranslationRepository.GetInfo(customersubjectInfo.Id, CustomersubjectTranslation.LanguageId); if (customersubjectCustomerTranslationInfo != null) { customersubjectCustomerTranslationInfo.Name = CustomersubjectTranslation.Name.Trim(); customersubjectCustomerTranslationInfo.Description = CustomersubjectTranslation.Description?.Trim(); customersubjectCustomerTranslationInfo.UnsignName = CustomersubjectTranslation.Name.StripVietnameseChars().ToUpper(); await _customersubjectTranslationRepository.Update(customersubjectCustomerTranslationInfo); } else { CustomersubjectTranslation.CustomerSubjectId = customersubjectInfo.Id; CustomersubjectTranslation.Name = CustomersubjectTranslation.Name.Trim(); CustomersubjectTranslation.Description = CustomersubjectTranslation.Description?.Trim(); CustomersubjectTranslation.UnsignName = CustomersubjectTranslation.Name.StripVietnameseChars().ToUpper(); await _customersubjectTranslationRepository.Insert(CustomersubjectTranslation); } } await _customersubjectRepository.Update(customersubjectInfo); return(new ActionResultResponse(1, _customerResourceService.GetString("Update Customer Subject successful."))); }
public async Task <IActionResult> Update(string id, [FromBody] CutomerSubjectMeta customerSubjectMeta) { var result = await _customerSubjectService.Update(CurrentUser.TenantId, id, customerSubjectMeta); //var result = await _patientsubjectService.Update("MaKH", id, patientsubjectMeta); if (result.Code < 0) { return(BadRequest(result)); } return(Ok(result)); }
public async Task <ActionResultResponse> Insert(string tenantId, CutomerSubjectMeta customersubjectMeta) { if (!customersubjectMeta.CustomerSubjectTranslations.Any()) { return(new ActionResultResponse(-1, _sharedResourceService.GetString("Please enter at least one language."))); } var customersubjectId = Guid.NewGuid().ToString(); var customersubject = new CustomerSubject { Id = customersubjectId, //ConcurrencyStamp = CustomersubjectId, IsActive = customersubjectMeta.IsActive, //CreateTime = DateTime.Now, Order = customersubjectMeta.Order, TotalReduction = customersubjectMeta.TotalReduction, //IsDelete = false, TenantId = tenantId, }; var result = await _customersubjectRepository.Insert(customersubject); if (result <= 0) { return(new ActionResultResponse(result, _sharedResourceService.GetString("Something went wrong. Please contact with administrator."))); } var customersubjectTranslations = new List <CustomerSubjectTranslation>(); foreach (var customersubjectTranslationMeta in customersubjectMeta.CustomerSubjectTranslations) { var isNameExists = await _customersubjectTranslationRepository.CheckUserNameExists(customersubjectTranslationMeta.CustomerSubjectId, customersubjectTranslationMeta.LanguageId, customersubjectTranslationMeta.Name); if (isNameExists) { await RollbackInsert(customersubjectId); return(new ActionResultResponse(-3, _customerResourceService.GetString("Name: \"{0}\" already exists.", customersubjectTranslationMeta.Name))); } customersubjectTranslations.Add(new CustomerSubjectTranslation { CustomerSubjectId = customersubjectId, LanguageId = customersubjectTranslationMeta.LanguageId.Trim(), Name = customersubjectTranslationMeta.Name.Trim(), UnsignName = customersubjectTranslationMeta.Name.Trim().StripVietnameseChars().ToUpper(), Description = customersubjectTranslationMeta.Description?.Trim(), }); } // Insert CustomerSubject translations. var resultInsertTranslation = await _customersubjectTranslationRepository.Inserts(customersubjectTranslations); if (resultInsertTranslation > 0) { return(new ActionResultResponse(resultInsertTranslation, _customerResourceService.GetString("Add new CustomerSubject successful."))); } await RollbackInsert(customersubjectId); return(new ActionResultResponse(-5, _customerResourceService.GetString("Can not insert new CustomerSubject. Please contact with administrator."))); }