using AutoMapper;
using BBWY.Client.Models.Statistics.AfterSaleOrder;

namespace BBWY.Client.Models
{
    public class MappingProfile : Profile
    {
        public MappingProfile()
        {
            CreateMap<OrderDropShippingResponse, OrderDropShipping>();
            CreateMap<OrderCostDetailResponse, OrderCostDetail>();
            CreateMap<OrderCouponResponse, OrderCoupon>();
            CreateMap<OrderCostResponse, OrderCost>();
            CreateMap<ConsigneeResponse, Consignee>();
            CreateMap<AfterSaleOrderResponse, AfterSaleOrder>();
            CreateMap<OrderResponse, Order>();
            CreateMap<OrderSkuResponse, OrderSku>().ForMember(t => t.ProductItemNum, opt => opt.MapFrom(f => f.ProductNo));
            CreateMap<AuditPayBillResponse, AuditPayBill>();
            CreateMap<MDSUserResponse, User>().ForMember(t => t.TeamId, opt => opt.MapFrom(f => f.DepartmentId))
                                              .ForMember(t => t.TeamName, opt => opt.MapFrom(f => f.DepartmentName))
                                              .ForMember(t => t.Name, opt => opt.MapFrom(f => f.UserName));

            CreateMap<ShopResponse, Shop>().ForMember(t => t.VenderType, opt => opt.MapFrom(f => f.ShopType))
                                           .ForMember(t => t.Platform, opt => opt.MapFrom(f => f.PlatformId))
                                           .ForMember(t => t.PurchaseAccountList, opt => opt.MapFrom(f => f.PurchaseList));

            CreateMap<PurchaseAccountResponse, PurchaseAccount>();
            CreateMap<DepartmentResponse, Department>();

            CreateMap<PurchaseOrderResponse, PurchaseOrder>();
            CreateMap<ToDayOrderAchievementResponse, ToDayOrderAchievement>();
            CreateMap<SDGroupPersonStatisticsResponse, SDGroupPersonStatistics>();
            CreateMap<BillCorrectionOrderResponse, BillCorrectionOrder>();
            CreateMap<ServiceOrderItemResponse, ServiceOrder>();
            CreateMap<ProductSkuWithSchemeResponse, ProductSkuWithScheme>();
            CreateMap<PurchaseOrderV2Response, PurchaseOrderV2>();
            CreateMap<PurchaseOrderSkuResponse, PurchaseOrderSku>();
        }
    }
}