public SigmaResultType UpdateTaskType(TypeTaskType objTaskType)
        {
            TypeUserInfo userinfo = AuthMgr.GetUserInfo();

            TransactionScope scope = null;
            SigmaResultType result = new SigmaResultType();

            // Get connection string
            string connStr = ConnStrHelper.getDbConnString();

            objTaskType.TaskTypeShortName = objTaskType.TaskTypeName;

            // Compose parameters
            SqlParameter[] parameters = new SqlParameter[] {
                new SqlParameter("@TaskTypeId", Utilities.ToInt32(objTaskType.TaskTypeId.ToString().Trim())),
                new SqlParameter("@TaskTypeShortName", objTaskType.TaskTypeShortName.Trim()),
                new SqlParameter("@TaskTypeName", objTaskType.TaskTypeName.Trim()),
                new SqlParameter("@UpdatedBy", userinfo.SigmaUserId.Trim())
            };

            using (scope = new TransactionScope(TransactionScopeOption.Required))
            {
                result.AffectedRow = SqlHelper.ExecuteNonQuery(connStr, "usp_UpdateTaskType", parameters);
                result.IsSuccessful = true;

                scope.Complete();
            }

            return result;
        }
        //public SigmaResultType GetTaskType(string taskTypeId)
        //{
        //    SigmaResultType result = new SigmaResultType();
        //    // Get connection string
        //    string connStr = ConnStrHelper.getDbConnString();
        //    // Compose parameters
        //    SqlParameter[] parameters = new SqlParameter[] {
        //            new SqlParameter("@TaskTypeId", taskTypeId)
        //        };
        //    // Get Data
        //    DataSet ds = SqlHelper.ExecuteDataset(connStr, "usp_GetTaskType", parameters);
        //    // Convert to REST/JSON String
        //    result.JsonDataSet = JsonHelper.convertDataTableToJson(ds.Tables[0]);
        //    result.AffectedRow = 1;
        //    result.IsSuccessful = true;
        //    // return
        //    return result;
        //}
        //public SigmaResultType ListTaskType(string offset, string max, string s_option, string s_key, string o_option, string o_desc)
        //{
        //    SigmaResultType result = new SigmaResultType();
        //    // Get connection string
        //    string connStr = ConnStrHelper.getDbConnString();
        //    // Compose parameters
        //    List<SqlParameter> parameters = new List<SqlParameter>();
        //    parameters.Add(new SqlParameter("@MaxNumRows", (max == null ? 1000 : int.Parse(max))));
        //    parameters.Add(new SqlParameter("@RetrieveOffset", (offset == null ? 0 : int.Parse(offset))));
        //    parameters.Add(new SqlParameter("@SortColumn", o_option));
        //    parameters.Add(new SqlParameter("@SortOrder", (o_desc != null ? o_desc.ToUpper() : null)));
        //    // Get Data
        //    DataSet ds = SqlHelper.ExecuteDataset(connStr, "usp_ListTaskType", parameters.ToArray());
        //    // Convert to REST/JSON String
        //    result.JsonDataSet = JsonHelper.convertDataTableToJson(ds.Tables[0]);
        //    result.AffectedRow = (int)ds.Tables[1].Rows[0][0]; // returning count
        //    result.ScalarValue = (int)ds.Tables[2].Rows[0][0]; // total count by search
        //    result.IsSuccessful = true;
        //    // return
        //    return result;
        //}
        public SigmaResultType AddTaskType(TypeTaskType objTaskType)
        {
            TypeUserInfo userinfo = AuthMgr.GetUserInfo();

            TransactionScope scope = null;
            SigmaResultType result = new SigmaResultType();

            // Get TaskCode
            objTaskType.TaskTypeCode = GetTaskCode(objTaskType.DisciplineCode, objTaskType.TaskTypeName);
            objTaskType.TaskTypeShortName = objTaskType.TaskTypeName;

            // Get connection string
            string connStr = ConnStrHelper.getDbConnString();

            List<SqlParameter> paramList = new List<SqlParameter>();
            paramList.Add(new SqlParameter("@TaskCategoryId", Utilities.ToInt32(objTaskType.TaskCategoryId.ToString().Trim())));
            paramList.Add(new SqlParameter("@TaskTypeCode", objTaskType.TaskTypeCode.Trim()));
            paramList.Add(new SqlParameter("@TaskTypeShortName", objTaskType.TaskTypeShortName.Trim()));
            paramList.Add(new SqlParameter("@TaskTypeName", objTaskType.TaskTypeName.Trim()));
            paramList.Add(new SqlParameter("@CreatedBy", userinfo.SigmaUserId.Trim()));
            SqlParameter outParam = new SqlParameter("@NewId", SqlDbType.Int);
            outParam.Direction = ParameterDirection.Output;
            paramList.Add(outParam);

            using (scope = new TransactionScope(TransactionScopeOption.Required))
            {
                result.AffectedRow = SqlHelper.ExecuteNonQuery(connStr, CommandType.StoredProcedure, "usp_AddTaskType", paramList.ToArray());
                result.IsSuccessful = true;
                result.ScalarValue = (int)outParam.Value;
                scope.Complete();

            }

            return result;
        }
        public SigmaResultType RemoveTaskType(TypeTaskType objTaskType)
        {
            SigmaResultType result = new SigmaResultType();
            TransactionScope scope = null;

            // Get connection string
            string connStr = ConnStrHelper.getDbConnString();

            // Compose parameters
            SqlParameter[] parameters = new SqlParameter[] {
                new SqlParameter("@TaskTypeId", Utilities.ToInt32(objTaskType.TaskTypeId.ToString().Trim()))
            };

            using (scope = new TransactionScope(TransactionScopeOption.Required))
            {
                result.AffectedRow = SqlHelper.ExecuteNonQuery(connStr, "usp_RemoveTaskType", parameters);
                result.IsSuccessful = true;
                scope.Complete();
            }

            return result;
        }
 //public SigmaResultType GetTaskType(string taskTypeId)
 //{
 //    SigmaResultType result = new SigmaResultType();
 //    try
 //    {
 //        TaskCategoryMgr taskCategoryMgr = new TaskCategoryMgr();
 //        result = taskTypeMgr.GetTaskType(taskTypeId);
 //        return result;
 //    }
 //    catch (Exception ex)
 //    {
 //        // Log Exception
 //        ExceptionHelper.logException(ex);
 //        result.IsSuccessful = false;
 //        result.ErrorMessage = ex.Message;
 //        return result;
 //    }
 //}
 //public SigmaResultType ListTaskType()
 //{
 //    SigmaResultType result = new SigmaResultType();
 //    try
 //    {
 //        var queryStr = WebOperationContext.Current.IncomingRequest.UriTemplateMatch.QueryParameters;
 //        string max = queryStr["max"];
 //        string offset = queryStr["offset"];
 //        string s_option = queryStr["s_option"];
 //        string s_key = queryStr["s_key"];
 //        string o_option = queryStr["o_option"];
 //        string o_desc = queryStr["o_desc"];
 //        TaskCategoryMgr taskCategoryMgr = new TaskCategoryMgr();
 //        result = taskTypeMgr.ListTaskType(offset, max, s_option, s_key, o_option, o_desc);
 //        return result;
 //    }
 //    catch (Exception ex)
 //    {
 //        // Log Exception
 //        ExceptionHelper.logException(ex);
 //        result.IsSuccessful = false;
 //        result.ErrorMessage = ex.Message;
 //        return result;
 //    }
 //}
 public SigmaResultType AddTaskType(TypeTaskType objTaskType)
 {
     SigmaResultType result = new SigmaResultType();
     try
     {
         TaskCategoryMgr taskCategoryMgr = new TaskCategoryMgr();
         result = taskCategoryMgr.AddTaskType(objTaskType);
         return result;
     }
     catch (Exception ex)
     {
         // Log Exception
         ExceptionHelper.logException(ex);
         result.IsSuccessful = false;
         result.ErrorMessage = ex.Message;
         return result;
     }
 }