Пример #1
0
        /// <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()
            });
        }
Пример #2
0
        /// <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
            });
        }