/// <summary> /// Maps Id, Name, Price, OrgId, CategoriesMin /// </summary> /// <param name="change"></param> /// <returns></returns> /// <exception cref="NullReferenceException"></exception> public static DALChangeDTO FromDomain(Change change) { if (change == null) { throw new NullReferenceException("Can't map, Domain.Change is null"); } return(new DALChangeDTO() { Id = change.Id, Name = change.ChangeName?.Translate() ?? "CHANGE NAME NOT LOADED", CurrentPrice = PriceFinder.ForChange(change, change.Prices, DateTime.Now) ?? -1.0m, OrganizationId = change.OrganizationId, Categories = change.ChangeInCategories? .Where(obj => obj.Category.IsDeleted == false) .Select(obj => CategoryMapper.FromDomainToMin(obj.Category)) .ToList() }); }
/// <summary> /// Maps id, price, name, desc, orgId, CategoriesMin /// </summary> /// <param name="product"></param> /// <returns></returns> public static DALProductDTO FromDomain(Product product) { if (product == null) { throw new NullReferenceException("Can't use Mapper on a null object"); } return(new DALProductDTO() { Id = product.Id, CurrentPrice = PriceFinder.ForProduct(product, product.Prices, DateTime.Now) ?? -1.0m, Name = product.ProductName?.Translate() ?? "PRODUCT NAME NOT LOADED", Description = product.ProductDescription?.Translate() ?? "PRODUCT DESCRIPTION NOT LOADED", OrganizationId = product.OrganizationId, Categories = product.ProductInCategories != null && product.ProductInCategories.Any() ? product.ProductInCategories .Where(obj => !obj.Category.IsDeleted) .Select(obj => CategoryMapper.FromDomainToMin(obj.Category)) .ToList(): null }); }