namespace Timeline.Models.Http
{
    /// 
    /// Common response for delete method.
    /// 
    public class CommonDeleteResponse : CommonDataResponse
    {
        /// 
        public class ResponseData
        {
            /// 
            public ResponseData() { }
            /// 
            public ResponseData(bool delete)
            {
                Delete = delete;
            }
            /// 
            /// True if the entry is deleted. False if the entry does not exist.
            /// 
            public bool Delete { get; set; }
        }
        /// 
        public CommonDeleteResponse()
        {
        }
        /// 
        public CommonDeleteResponse(int code, string message, bool delete)
            : base(code, message, new ResponseData(delete))
        {
        }
        internal static CommonDeleteResponse Create(bool delete)
        {
            return delete ? Delete() : NotExist();
        }
        internal static CommonDeleteResponse Delete()
        {
            return new CommonDeleteResponse(0, Resource.MessageDeleteDelete, true);
        }
        internal static CommonDeleteResponse NotExist()
        {
            return new CommonDeleteResponse(0, Resource.MessageDeleteNotExist, false);
        }
    }
}