| 1234567891011121314151617181920212223242526272829 | using System;
using System.Collections.Generic;
using UnivateProperties_API.Containers.Property;
using UnivateProperties_API.Model.Properties;
namespace UnivateProperties_API.Repository.Properties
{
    public interface IPropertyRepository : IRepository<Property>
    {
        List<PropertyDisplay> GetDisplay();
        List<PropertyDisplay> GetDisplay(Func<Property, bool> where);
        List<PropertyDisplay> GetDisplay(PropertySearch search);        
        List<PropertyDisplay> GetLatestDisplay();
        List<PropertyDisplay> GetLatestDisplay(string type);
        List<PropertyType> GetPropertyTypes(Func<PropertyType, bool> where);
        List<PropertyList> GetPropertyList(int By);
        List<PropertyList> GetPropertyList();
        List<PropertyAdminContainer> GetAdminProperties(int UserId);
        List<string> GetStatuses();
        void Insert(PropertyContainer items);
        PropertyContainer GetDetailed(int id, bool detailed);
        void Update(PropertyContainer item);
        bool MayEdit(int id);
        void InsertImages(int propertyID, List<PropertyImage> Images);
        void InsertFields(int propertyID, List<PropertyUserField> Fields);
        void PublishProperty(int propertyID);
        void UnpublishProperty(int propertyID);
    }
}
 |