public DelProductInfoResponse DelProductInfo(DelProductInfoRequest request) { return((DelProductInfoResponse)Service <DelProductInfoResponse>(() => { if (request == null) { throw new Exception("null input!"); } using (IUnitOfWork unitOfWork = RepositoryFactory.GetUnitOfWork()) { IProductInfoRepository productInfoRepository = (IProductInfoRepository)RepositoryFactory .Get(typeof(IProductInfoRepository), unitOfWork); ProductInfo delProductInfo = productInfoRepository.GetAll().Include("InstallInfoes").Include("MaintanceRecords").Include("ProductAddtionalInfoes") .Where(it => it.Id == request.ProductId).FirstOrDefault(); if (delProductInfo == null) { throw new Exception("不存在或已删除的产品信息!"); } //if (delProductInfo.InstallInfoes != null) //{ // IInstallInfoRepository installInfoRepository = (IInstallInfoRepository)RepositoryFactory // .Get(typeof(IInstallInfoRepository), unitOfWork); //} //if (delProductInfo.MaintanceRecords != null) //{ } //if (delProductInfo.ProductAddtionalInfoes != null) //{ } productInfoRepository.Del(delProductInfo); unitOfWork.Commit(); return new DelProductInfoResponse() { IsSucess = true, Message = "" }; } })); }
public ResponseBase GetProductByName(GetProductInfoByNameRequest request) { return(Service <GetProductInfoByNameResponse>(() => { if (request == null) { throw new Exception("NUll Input!"); } using (IUnitOfWork unitOfWork = RepositoryFactory.GetUnitOfWork()) { IProductInfoRepository productInfoRepository = (IProductInfoRepository)RepositoryFactory .Get(typeof(IProductInfoRepository), unitOfWork); var ret = productInfoRepository.GetAll().Where(re => re.Name.Contains(request.Name)) .Select(re => new { Id = re.Id, Name = re.Name, TypeVersion = re.TypeVersion, ProductAddtionalInfoes = re.ProductAddtionalInfoes.ToList(), Note = re.Note, Rstate = re.RState, MaintanceRecords = re.MaintanceRecords.ToList(), InstallInfoes = re.InstallInfoes.ToList() }).ToList(); if (ret == null) { throw new Exception("未查询到数据"); } List <ProductInfo> list = ret.Select(re => new ProductInfo() { Id = re.Id, Name = re.Name, TypeVersion = re.TypeVersion, ProductAddtionalInfoes = re.ProductAddtionalInfoes.ToList(), Note = re.Note, MaintanceRecords = re.MaintanceRecords, RState = re.Rstate, InstallInfoes = re.InstallInfoes }).ToList(); unitOfWork.Commit(); return new GetProductInfoByNameResponse() { IsSucess = true, Message = "", ProductInfos = list.Map <ProductInfoView, ProductInfo>() }; } })); }
public RegisterProductResponse RegisterProduct(RegisterProductRequest request) { RegisterProductResponse response = new RegisterProductResponse(); try { using (IUnitOfWork unitOfWork = RepositoryFactory.GetUnitOfWork()) { if (request != null && request.ProductInfo != null) { ProductInfo registerProductInfo = request.ProductInfo.Map <ProductInfo, ProductInfoView>(); registerProductInfo.Register(); IProductInfoRepository productInfoRepository = RepositoryFactory.Get(typeof(IProductInfoRepository), unitOfWork) as IProductInfoRepository; if (productInfoRepository.GetAll().Where(it => it.Id.Equals(registerProductInfo.Id)).FirstOrDefault() == null) { productInfoRepository.Add(registerProductInfo); unitOfWork.Commit(); response.IsSucess = true; response.ProductInfo = registerProductInfo.Map <ProductInfoView, ProductInfo>(); } else { response.IsSucess = false; response.Message = "已存在的产品Id!"; } } else { response.IsSucess = false; response.Message = "No Input!"; } } } catch (Exception ex) { Log.Write(ex.Message); response.IsSucess = false; response.Message = ex.Message; } return(response); }
public GetProductInfoByIdResponse GetProductById(GetProductInfoByIdRequest request) { try { using (var unitOfWork = RepositoryFactory.GetUnitOfWork()) { if (request == null) { return new GetProductInfoByIdResponse() { IsSucess = false, Message = "NoInput" } } ; IProductInfoRepository productInfoRepository = RepositoryFactory.Get(typeof(IProductInfoRepository), unitOfWork) as IProductInfoRepository; var ret = productInfoRepository.GetAll() .Where(it => it.Id.Equals(request.Id)) .Select(it => new { Id = it.Id, Name = it.Name, TypeVersion = it.TypeVersion, ProductAddtionalInfoes = it.ProductAddtionalInfoes.ToList(), Note = it.Note, Rstate = it.RState, MaintanceRecords = it.MaintanceRecords.ToList(), InstallInfoes = it.InstallInfoes.ToList() }).ToList(); if (ret == null) { return new GetProductInfoByIdResponse() { IsSucess = false, Message = "No Products!" } } ; List <ProductInfo> list = ret.Select(it => new ProductInfo() { Id = it.Id, Name = it.Name, TypeVersion = it.TypeVersion, ProductAddtionalInfoes = it.ProductAddtionalInfoes.ToList(), Note = it.Note, MaintanceRecords = it.MaintanceRecords, RState = it.Rstate, InstallInfoes = it.InstallInfoes }).ToList(); unitOfWork.Commit(); return(new GetProductInfoByIdResponse() { IsSucess = true, ProductInfoView = list.Map <ProductInfoView, ProductInfo>().FirstOrDefault() }); } } catch (Exception ex) { Log.Write(ex.Message); return(new GetProductInfoByIdResponse() { IsSucess = false, Message = ex.Message }); } }