184 lines
4.6 KiB
C#
184 lines
4.6 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
using System.Text;
|
|||
|
using System.Threading.Tasks;
|
|||
|
|
|||
|
namespace HRM.BO
|
|||
|
{
|
|||
|
|
|||
|
|
|||
|
public enum EnumwfStatus
|
|||
|
{
|
|||
|
// Do not change without discuss to shamim
|
|||
|
Initiate = 0,
|
|||
|
Received = 1,
|
|||
|
Revert = 2,
|
|||
|
Reject = 3,
|
|||
|
Approve = 4,
|
|||
|
Halt = 5,
|
|||
|
Recomendation = 6,
|
|||
|
End = 7
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
public enum EnumWFActorType
|
|||
|
{
|
|||
|
Not_Defined=0,
|
|||
|
AnyEmployee = 1,
|
|||
|
LineManager = 2,
|
|||
|
Employee = 3,
|
|||
|
OrganogramNode = 4,
|
|||
|
PositionType = 5,
|
|||
|
ListField = 6
|
|||
|
}
|
|||
|
|
|||
|
public enum EnumwfLogicOperator
|
|||
|
{
|
|||
|
No_Operator = 0,
|
|||
|
Equal = 1,
|
|||
|
Greater = 2,
|
|||
|
Less = 3,
|
|||
|
LessOrEqual = 4,
|
|||
|
Not_Null = 5,
|
|||
|
Null = 6,
|
|||
|
SourceFieldTrue=7,
|
|||
|
SourceFiledFalse=8
|
|||
|
}
|
|||
|
|
|||
|
public enum EnumWFTaskType {
|
|||
|
Email_forNotification=1,
|
|||
|
Email_ForPendingJob=2,
|
|||
|
Web_Notification=2,
|
|||
|
}
|
|||
|
public enum EnumwfLogicAction
|
|||
|
{
|
|||
|
|
|||
|
InValidAction =0,
|
|||
|
NextStep=1,
|
|||
|
Complete = 2,
|
|||
|
GoToStep = 3,
|
|||
|
Recomendation=4
|
|||
|
}
|
|||
|
|
|||
|
public enum EnumWFAmountType
|
|||
|
{
|
|||
|
Amount=1,
|
|||
|
|
|||
|
}
|
|||
|
public enum EnumAlternateActionType
|
|||
|
{
|
|||
|
None=0,
|
|||
|
Delegation =1,
|
|||
|
Admin =2
|
|||
|
}
|
|||
|
#region class
|
|||
|
|
|||
|
//public class WorkflowType
|
|||
|
//{
|
|||
|
// public int WorkFlowTypeID { get; set; }
|
|||
|
// public string Name { get; set; }
|
|||
|
// public string Description { get; set; }
|
|||
|
// public int STATUSUPDATETABLE { get; set; }
|
|||
|
// public int STATUSUPDATECOLUMN { get; set; }
|
|||
|
// public string WEBPAGELINK { get; set; }
|
|||
|
// public int STATUSUPDATETABLEPK { get; set; }
|
|||
|
// public string SourceObjectName { get; set; }
|
|||
|
// public string PKGetFunctionName { get; set; }
|
|||
|
//}
|
|||
|
|
|||
|
public class WFRule : BasicBaseObject
|
|||
|
{
|
|||
|
public WFRule ()
|
|||
|
{
|
|||
|
}
|
|||
|
#region properties
|
|||
|
public int WFRuleID { get; set; }
|
|||
|
|
|||
|
public int WFTypeID { get; set; }
|
|||
|
public int Weightage { get; set; }
|
|||
|
public List<WFRule.WFStep> Steps { get; set; }
|
|||
|
|
|||
|
public int? WFAdminEmpID { get; set; }
|
|||
|
|
|||
|
public int? delayDaysToNofityAdmin { get; set; }
|
|||
|
public int? delayDaysToNotifyInitiator { get; set; }
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region sub-class
|
|||
|
|
|||
|
|
|||
|
|
|||
|
public class WFStep
|
|||
|
{
|
|||
|
public WFStep ()
|
|||
|
{
|
|||
|
this.ReqAppAll = false;
|
|||
|
this.Amount = 0;
|
|||
|
this.StepSequeceNo = 0;
|
|||
|
this.Operator = EnumwfLogicOperator.No_Operator;
|
|||
|
this.Action = EnumwfLogicAction.InValidAction;
|
|||
|
this.description = "";
|
|||
|
}
|
|||
|
public int wfruleID { get; set; }
|
|||
|
public int wfruleStepID { get; set; }
|
|||
|
public List<WFStepActor> Actors { get; set; }
|
|||
|
public int StepSequeceNo { get; set; }
|
|||
|
public int StepNo { get; set; }
|
|||
|
public string description { get; set; }
|
|||
|
public bool ReqAppAll { get; set; }
|
|||
|
public string ListActionFieldName { get; set; }
|
|||
|
public double Amount { get; set; }
|
|||
|
public EnumwfLogicOperator Operator { get; set; }
|
|||
|
public EnumwfLogicAction Action { get; set; }
|
|||
|
public int GoToStepNo { get; set; }
|
|||
|
|
|||
|
public int? RecomendationEmpID { get; set; }
|
|||
|
public string RecomendationListFieildID { get; set; }
|
|||
|
|
|||
|
public int ApproveWithinDays { get; set; }
|
|||
|
public int MailBeforeApproveDays { get; set; }
|
|||
|
|
|||
|
public bool AlwaysNotifyToInitiator { get; set; }
|
|||
|
public bool NofityAll { get; set; }
|
|||
|
public string AddtionalNotifyEmpID { get; set; }
|
|||
|
public string AdditionalText { get; set; }
|
|||
|
public string FieldNamesforMail { get; set; }
|
|||
|
|
|||
|
public class WFStepActor
|
|||
|
{
|
|||
|
public int WFStepActorID { get; set; }
|
|||
|
public int WFRuleID { get; set; }
|
|||
|
public EnumWFActorType WFActorType { get; set; }
|
|||
|
public int WFStepID { get; set; }
|
|||
|
public long ObjectID { get; set; }
|
|||
|
public string StepName { get; set; }
|
|||
|
public string ListFieldName { get; set; }
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
public interface IWFRuleService
|
|||
|
{
|
|||
|
WFRule Get(int wfid);
|
|||
|
List<WFRule> GetRules(int wftypeid);
|
|||
|
List<WFRule> Get();
|
|||
|
int Save(WFRule wfrule);
|
|||
|
void Delete(int ruleid);
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|