コード例 #1
0
        public async Task <IActionResult> Update(string id, [FromBody] BranchContactMeta branchContactMeta)
        {
            var result = await _branchContactService.Update(CurrentUser.TenantId, id, branchContactMeta);

            if (result.Code <= 0)
            {
                return(BadRequest(result));
            }

            return(Ok(result));
        }
コード例 #2
0
        public async Task <ActionResultResponse> Update(string tenantId, string id, BranchContactMeta branchContactMeta)
        {
            if (!EnumerableExtensions.Any(branchContactMeta.BranchContactTranslations))
            {
                return(new ActionResultResponse(-1, _sharedResourceService.GetString("Please enter at least one language.")));
            }

            var branchContactInfo = await _branchContactRepository.GetInfo(id);

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

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

            branchContactInfo.LastUpdate       = DateTime.Now;
            branchContactInfo.ConcurrencyStamp = Guid.NewGuid().ToString();
            branchContactInfo.WorkTime         = branchContactMeta.WorkTime;
            branchContactInfo.Link             = branchContactMeta.Link;
            branchContactInfo.Order            = branchContactMeta.Order;
            branchContactInfo.Website          = branchContactMeta.Website;
            branchContactInfo.Logo             = branchContactMeta.Logo;
            branchContactInfo.IsOffice         = branchContactMeta.IsOffice;

            await _branchContactRepository.Update(id, branchContactInfo);

            foreach (var branchContactTranslation in branchContactMeta.BranchContactTranslations)
            {
                var branchContactTranslationInfo = await _branchContactTranslationRepository.GetInfo(tenantId, id, branchContactTranslation.LanguageId);

                if (branchContactTranslationInfo != null)
                {
                    branchContactTranslationInfo.Name       = branchContactTranslation.Name;
                    branchContactTranslationInfo.UnsignName = branchContactTranslation.Name.Trim().StripVietnameseChars().ToUpper();
                    branchContactTranslationInfo.Address    = branchContactTranslation.Address;
                    await _branchContactTranslationRepository.Update(tenantId, id, branchContactTranslation.LanguageId, branchContactTranslationInfo);
                }
                else
                {
                    branchContactTranslationInfo = new BranchContactTranslation()
                    {
                        Name            = branchContactTranslation.Name,
                        LanguageId      = branchContactTranslation.LanguageId,
                        TenantId        = tenantId,
                        Address         = branchContactTranslation.Address,
                        BranchContactId = branchContactInfo.Id,
                        UnsignName      = branchContactTranslation.Name.Trim().StripVietnameseChars().ToUpper()
                    };
                    await _branchContactTranslationRepository.Insert(branchContactTranslationInfo);
                }
            }

            var listBranchContactItem = await _branchContactDetailRepository.GetAll(id, true);

            if (listBranchContactItem != null && listBranchContactItem.Any())
            {
                foreach (var branchItem in listBranchContactItem)
                {
                    var branchItemExists = branchContactMeta.BranchContactDetails.Where(x => x.Id == branchItem.Id).ToList();
                    if (branchItemExists == null || branchItemExists.Count() == 0)
                    {
                        await _branchContactDetailRepository.ForceDelete(branchItem.Id);
                    }
                }
            }

            foreach (var branchContactDetail in branchContactMeta.BranchContactDetails)
            {
                var branchContactDetailInfo = await _branchContactDetailRepository.GetInfo(branchContactDetail.Id);

                if (branchContactDetailInfo != null)
                {
                    branchContactDetailInfo.ContactValue = branchContactDetail.ContactValue;
                    branchContactDetailInfo.ContactType  = branchContactDetail.ContactType;
                    await _branchContactDetailRepository.Update(branchContactDetail.Id, branchContactDetailInfo);
                }
                else
                {
                    branchContactDetailInfo = new BranchContactDetail()
                    {
                        Id = Guid.NewGuid().ToString(),
                        BranchContactId = branchContactInfo.Id,
                        ContactType     = branchContactDetail.ContactType,
                        ContactValue    = branchContactDetail.ContactValue,
                    };
                    await _branchContactDetailRepository.Insert(branchContactDetailInfo);
                }
            }

            return(new ActionResultResponse(1, _resourceService.GetString("Update BranchContact successful.")));
        }
コード例 #3
0
        public async Task <ActionResultResponse> Insert(string tenantId, BranchContactMeta branchContactMeta)
        {
            if (!EnumerableExtensions.Any(branchContactMeta.BranchContactTranslations))
            {
                return(new ActionResultResponse(-1, _sharedResourceService.GetString("Please enter at least one language.")));
            }

            var branchContactId = Guid.NewGuid().ToString();
            var branchContact   = new BranchContact
            {
                Id               = branchContactId,
                CreateTime       = DateTime.Now,
                ConcurrencyStamp = Guid.NewGuid().ToString(),
                TenantId         = tenantId,
                WorkTime         = branchContactMeta.WorkTime,
                Link             = branchContactMeta.Link,
                Website          = branchContactMeta.Website,
                Logo             = branchContactMeta.Logo,
                IsOffice         = branchContactMeta.IsOffice
            };

            var result = await _branchContactRepository.Insert(branchContact);

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

            var branchContactTranslations = new List <BranchContactTranslation>();

            foreach (var branchContactTranslation in branchContactMeta.BranchContactTranslations)
            {
                branchContactTranslations.Add(new BranchContactTranslation
                {
                    TenantId        = branchContact.TenantId,
                    BranchContactId = branchContact.Id,
                    LanguageId      = branchContactTranslation.LanguageId,
                    Name            = branchContactTranslation.Name,
                    UnsignName      = branchContactTranslation.Name.Trim().StripVietnameseChars().ToUpper(),
                    Address         = branchContactTranslation.Address,
                });
            }

            var resultInsertTranslations = await _branchContactTranslationRepository.Inserts(branchContactTranslations);

            if (resultInsertTranslations < 0)
            {
                await RollbackInsert(branchContact.Id);

                return(new ActionResultResponse(result, _resourceService.GetString("Something went wrong. Please contact with administrator.")));
            }

            if (branchContactMeta.BranchContactDetails.Any() && branchContactMeta.BranchContactDetails.Count > 0)
            {
                var branchContactDetails = new List <BranchContactDetail>();
                foreach (var branchContactDetail in branchContactMeta.BranchContactDetails)
                {
                    branchContactDetails.Add(new BranchContactDetail
                    {
                        Id = Guid.NewGuid().ToString(),
                        BranchContactId = branchContact.Id,
                        ContactType     = branchContactDetail.ContactType,
                        ContactValue    = branchContactDetail.ContactValue,
                    });
                }

                var resultInsertDetailContact = await _branchContactDetailRepository.Inserts(branchContactDetails);

                if (resultInsertDetailContact < 0)
                {
                    await RollbackInsert(branchContact.Id);

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

            return(new ActionResultResponse(resultInsertTranslations, _resourceService.GetString("Add new BranchContact successful.")));
        }