Exemple #1
0
        public async Task <ActionResultResponse> Insert(string tenantId, string creatorId, string creatorFullName, BrandMeta brandMeta)
        {
            var checkInfo = await _brandRepository.CheckExistsByName(tenantId, brandMeta.Name);

            if (checkInfo)
            {
                return(new ActionResultResponse(-1, _resourceService.GetString("Brand name already exists.")));
            }

            if (!string.IsNullOrEmpty(brandMeta.Email) && !brandMeta.Email.IsEmailAddress())
            {
                return(new ActionResultResponse(-2, _sharedResourceService.GetString("Email is not validate")));
            }

            //if (!string.IsNullOrEmpty(brandMeta.PhoneNumber) && !brandMeta.Email.IsPhoneNumber())
            //    return new ActionResultResponse(-2, _sharedResourceService.GetString("Phone number is not validate"));

            var brandId = Guid.NewGuid().ToString();
            var brand   = new Brand
            {
                Id               = brandId,
                Name             = brandMeta.Name,
                UnsignName       = brandMeta.Name.StripVietnameseChars().ToUpper(),
                IsActive         = brandMeta.IsActive,
                Description      = brandMeta.Description,
                ConcurrencyStamp = Guid.NewGuid().ToString(),
                CreateTime       = DateTime.Now,
                TenantId         = tenantId,
                CreatorId        = creatorId,
                CreatorFullName  = creatorFullName,
                Address          = brandMeta.Address,
                Email            = brandMeta.Email,
                PhoneNumber      = brandMeta.PhoneNumber,
                Website          = brandMeta.Website,
                Logo             = brandMeta.Logo
            };

            var result = await _brandRepository.Insert(brand);

            if (result > 0)
            {
                return(new ActionResultResponse(result, _sharedResourceService.GetString("Add new brand successful")));
            }

            await RollbackInsert(tenantId, brandId);

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