public ViewModelProfile() { CreateMap <Order, OrderViewModel>() .ForMember(dest => dest.OrderID, opt => opt.MapFrom(src => src.OrderID)) .ForMember(dest => dest.Customer, opt => opt.MapFrom(src => src.Customer)) .ForMember(dest => dest.Shipper, opt => opt.MapFrom(src => src.Shipper)) .ForMember(dest => dest.OrderDate, opt => opt.MapFrom(src => src.OrderDate)) .ForMember(dest => dest.RequiredDate, opt => opt.MapFrom(src => src.RequiredDate)) .ForMember(dest => dest.ShipName, opt => opt.MapFrom(src => src.ShipName)) .ForMember(dest => dest.ShipAddress, opt => opt.MapFrom(src => src.ShipAddress)) .ForMember(dest => dest.ShipCity, opt => opt.MapFrom(src => src.ShipCity)) .ForMember(dest => dest.ShipRegion, opt => opt.MapFrom(src => src.ShipRegion)) .ForMember(dest => dest.ShipPostCode, opt => opt.MapFrom(src => src.ShipPostalCode)) .ForMember(dest => dest.ShipCountry, opt => opt.MapFrom(src => src.ShipCountry)); CreateMap <Order_Detail, OrderViewModel.LineItem>() .ForMember(dest => dest.Product, opt => opt.MapFrom(src => src.Product)) .ForMember(dest => dest.UnitPrice, opt => opt.MapFrom(src => src.UnitPrice)) .ForMember(dest => dest.Qty, opt => opt.MapFrom(src => src.Quantity)) .ForMember(dest => dest.Discount, opt => opt.MapFrom(src => src.Discount * 100)); CreateMap <Order, ViewOrderViewModel>() .ForMember(dest => dest.OrderID, opt => opt.MapFrom(src => src.OrderID)) .ForMember(dest => dest.CustomerName, opt => opt.MapFrom(src => src.Customer.CompanyName)) .ForMember(dest => dest.OrderDate, opt => opt.MapFrom(src => src.OrderDate.HasValue ? src.OrderDate.Value.ToString(Constants.ShortDateFormat) : string.Empty)) .ForMember(dest => dest.RequiredDate, opt => opt.MapFrom(src => src.RequiredDate.HasValue ? src.RequiredDate.Value.ToString(Constants.ShortDateFormat) : string.Empty)) .ForMember(dest => dest.ShipMethod, opt => opt.MapFrom(src => src.Shipper.CompanyName)) .ForMember(dest => dest.ShipDate, opt => opt.MapFrom(src => src.ShippedDate.HasValue ? src.ShippedDate.Value.ToString(Constants.ShortDateFormat) : string.Empty)); CreateMap <Order_Detail, ViewOrderViewModel.LineItemModel>() .ForMember(dest => dest.ProductName, opt => opt.MapFrom(src => src.Product.ProductName)) .ForMember(dest => dest.UnitPrice, opt => opt.MapFrom(src => src.UnitPrice)) .ForMember(dest => dest.Qty, opt => opt.MapFrom(src => src.Quantity)) .ForMember(dest => dest.Discount, opt => opt.MapFrom(src => src.Discount)) .ForMember(dest => dest.TotalPrice, opt => opt.MapFrom(src => OrderUtils.CalculateLineTotal(src.UnitPrice, src.Quantity, src.Discount))); }
public OrderModelProfile() { CreateMap <Order, OrderLineModel>() .ForMember(dest => dest.OrderID, opt => opt.MapFrom(src => src.OrderID)) .ForMember(dest => dest.CompanyName, opt => opt.MapFrom(src => src.Customer.CompanyName)) .ForMember(dest => dest.OrderDate, opt => opt.MapFrom(src => src.OrderDate)) .ForMember(dest => dest.ItemCount, opt => opt.MapFrom(src => src.Order_Details.Count())) .ForMember(dest => dest.OrderTotal, opt => opt.MapFrom(src => src.Order_Details.Sum(x => OrderUtils.CalculateLineTotal(x.UnitPrice, x.Quantity, x.Discount)))); }
public void Should_Be_Final_Price_Of_49_14([Values(15.75)] decimal unitPrice, [Values(4)] int qty, [Values(22)] float discountPct) { Assert.AreEqual(49.14, Math.Round(OrderUtils.CalculateLineTotal(unitPrice, qty, discountPct), 2)); }