public static void AssignValues(ProductItemInfo source, ProductItem target) { target.ProductId = source.ProductId.GetValueOrDefault(); //target.Currency = source.Currency; target.NetWeight = source.NetWeight; target.Comments = source.Comments; target.ReceiveTime = source.ReceiveTime; //target.SalesGuidePrice = source.SalesGuidePrice; target.Status = source.ImportStatus.GetValueOrDefault();//.Status; target.Quantity = source.Quantity; target.UnitPrice = source.UnitPrice; target.Units = source.Units; }
public static void AssignValues(ProductItem source, ProductItemInfo target) { //target.Currency = source.Currency; target.Comments = source.Comments; target.ImportStatus = source.Status; target.NetWeight = source.NetWeight.GetValueOrDefault(); target.OrderContractId = source.OrderContractId; target.OrderContractKey = source.OrderContractKey; target.ProductId = source.ProductId; target.ProductItemId = source.ProductItemId; target.ProductName = source.ProductName; target.ProductKey = source.ProductKey; target.Quantity = source.Quantity; target.ReceiveTime = source.ReceiveTime; target.SalesGuidePrice = (source.Product != null) ? (new Nullable <double>(source.Product.GuidingPrice)) : null;//source.SalesGuidePrice.GetValueOrDefault(); target.UnitPrice = source.UnitPrice; target.Units = source.Units; target.Product = new ProductViewModel(source.Product); }
private ProductItemViewModel GetIndexListProductItemsNonStock(ExtendedIdentityDbContext db, IOwinContext owinContext, ContractListCondition condition, ProductItemStatus?productItemStatus) { int userEntityPriv = PrivilegeManager.Instance.GetEntityPrivilegeLevel(condition.UserName); //IQueryable<ProductItem> var productItemQueryable = db.ProductItems.Include( "OrderContract").Where(pEntity => ( (pEntity.OrderContract.EntityPrivLevRequired < userEntityPriv || (pEntity.OrderContract.EntityPrivLevRequired == userEntityPriv && pEntity.OrderContract.OrderSysUserKey == condition.UserName)) && //根据OrderContract进行数据权限控制 !db.StockItems.Any( stEntity => stEntity.ProductItemId == pEntity.ProductItemId)) ) .Select(ProductItem => new { ProductItem, ProductItem.OrderContract, ProductItem.OrderContract.OrderContractKey, ProductItem.OrderContract.EntityPrivLevRequired, }); //.Join(db.StockItems, pi => pi.ProductItemId, //si => si.ProductItemId, (pi, si) => new {pi,si}).Where( //entity =>( entity.si !=null && entity.si.) if (condition.OrderType.HasValue) { productItemQueryable = productItemQueryable.Where( item => item.OrderContract != null && item.OrderContract.OrderType == condition.OrderType.Value); } AggregationsViewModel aggr = new AggregationsViewModel(); if (ContractListInclude.WithAggregations == (condition.ListInclude & ContractListInclude.WithAggregations)) { aggr.IsEnable = true; aggr.Count = productItemQueryable.Count(); } if (condition.OrderField == ContractOrderField.CONTRACT_KEY_ASC) { productItemQueryable = productItemQueryable.OrderBy(m => m.OrderContractKey); } else if (condition.OrderField == ContractOrderField.CONTRACT_KEY_DESC) { productItemQueryable = productItemQueryable .OrderByDescending(m => m.OrderContractKey); } else if (condition.OrderField == ContractOrderField.CTIME_DESC) { productItemQueryable = productItemQueryable .OrderByDescending(m => m.OrderContract.OrderCreateTime); } else { productItemQueryable = productItemQueryable .OrderBy(m => m.OrderContract.OrderCreateTime); } if (condition.Page.HasValue && condition.Rows.HasValue) { productItemQueryable = productItemQueryable.Skip( (condition.Page.Value - 1) * condition.Rows.Value) .Take(condition.Rows.Value); } var list = productItemQueryable.ToList(); List <ProductItemInfo> result = new List <ProductItemInfo>(); foreach (var item in list) { ProductItemInfo info = new ProductItemInfo(item.ProductItem); result.Add(info); } return(new ProductItemViewModel() { IsEnable = true, Aggregations = aggr, ContractItems = result }); }