public static GetProductStoreResponse ToGetResponseModel(this MongoEntity mongoEntity)
        {
            if (mongoEntity == null)
            {
                return(null);
            }
            GetProductStoreResponse getProductStoreResponse = new GetProductStoreResponse()
            {
                Product = new ProductEntity()
                {
                    Id             = mongoEntity.Id,
                    SellerId       = mongoEntity.SellerId,
                    Name           = mongoEntity.Name,
                    Category       = mongoEntity.Category.ToModel(),
                    Description    = mongoEntity.Description,
                    HeroImage      = mongoEntity.Gallery.HeroImageUrl,
                    Images         = mongoEntity.Gallery.ImageUrls,
                    Price          = mongoEntity.Price.ToModel(),
                    Status         = mongoEntity.Status.ToStatusModel(),
                    PostDateTime   = mongoEntity.CreatedDate,
                    ExpirationDate = mongoEntity.ExpirationDate,
                    PurchasedDate  = mongoEntity.PurchasedDate,
                    PickupAddress  = mongoEntity.PickupAddress.ToModel()
                }
            };

            return(getProductStoreResponse);
        }
        public static Product ToModel(this GetProductStoreResponse getProductResponse)
        {
            if (getProductResponse == null)
            {
                return(null);
            }

            Price   price    = getProductResponse.Product.Price.ToModel();
            Product response = new Product(price, getProductResponse.Product.SellerId, getProductResponse.Product.Name)

            {
                Id             = getProductResponse.Product.Id,
                HeroImage      = getProductResponse.Product.HeroImage,
                ExpirationDate = getProductResponse.Product.ExpirationDate,
                PostDateTime   = getProductResponse.Product.PostDateTime,
                Description    = getProductResponse.Product.Description,
                PurchasedDate  = getProductResponse.Product.PurchasedDate,
                PickupAddress  = getProductResponse.Product.PickupAddress.ToModel(),
                Images         = getProductResponse.Product.Images,
                Status         = getProductResponse.Product.Status.ToModel(),
                Category       = getProductResponse.Product.Category.ToModel(),
            };

            return(response);
        }
        public static GetProductStoreResponse ToGetProductStore(this Product product)
        {
            if (product == null)
            {
                return(null);
            }
            GetProductStoreResponse response = new GetProductStoreResponse()
            {
                Product = product.ToEntity()
            };

            return(response);
        }