public async Task <int> CreateAsync(FpReturnFromBuyerModel model) { do { model.Code = CodeGenerator.GenerateCode(); }while (_dbSet.Any(d => d.Code.Equals(model.Code))); model.FlagForCreate(_identityService.Username, UserAgent); foreach (var detail in model.Details) { detail.FlagForCreate(_identityService.Username, UserAgent); foreach (var item in detail.Items) { item.FlagForCreate(_identityService.Username, UserAgent); _dbItemSet.Add(item); } _dbDetailSet.Add(detail); } _dbSet.Add(model); await CreateInventory(model, "IN"); return(await _dbContext.SaveChangesAsync()); }