예제 #1
0
 public async Task <int> Update(CustomerSubject customersubject)
 {
     return(await Context.SaveChangesAsync());
 }
        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.")));
        }
예제 #3
0
 public async Task <int> Insert(CustomerSubject customersubject)
 {
     _CustomersubjectRepository.Create(customersubject);
     return(await Context.SaveChangesAsync());
 }