public async Task SaveAsync(SimpleUser user, string buildingId, ShopBaseInfo shopBaseInfo, CancellationToken cancellationToken = default(CancellationToken))
        {
            if (user == null)
            {
                throw new ArgumentNullException(nameof(user));
            }

            if (shopBaseInfo == null)
            {
                throw new ArgumentNullException(nameof(shopBaseInfo));
            }

            //查看楼盘是否存在
            if (!Context.Shops.Any(x => x.Id == shopBaseInfo.Id))
            {
                Shops shops = new Shops()
                {
                    Id             = shopBaseInfo.Id,
                    BuildingId     = buildingId,
                    CreateUser     = user.Id,
                    CreateTime     = DateTime.Now,
                    OrganizationId = user.OrganizationId,
                    ExamineStatus  = 0
                };


                Context.Add(shops);
            }

            if (shopBaseInfo.TotalPrice != null)
            {
                shopBaseInfo.Price = shopBaseInfo.TotalPrice / Convert.ToDecimal(shopBaseInfo.BuildingArea);
            }
            //基本信息
            if (!Context.ShopBaseInfos.Any(x => x.Id == shopBaseInfo.Id))
            {
                Context.Add(shopBaseInfo);
            }
            else
            {
                Context.Attach(shopBaseInfo);
                Context.Update(shopBaseInfo);
            }
            try
            {
                await Context.SaveChangesAsync(cancellationToken);
            }
            catch (DbUpdateConcurrencyException) { }
        }
 public async Task DeleteAsync(ShopBaseInfo shopBaseInfo, CancellationToken cancellationToken = default(CancellationToken))
 {
     if (shopBaseInfo == null)
     {
         throw new ArgumentNullException(nameof(shopBaseInfo));
     }
     Context.Remove(shopBaseInfo);
     try
     {
         await Context.SaveChangesAsync(cancellationToken);
     }
     catch (DbUpdateConcurrencyException)
     {
         throw;
     }
 }
        public async Task <ShopBaseInfo> CreateAsync(ShopBaseInfo shopBaseInfo, CancellationToken cancellationToken = default(CancellationToken))
        {
            if (shopBaseInfo == null)
            {
                throw new ArgumentNullException(nameof(shopBaseInfo));
            }
            if (shopBaseInfo.TotalPrice != null)
            {
                shopBaseInfo.Price = shopBaseInfo.TotalPrice / Convert.ToDecimal(shopBaseInfo.BuildingArea);
            }
            Context.Add(shopBaseInfo);

            await Context.SaveChangesAsync(cancellationToken);

            return(shopBaseInfo);
        }
        public async Task UpdateAsync(ShopBaseInfo shopBaseInfo, CancellationToken cancellationToken = default(CancellationToken))
        {
            if (shopBaseInfo == null)
            {
                throw new ArgumentNullException(nameof(shopBaseInfo));
            }
            if (shopBaseInfo.TotalPrice != null)
            {
                shopBaseInfo.Price = shopBaseInfo.TotalPrice / Convert.ToDecimal(shopBaseInfo.BuildingArea);
            }

            Context.Attach(shopBaseInfo);
            Context.Update(shopBaseInfo);
            try
            {
                await Context.SaveChangesAsync(cancellationToken);
            }
            catch (DbUpdateConcurrencyException) { }
        }