public static WorkflowDetailRegRespObj AddWorkflowDetail(RegWorkflowDetailObj regObj, string username) { var response = new WorkflowDetailRegRespObj { Status = new APIResponseStatus { IsSuccessful = false, Message = new APIResponseMessage(), }, }; try { var apiResponse = new APIHelper(APIEndpoints.ADD_WORKFLOW_DETAIL_ENDPOINT, username, Method.POST).ProcessAPI <RegWorkflowDetailObj, WorkflowDetailRegRespObj>(regObj, out var msg); if (msg.Code == 0 && string.IsNullOrEmpty(msg.TechMessage) && string.IsNullOrEmpty(msg.Message)) { return(apiResponse); } response.Status.Message.FriendlyMessage = msg.Message; response.Status.Message.TechnicalMessage = msg.TechMessage; return(response); } catch (Exception ex) { UtilTools.LogE(ex.StackTrace, ex.Source, ex.GetBaseException().Message); response.Status.Message.FriendlyMessage = "Error Occurred! Please try again later"; response.Status.Message.TechnicalMessage = "Error: " + ex.GetBaseException().Message; return(response); } }
public JsonResult ProcessAddWorkflowDetailRequest(RegWorkflowDetailObj model) { try { #region model validations var userData = MvcApplication.GetUserData(User.Identity.Name) ?? new UserData(); if (userData.UserId < 1) { return(Json(new { IsSuccessful = false, Error = "Your session has expired", IsAuthenticated = false })); } if (model.Status < 1) { return(Json(new { IsSuccessful = false, Error = "Task Status required to save changes", IsAuthenticated = true })); } if (model.Recommendation.Length < 5) { return(Json(new { IsSuccessful = false, Error = "Minimium of five characters for recommendation required", IsAuthenticated = true })); } if (string.IsNullOrEmpty(model.Recommendation) || model.Recommendation.Length < 1 || model.Recommendation.Length == 0) { return(Json(new { IsSuccessful = false, Error = "Recommendation field required to save changes", IsAuthenticated = true })); } #endregion #region current task session check var currentTask = (WorkflowTaskObj)Session["_CurrentSelWorkflowTask_"]; if (currentTask == null) { return(Json(new { IsSuccessful = false, Error = "Your session has expired", IsAuthenticated = false })); } #endregion #region build request object var requestObj = new RegWorkflowDetailObj { ClientId = currentTask.ClientId, ProductId = currentTask.ProductId, AdminUserId = userData.UserId, ApprovalLevelId = currentTask.ApprovalLevelId, AssigneeId = currentTask.AssigneeId, ExpenseRequisitionId = currentTask.ExpenseRequisitionId, IsEmailSent = currentTask.IsEmailSent, Recommendation = model.Recommendation.Trim(), RequestType = currentTask.RequestType, TaskTitle = currentTask.TaskTitle, TimeStampRegistered = DateTime.Now.ToString("dddd-mmmm-yyyy"), WorkflowTaskId = currentTask.WorkflowTaskId, Status = model.Status, }; #endregion #region Request and response validations var response = WorkflowDetailServices.AddWorkflowDetail(requestObj, userData.Username); if (response?.Status == null) { return(Json(new { IsAuthenticated = true, IsSuccessful = false, IsReload = false, Error = "Error Occurred! Please try again later" })); } if (!response.Status.IsSuccessful) { return(Json(new { IsAuthenticated = true, IsSuccessful = false, IsReload = false, Error = string.IsNullOrEmpty(response.Status.Message.TechnicalMessage) ? "Process Failed! Unable to add nomination Source" : response.Status.Message.TechnicalMessage })); } var searchObj = new WorkflowDetailSearchObj { AdminUserId = userData.UserId, WorkflowDetailId = 0, Status = -2 }; var retVal = WorkflowDetailServices.LoadWorkflowDetails(searchObj, userData.Username); if (retVal?.Status != null && retVal.WorkflowDetails != null) { var WorkflowDetails = retVal.WorkflowDetails.OrderBy(m => m.WorkflowDetailId).Where(m => m.ClientId == currentTask.ClientId && m.ProductId == currentTask.ProductId).ToList(); Session["_WorkflowDetailList_"] = WorkflowDetails; } #endregion return(Json(new { IsAuthenticated = true, IsSuccessful = true, IsReload = false, Error = "" })); } catch (Exception ex) { UtilTools.LogE(ex.StackTrace, ex.Source, ex.Message); return(Json(new { IsAuthenticated = true, IsSuccessful = false, IsReload = false, Error = "Process Error Occurred! Please try again later" })); } }