/// <summary> /// /// </summary> /// <param name="product"></param> /// <returns></returns> private async Task <CrmProduct> GetNewProductByOriginProductAsync(CrmProduct product) { var newName = (await _productRelationRepository.FirstOrDefaultAsync( e => e.OriginalProductName.Replace(" ", "") == product.Prod_Name.Replace(" ", "") ))?.NewProductName; return(await _productRepository.FirstOrDefaultAsync(e => e.Prod_Name.Replace(" ", "") == newName.Replace(" ", ""))); }
/// <summary> /// 配置产品 /// </summary> /// <param name="productOptions"></param> /// <returns></returns> public async Task <string> ConfigureProduct(string shortName, string productName, int productTypeId, string productLevelIds, int periodClassHour) { var productType = await _productTypeRepository .Include(e => e.ProductSubTypes) .FirstOrDefaultAsync(e => e.Prot_ID == productTypeId); List <CrmProduct> products = new List <CrmProduct>(); foreach (var pst in productType.ProductSubTypes) { var product = new CrmProduct() { Prod_Ab = shortName, Prod_Name = $"{productName}({pst.Prost_Name})", Prod_ClassHour = null, Prod_Amount = 0, Prod_TermType = 0, Prod_Type = productTypeId, Prod_SubTypeID = pst.Prost_ID, Prod_CreatedBy = 1, Prod_CreatedDate = DateTime.Now, Prod_UpdatedBy = 1, Prod_UpdatedDate = DateTime.Now, Prod_Deleted = 0, Prod_Status = 1,//默认禁用 Prod_Levels = productLevelIds, Prod_PeriodClassHour = periodClassHour }; await _productRepository.InsertAsync(product); products.Add(product); } await _uow.SaveChangesAsync(); return(string.Join(',', products.Select(e => e.Prod_ID).OrderBy(e => e).ToList())); }