0

I want to reduce redundant work in this page when we added any other enum. Whenever i added new method in my wcf service, same kind of work need to do for enums in this page.

How can we improve this code?

using System.Runtime.Serialization;

namespace TT.Core
{
/// <summary>
/// Defines the Login type possible values, API, B2B, B2B2B etc..
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum LoginType
{
    [EnumMember]NotSet = 0,
    [EnumMember]B2B = 1,
    [EnumMember]Api = 2,
    [EnumMember]B2B2B = 3
}

/// <summary>
/// Defines the AgencyStatusType possible values, Activated, DeActivated etc..
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum AgencyStatusType
{
    [EnumMember]NotSet = 0,
    [EnumMember]Activated = 1,
    [EnumMember]DeActivated = 2,
    [EnumMember]Freeze = 3,
    [EnumMember]UnFreeze = 4
}

/// <summary>
/// Defines the MemberStatusType possible values, Activated, DeActivated etc..
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum MemberStatusType
{
    [EnumMember]NotSet = 0,
    [EnumMember]Active = 1,
    [EnumMember]InActive = 2
}

/// <summary>
/// Defines the Login type possible values, API, B2B, B2B2B etc..
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum LoadMemberType
{
    [EnumMember]NotSet = 0,
    [EnumMember]ByLoginName = 1,
    [EnumMember]ByMemberId = 2,
    [EnumMember]ByAccountCode = 3,
    [EnumMember]ByEmail = 4,
    [EnumMember]LoadDeactiveMemberAlso = 5
}


/// <summary>
/// Defines the Request type for Load memeber or authenticate member
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum RequestType
{
    [EnumMember]NotSet = 0,
    [EnumMember]LoadMember = 1,
    [EnumMember]AuthenticateMember = 2
}

/// <summary>
/// Defines the status of GetUserPreference status
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum UserPreferenceResponseStatus
{
    [EnumMember]NotSet = 0,
    [EnumMember]Successful = 1,
    [EnumMember]Failed = 2,
    [EnumMember]InValidSession = 3,
    [EnumMember]InValidRequest = 4
}


/// <summary>
/// Defines the status of SaveUserPreference status
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum SavePreferenceResponseStatus
{
    [EnumMember]NotSet = 0,
    [EnumMember]Successful = 1,
    [EnumMember]Failed = 2,
    [EnumMember]InValidSession = 3,
    [EnumMember]InValidRequest = 4
}

/// <summary>
/// Defines the status of Authenticate response.
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum AuthenticateResponseStatus
{
    [EnumMember]NotSet = 0,
    [EnumMember]Successful = 1,
    [EnumMember]Failed = 2,
    [EnumMember]InCorrectUserName = 3,
    [EnumMember]InCorrectPassword = 4
}


/// <summary>
/// Defines the status of Logout response.
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum LogoutResponseStatus
{
    [EnumMember]NotSet = 0,
    [EnumMember]Successful = 1,
    [EnumMember]Failed = 2,
}

/// <summary>
/// Defines the status of Load Members response.
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum LoadMemberResponseStatus
{
    [EnumMember]NotSet = 0,
    [EnumMember]Successful = 1,
    [EnumMember]Failed = 2,
    [EnumMember]InCorrectUserName = 3,
    [EnumMember]InValidPassword = 4,
    [EnumMember]InValidSession= 5
}

/// <summary>
/// Defines the status of SaveMember response.
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum SaveMemberResponseStatus
{
    [EnumMember]NotSet = 0,
    [EnumMember]SuccessfulAdded = 1,
    [EnumMember]SuccessfulUpdated = 2,
    [EnumMember]Failed = 3,
}

/// <summary>
/// Defines the status of LoadAgency response.
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum LoadAgencyResponseStatus
{
    [EnumMember]NotSet = 0,
    [EnumMember]Successful = 1,
    [EnumMember]Failed = 2,
}

/// <summary>
/// Defines the status of UpdateLccBalanceResponseStatus
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum UpdateLccBalanceResponseStatus
{
    [EnumMember] NotSet = 0,
    [EnumMember] Successful = 1,
    [EnumMember] InValidSession = 2,
    [EnumMember] InValidRequest = 3,
    [EnumMember] Failed = 4
}


/// <summary>
/// Defines Error Types for UpdateLccBalanceErrorType(Like InvalidCredentials, InvalidSearchRequest etc.)
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum UpdateLccBalanceErrorType
{
    [EnumMember] NotSet = 0,
    [EnumMember] InValidSession = 1,
    [EnumMember] InvalidRequest = 2,
    [EnumMember] TechnicalError = 3
}

/// <summary>
/// Defines the status of LoadApplication response.
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum LoadApplicationResponseStatus
{
    [EnumMember]NotSet = 0,
    [EnumMember]Successful = 1,
    [EnumMember]Failed = 2,
}

/// <summary>
/// Defines the status of SaveAgency response.
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum SaveAgencyResponseStatus
{
    [EnumMember]NotSet = 0,
    [EnumMember]SuccessfulAdded = 1,
    [EnumMember]SuccessfulUpdated = 2,
    [EnumMember]Failed = 3,
}


/// <summary>
/// Defines the status of SaveAgency response.
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum AgencyApplicationResponseStatus
{
    [EnumMember]NotSet = 0,
    [EnumMember]SuccessfulAdded = 1,
    [EnumMember]SuccessfulUpdated = 2,
    [EnumMember]Failed = 3,
}

/// <summary>
/// Defines Error Types for UserPreferenceErrorType(Like InvalidCredentials, InvalidSearchRequest etc.)
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum UserPreferenceErrorType
{
    [EnumMember]NotSet = 0,
    [EnumMember]InvalidCredentials = 1,
    [EnumMember]InvalidRequest = 2,
    [EnumMember]TechnicalError = 3,
    [EnumMember]InValidSession = 4
}

/// <summary>
/// Defines Error Types for UserPreferenceErrorType(Like InvalidCredentials, InvalidSearchRequest etc.)
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum SavePreferenceErrorType
{
    [EnumMember]NotSet = 0,
    [EnumMember]InvalidRequest = 1,
    [EnumMember]TechnicalError = 2,
    [EnumMember]InValidSession = 3
}

/// <summary>
/// Defines the status of UpdateAgencyStatus response.
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum UpdateAgencyResponseStatus
{
    [EnumMember]NotSet = 0,
    [EnumMember]Successful = 1,
    [EnumMember]Failed = 2,
    [EnumMember]InValidSession = 3,
    [EnumMember]InValidRequest = 4,
    [EnumMember]ActiveAgency = 5
}


/// <summary>
/// Defines the status of UpdateAgencyStatus response.
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum ActiveInActiveUserResponseStatus
{
    [EnumMember]NotSet = 0,
    [EnumMember]Successful = 1,
    [EnumMember]Failed = 2,
    [EnumMember]InValidSession = 3,
    [EnumMember]InValidRequest = 4,
    [EnumMember]ActiveMembers = 5
}

/// <summary>
/// Defines Error Types for AuthenticateErrorType(Like InvalidCredentials, InvalidSearchRequest etc.)
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum AuthenticateErrorType
{
    [EnumMember]NotSet = 0,
    [EnumMember]InvalidCredentials = 1,
    [EnumMember]InvalidRequest = 2,
    [EnumMember]TechnicalError = 3
}


/// <summary>
/// Defines Error Types for LoadMemberErrorType(Like InvalidCredentials, InvalidRequest, session expire etc.)
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum LoadMemberErrorType
{
    [EnumMember]NotSet = 0,
    [EnumMember]InvalidCredentials = 1,
    [EnumMember]InvalidRequest = 2,
    [EnumMember]InvalidSession = 3,
    [EnumMember]TechnicalError = 4
}

/// <summary>
/// Defines Error Types for LoadAgencyErrorType(Like InvalidRequest etc.)
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum LoadAgencyErrorType
{
    [EnumMember]NotSet = 0,
    [EnumMember]InvalidAgencyId = 1,
    [EnumMember]InvalidRequest = 2,
    [EnumMember]TechnicalError = 3
}

/// <summary>
/// Defines Error Types for SaveAgencyErrorType(Like InvalidRequest etc.)
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum SaveAgencyErrorType
{
    [EnumMember]NotSet = 0,
    [EnumMember]InvalidAgencyId = 1,
    [EnumMember]InvalidRequest = 2,
    [EnumMember]TechnicalError = 3
}

/// <summary>
/// Defines Error Types for SaveAgencyErrorType(Like InvalidRequest etc.)
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum SaveMemberErrorType
{
    [EnumMember]NotSet = 0,
    [EnumMember]InvalidMemberId = 1,
    [EnumMember]InvalidRequest = 2,
    [EnumMember]TechnicalError = 3
}


/// <summary>
/// Defines Error Types for Logout
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum LogoutErrorType
{
    [EnumMember]NotSet = 0,
    [EnumMember]InvalidToken = 1,
    [EnumMember]InvalidRequest = 2,
    [EnumMember]TechnicalError = 3
}

/// <summary>
/// Defines Error Types for save agency Application 
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum AgencyApplicationErrorType
{
    [EnumMember]NotSet = 0,
    [EnumMember]InvalidRequest = 1,
    [EnumMember]TechnicalError = 2
}


/// <summary>
/// Defines Error Types for load applications of new agency creation
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum LoadApplicationErrorType
{
    [EnumMember]NotSet = 0,
    [EnumMember]InvalidRequest = 1,
    [EnumMember]TechnicalError = 2
}

/// <summary>
/// Defines Error Types for UpdateAgency status
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum UpdateAgencyStatusErrorType
{
    [EnumMember]NotSet = 0,
    [EnumMember]InvalidRequest = 1,
    [EnumMember]TechnicalError = 2,
    [EnumMember]InValidSession = 3,
    [EnumMember]ActiveAgency = 4
}


/// <summary>
/// Defines Error Types for UpdateAgency status
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum ActiveInActiveUserErrorType
{
    [EnumMember]NotSet = 0,
    [EnumMember]InvalidRequest = 1,
    [EnumMember]TechnicalError = 2,
    [EnumMember]InValidSession = 3,
    [EnumMember]ActiveMembers = 4
}

/// <summary>
/// Defines the status of Task Role response.
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum TaskRoleResponseStatus
{
    [EnumMember]NotSet = 0,
    [EnumMember]Successful = 1,
    [EnumMember]Failed = 2,
    [EnumMember]InvalidSession = 3,
    [EnumMember]InvalidRequest = 4
}
///<summary>
///Define Error Types for Role and Task Status
///</summary>
[DataContract(Namespace = "SharedServices")]
public enum TaskRoleErrorType
{
    [EnumMember]NotSet = 0,
    [EnumMember]InvalidSession = 1,
    [EnumMember]InvalidRequest = 2,
    [EnumMember]TechnicalError = 3,
    [EnumMember]InvalidRoleId = 4,
    [EnumMember]InvalidTaskType = 5,
    [EnumMember]InvalidCredentials = 6

}

/// <summary>
/// Defines the status of Task Role response.
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum UpdateTaskResponseStatus
{
    [EnumMember]NotSet = 0,
    [EnumMember]Successful = 1,
    [EnumMember]Failed = 2,
    [EnumMember]InvalidSession = 3,
    [EnumMember]InvalidRequest = 4
}
///<summary>
///Define Error Types for Role and Task Status
///</summary>
[DataContract(Namespace = "SharedServices")]
public enum UpdateTaskErrorType
{
    [EnumMember]NotSet = 0,
    [EnumMember]InvalidSession = 1,
    [EnumMember]InvalidRequest = 2,
    [EnumMember]TechnicalError = 3,
    [EnumMember]InvalidRoleId = 4,
    [EnumMember]InvalidTaskType = 5,
    [EnumMember]InvalidCredentials = 6,
    [EnumMember]InvalidCreatedBy = 7,
    [EnumMember]AlreadyExist = 8

}
///<summary>
///Define the Action to perform
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum ActionToPerfrom
{
    [EnumMember]NotSet = 0,
    [EnumMember]RemoveTask = 1,// if its 1 than it will remove the task for that role
    [EnumMember]AssignTask = 2, //if value is 2 then it will Assign Task to that particular role 
}

///<summary> Define the status of the Role Response.
///</summary>
[DataContract(Namespace = "SharedServices")]
public enum RoleModificationResponseStatus
{
    [EnumMember]NotSet = 0,
    [EnumMember]Successful = 1,
    [EnumMember]Failed = 2,
    [EnumMember]InvalidSession = 3,
    [EnumMember]InvalidRequest = 4,
    [EnumMember]InvalidIPAddress =5,
}
///<summary>
///Define Error Types for Role and Task Status
///</summary>
[DataContract(Namespace = "SharedServices")]
public enum RoleModificationErrorType
{
    [EnumMember]NotSet = 0,
    [EnumMember]InvalidSession = 1,
    [EnumMember]InvalidRequest = 2,
    [EnumMember]TechnicalError = 3,
    [EnumMember]InvalidTaskType = 4,
    [EnumMember]InvalidCredentials = 5,
    [EnumMember]InvalidCreatedBy = 6,
    [EnumMember]InvalidIPAddress = 7,
    [EnumMember]AlreadyPresent = 8,
    [EnumMember]AlreadyRemoved = 9,
    [EnumMember]Assigned = 10,
    [EnumMember]Removed = 11,
    [EnumMember]Failed = 12,
    [EnumMember]NotExists = 13,

}


///<summary> Define the status of the RoleGroupModification Response.
///</summary>
[DataContract(Namespace = "SharedServices")]
public enum SaveRoleGroupResponseStatus
{
    [EnumMember]NotSet = 0,
    [EnumMember]Successful = 1,
    [EnumMember]Failed = 2,
    [EnumMember]InvalidSession = 3,
    [EnumMember]InvalidRequest = 4,
}
///<summary>
///Define Error Types for Role and Task Status
///</summary>
[DataContract(Namespace = "SharedServices")]
public enum SaveRoleGroupErrorType
{
    [EnumMember]NotSet = 0,
    [EnumMember]InvalidSession = 1,
    [EnumMember]InvalidRequest = 2,
    [EnumMember]TechnicalError = 3,
    [EnumMember]AlreadyPresent = 4,
    [EnumMember]AlreadyRemoved = 5,
    [EnumMember]Assigned = 6,
    [EnumMember]Removed = 7,
    [EnumMember]Failed = 8,
    [EnumMember]NotExists = 9,
    [EnumMember]InvalidIPAddress = 10,
    [EnumMember]Deactive = 11,

}

/// <summary>
/// Defines Error Types for SaveSupplierErrorType(Like InvalidRequest etc.)
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum SaveSupplierErrorType
{
    [EnumMember]
    NotSet = 0,
    [EnumMember]
    InvalidSupplierId = 1,
    [EnumMember]
    InvalidRequest = 2,
    [EnumMember]
    TechnicalError = 3
}

/// <summary>
/// Defines the status of SaveSupplier response.
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum SaveSupplierResponseStatus
{
    [EnumMember]
    NotSet = 0,
    [EnumMember]
    SuccessfulAdded = 1,
    [EnumMember]
    SuccessfulUpdated = 2,
    [EnumMember]
    Failed = 3,
}



[DataContract(Namespace = "SharedServices")]
public enum LoadSupplierResponseStatus
{
    [EnumMember]
    NotSet = 0,
    [EnumMember]
    Successful = 1,
    [EnumMember]
    Failed = 2,
}

/// <summary>
/// Defines Error Types for LoadAgencyErrorType(Like InvalidRequest etc.)
/// </summary>
[DataContract(Namespace = "SharedServices")]
public enum LoadSupplierErrorType
{
    [EnumMember]
    NotSet = 0,
    [EnumMember]
    InvalidSupplierId = 1,
    [EnumMember]
    InvalidRequest = 2,
    [EnumMember]
    TechnicalError = 3
}

}

What is the best and optimized approach for writing this code?

Rohit
  • 300
  • 2
  • 14

1 Answers1

0

Why not create just a couple of enums? One for all possible response statuses. One for all possible error types. etc...

Otherwise, maybe the VS.NET built-in code generator can help. Take a look at Code Generation and T4 Text Templates for some (basic) info. It is not that easy to start with, but you can do powerful stuff with it...

Marc Selis
  • 833
  • 12
  • 17