コード例 #1
0
ファイル: StockMapper.cs プロジェクト: leonardo1994/ERP
        public T StartMapper <T>(IntegrationItemsStock integration) where T : class, IEntityBase
        {
            var config = new MapperConfiguration(cfg =>
            {
                cfg.CreateMap <IntegrationItemsStock, T>()
                .ForMember(x => x.CompanyControl, opt => opt.Ignore())
                .ForMember(x => x.CompanyControlId, opt => opt.Ignore())
                .ForMember(x => x.DateRegistration, opt => opt.Ignore())
                .ForMember(x => x.DateUpdate, opt => opt.Ignore())
                .ForMember(x => x.Id, opt => opt.Ignore())
                .ForMember(x => x.Integration, opt => opt.Ignore())
                .ForMember(x => x.Status, opt => opt.Ignore())
                .ForMember(x => x.Integration, opt => opt.UseValue(true))
                .ForMember(x => x.UserControl, opt => opt.Ignore())
                .ForMember(x => x.UserControlId, opt => opt.Ignore());
            });

            IMapper mapper = config.CreateMapper();

            var obj = mapper.Map <IntegrationItemsStock, T>(integration);

            var propertyIntegrationItemsStockId = typeof(T).GetProperty("IntegrationItemsStockId");

            if (propertyIntegrationItemsStockId != null)
            {
                propertyIntegrationItemsStockId.SetValue(obj, integration.Id);
            }

            return(obj);
        }
コード例 #2
0
        public bool InsertOrUpdate(IntegrationItemsStock integrationItemsStock)
        {
            var integration = _epr.Search(integrationItemsStock.GetExpressionByRelation()).FirstOrDefault();

            if (integration != null)
            {
                integration = _stockMapper.StartMapper(integrationItemsStock, integration);
            }

            if (integration != null)
            {
                _epr.InsertOrUpdate(integration);

                _conn.Save();

                ItemInputStock  itemInputStock  = null;
                ItemOutputStock itemOutputStock = null;

                switch (integration.TypeIntegration)
                {
                case TypeIntegration.InputStock:

                    itemInputStock = _itemInputStockApp.Search(c => c.IntegrationItemsStockId == integration.Id).FirstOrDefault();
                    _itemInputStockApp.InsertOrUpdate(_stockMapper.StartMapper(integration, itemInputStock));

                    break;

                case TypeIntegration.OutputStock:

                    itemOutputStock = _itemOutputStockApp.Search(c => c.IntegrationItemsStockId == integration.Id).FirstOrDefault();
                    _itemOutputStockApp.InsertOrUpdate(_stockMapper.StartMapper(integration, itemOutputStock));

                    break;

                default:
                    return(false);
                }
            }
            else
            {
                _epr.InsertOrUpdate(integrationItemsStock);

                if (_conn.Save())
                {
                    switch (integrationItemsStock.TypeIntegration)
                    {
                    case TypeIntegration.InputStock:

                        _itemInputStockApp.InsertOrUpdate(_stockMapper.StartMapper <ItemInputStock>(integrationItemsStock));
                        break;

                    case TypeIntegration.OutputStock:

                        _itemOutputStockApp.InsertOrUpdate(_stockMapper.StartMapper <ItemOutputStock>(integrationItemsStock));
                        break;

                    default:
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }
            }

            return(_conn.Save());
        }