using System; using System.Collections.Generic; using System.Web.Mvc; namespace Yavsc.Model.WorkFlow { /// /// Interface content provider. /// Class Assertion: Statuses.Length >= FinalStatuses.Length. /// public interface IContentProvider : IModule, IDisposable { /// /// Gets the different status labels. /// 0 is the starting status. Each status is an integer and the 0-based index /// of a string in this array. /// /// The status labels. string [] Statuses { get; } /// /// Gets the final statuses. /// /// The final statuses. bool [] FinalStatuses { get; } /// /// Gets the writting status changes. /// /// The writting statuses. /// Wrid. StatusChange[] GetWrittingStatuses (long wrid); /// /// Gets the estimate status changes. /// /// The estimate statuses. /// Estid. StatusChange[] GetEstimateStatuses (long estid); /// /// Creates the estimate. /// /// The estimate. /// Client. /// Title. long CreateEstimate (string client, string title); /// /// Add a line to the specified estimate by id, /// using the specified desc, ucost, count and productid. /// /// Estimate identifier. /// Textual description for this line. /// Unitary cost. /// Cost multiplier. /// Product identifier. long Write (long estid, string desc, decimal ucost, int count, string productid); /// /// Gets the estimate by identifier. /// /// The estimate. /// Estimid. Estimate GetEstimate (long estimid); /// /// Gets the estimates created for a specified client. /// /// The estimates. /// Client. Estimate [] GetEstimates(string client); /// /// Drops the writting. /// /// Wrid. void DropWritting (long wrid); /// /// Drops the estimate. /// /// Estid. void DropEstimate (long estid); /// /// Tags the writting. /// /// Wrid. /// Tag. void TagWritting (long wrid,string tag); /// /// Drops the tag writting. /// /// Wrid. /// Tag. void DropTagWritting (long wrid,string tag); /// /// Updates the writting. /// /// Wr. void UpdateWritting (Writting wr); /// /// Sets the title for a specified estimate by id. /// /// Estid. /// New title. void SetTitle (long estid, string newTitle); /// /// Sets the descripton for a writting. /// /// Writid. /// New desc. void SetDesc (long writid, string newDesc); /// /// Sets the writting status. /// /// Wrtid. /// Status. /// Username. void SetWrittingStatus (long wrtid,int status,string username); /// /// Sets the estimate status. /// /// Estid. /// Status. /// Username. void SetEstimateStatus (long estid,int status,string username); } }