コード例 #1
0
ファイル: ProductInfoService.cs プロジェクト: phonia/Turingit
 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 = ""
             };
         }
     }));
 }
コード例 #2
0
 public Handler(
     IProductInfoRepository productInfoRepository,
     IDatabaseScopeFactory databaseScopeFactory,
     ILogger <Handler> logger)
 {
     _productInfoRepository = productInfoRepository;
     _databaseScopeFactory  = databaseScopeFactory;
     _logger = logger;
 }
コード例 #3
0
 public Handler(
     IProductInfoRepository productInfoRepository,
     ITradeRepository tradeRepository,
     IProductDetailRepository productDetailRepository,
     IDatabaseScopeFactory databaseScopeFactory,
     ILogger <Handler> logger)
 {
     _productInfoRepository   = productInfoRepository;
     _tradeRepository         = tradeRepository;
     _productDetailRepository = productDetailRepository;
     _databaseScopeFactory    = databaseScopeFactory;
     _logger = logger;
 }
コード例 #4
0
ファイル: ProductInfoService.cs プロジェクト: phonia/Turingit
 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>()
             };
         }
     }));
 }
コード例 #5
0
ファイル: ProductInfoService.cs プロジェクト: phonia/Turingit
        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);
        }
コード例 #6
0
ファイル: ProductInfoService.cs プロジェクト: phonia/Turingit
 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
         });
     }
 }
コード例 #7
0
 public ProductFeaturesController(ILogger <ProductFeaturesController> logger, IProductInfoRepository productInfoRespository)
 {
     _logger = logger;
     _productInfoRepository = productInfoRespository;
 }
コード例 #8
0
 //Still takes in interface, not a concrete class
 public ProductsController(IProductInfoRepository productInfoRepository)
 {
     _productInfoRepository = productInfoRepository;
 }
コード例 #9
0
 public ProductInfoServices(IProductInfoRepository productInfoRepository)
 {
     this.productInfoRepository = productInfoRepository;
 }
コード例 #10
0
 public OrderManager(IOrderRepository orderRepository, ITaxInfoRepository taxRepository, IProductInfoRepository productRepository)
 {
     _orderRepository = orderRepository;
     _states          = taxRepository;
     _products        = productRepository;
 }
コード例 #11
0
 public ProductModelsController(ILogger <ProductModelsController> logger, IProductInfoRepository productInfoRepository)
 {
     _logger = logger;
     _productInfoRepository = productInfoRepository;
 }
コード例 #12
0
 public ProductInfoService(IDateTimeProvider dateTimeProvider, IProductInfoRepository repository)
     : base(dateTimeProvider, repository)
 {
     _repository = repository;
 }