public ActionResult Index(int ModuleId = 0) { if (Session["AdvanceReportFilter"] != null) { Session["AdvanceReportFilter"] = null; Session["AdvanceSearch"] = null; } if (ModuleId == 0) { ModuleId = Convert.ToInt32(Session["CurrentModuleId"]); if (ModuleId == 0) { Response.Redirect("~/"); } } Session["CurrentModuleId"] = ModuleId; var permission = PermissionHelper.GetRoleObjectPermission(SessionHelper.Role, 136, ModuleId); ViewBag.Permission = permission; ViewBag.AdvanceSearch = Session["AdvanceSearch"] != null; if (!_tokenManager.GenerateToken()) { return(Json(null, JsonRequestBehavior.AllowGet)); } if (Session["Phase"] != null) { _ISpartan_WorkFlow_PhasesApiConsumer.SetAuthHeader(_tokenManager.Token); var typePhase = _ISpartan_WorkFlow_PhasesApiConsumer.GetByKey(Convert.ToInt32(Session["Phase"]), false).Resource.Phase_Type; if (typePhase == 1) { Response.Redirect("~/"); } } _ISpartan_Format_PermissionsApiConsumer.SetAuthHeader(_tokenManager.Token); _ISpartan_FormatApiConsumer.SetAuthHeader(_tokenManager.Token); var whereClause = " Spartan_Format_Permissions.Spartan_User_Role = " + SessionHelper.Role + " AND Spartan_Format_Permissions_Permission_Type = " + PermissionTypes.Consult + " AND Apply=1 "; var formatsPermisions = _ISpartan_Format_PermissionsApiConsumer.SelAll(false, whereClause, string.Empty); if (formatsPermisions != null && formatsPermisions.Resource != null) { var formats = string.Join(",", formatsPermisions.Resource.Select(f => f.Format).ToArray()); var whereClauseFormat = "Object = 136 AND FormatId in (" + formats + ")"; var Spartan_Formats = _ISpartan_FormatApiConsumer.ListaSelAll(0, 1000, whereClauseFormat, string.Empty); if (Spartan_Formats != null && Spartan_Formats.Resource != null && Spartan_Formats.Resource.Spartan_Formats != null) { ViewBag.Spartan_Formats = Spartan_Formats.Resource.Spartan_Formats.Select(m => new SelectListItem { Text = m.Format_Name.ToString(), Value = Convert.ToString(m.FormatId) }).ToList(); } } return(View()); }
public ActionResult Create(int Id = 0, int consult = 0) { int ModuleId = (Session["CurrentModuleId"] != null) ? Convert.ToInt32(Session["CurrentModuleId"]) : 0; var permission = PermissionHelper.GetRoleObjectPermission(SessionHelper.Role, 127); ViewBag.Permission = permission; var varSpartan_WorkFlow_State = new Spartan_WorkFlow_StateModel(); ViewBag.ObjectId = "127"; ViewBag.Operation = "New"; ViewBag.IsNew = true; if ((Id.GetType() == typeof(string) && Id.ToString() != "") || ((Id.GetType() == typeof(int) || Id.GetType() == typeof(Int16) || Id.GetType() == typeof(Int32) || Id.GetType() == typeof(Int64) || Id.GetType() == typeof(short)) && Id.ToString() != "0")) { ViewBag.IsNew = false; ViewBag.Operation = "Update"; if (!_tokenManager.GenerateToken()) { return(Json(null, JsonRequestBehavior.AllowGet)); } _ISpartan_WorkFlow_StateApiConsumer.SetAuthHeader(_tokenManager.Token); var Spartan_WorkFlow_StateData = _ISpartan_WorkFlow_StateApiConsumer.GetByKeyComplete(Id).Resource.Spartan_WorkFlow_States[0]; if (Spartan_WorkFlow_StateData == null) { return(HttpNotFound()); } varSpartan_WorkFlow_State = new Spartan_WorkFlow_StateModel { StateId = (int)Spartan_WorkFlow_StateData.StateId , Phase = Spartan_WorkFlow_StateData.Phase , PhaseName = (string)Spartan_WorkFlow_StateData.Phase_Spartan_WorkFlow_Phases.Name , Attribute = Spartan_WorkFlow_StateData.Attribute , AttributeLogical_Name = (string)Spartan_WorkFlow_StateData.Attribute_Spartan_Metadata.Logical_Name , State_Code = Spartan_WorkFlow_StateData.State_Code , Name = Spartan_WorkFlow_StateData.Name , Value = Spartan_WorkFlow_StateData.Value , Text = Spartan_WorkFlow_StateData.Text }; } if (!_tokenManager.GenerateToken()) { return(Json(null, JsonRequestBehavior.AllowGet)); } _ISpartan_WorkFlow_PhasesApiConsumer.SetAuthHeader(_tokenManager.Token); var Spartan_WorkFlow_Phasess_Phase = _ISpartan_WorkFlow_PhasesApiConsumer.SelAll(true); if (Spartan_WorkFlow_Phasess_Phase != null && Spartan_WorkFlow_Phasess_Phase.Resource != null) { ViewBag.Spartan_WorkFlow_Phasess_Phase = Spartan_WorkFlow_Phasess_Phase.Resource.OrderBy(m => m.Name).Select(m => new SelectListItem { Text = m.Name.ToString(), Value = Convert.ToString(m.PhasesId) }).ToList(); } _ISpartan_MetadataApiConsumer.SetAuthHeader(_tokenManager.Token); var Spartan_Metadatas_Attribute = _ISpartan_MetadataApiConsumer.SelAll(true); if (Spartan_Metadatas_Attribute != null && Spartan_Metadatas_Attribute.Resource != null) { ViewBag.Spartan_Metadatas_Attribute = Spartan_Metadatas_Attribute.Resource.OrderBy(m => m.Logical_Name).Select(m => new SelectListItem { Text = m.Logical_Name.ToString(), Value = Convert.ToString(m.AttributeId) }).ToList(); } ViewBag.Consult = consult == 1; if (consult == 1) { ViewBag.Operation = "Consult"; } return(View(varSpartan_WorkFlow_State)); }
public ActionResult Create(int Id = 0, int consult = 0) { int ModuleId = (Session["CurrentModuleId"] != null) ? Convert.ToInt32(Session["CurrentModuleId"]) : 0; var permission = PermissionHelper.GetRoleObjectPermission(SessionHelper.Role, 122); ViewBag.Permission = permission; var varSpartan_WorkFlow_Phases = new Spartan_WorkFlow_PhasesModel(); ViewBag.ObjectId = "122"; ViewBag.Operation = "New"; ViewBag.IsNew = true; if ((Id.GetType() == typeof(string) && Id.ToString() != "") || ((Id.GetType() == typeof(int) || Id.GetType() == typeof(Int16) || Id.GetType() == typeof(Int32) || Id.GetType() == typeof(Int64) || Id.GetType() == typeof(short)) && Id.ToString() != "0")) { ViewBag.IsNew = false; ViewBag.Operation = "Update"; if (!_tokenManager.GenerateToken()) { return(Json(null, JsonRequestBehavior.AllowGet)); } _ISpartan_WorkFlow_PhasesApiConsumer.SetAuthHeader(_tokenManager.Token); var Spartan_WorkFlow_PhasesData = _ISpartan_WorkFlow_PhasesApiConsumer.GetByKeyComplete(Id).Resource.Spartan_WorkFlow_Phasess[0]; if (Spartan_WorkFlow_PhasesData == null) { return(HttpNotFound()); } varSpartan_WorkFlow_Phases = new Spartan_WorkFlow_PhasesModel { PhasesId = (int)Spartan_WorkFlow_PhasesData.PhasesId , Phase_Number = Spartan_WorkFlow_PhasesData.Phase_Number , Name = Spartan_WorkFlow_PhasesData.Name , Phase_Type = Spartan_WorkFlow_PhasesData.Phase_Type , Phase_TypeDescription = (string)Spartan_WorkFlow_PhasesData.Phase_Type_Spartan_WorkFlow_Phase_Type.Description , Type_of_Work_Distribution = Spartan_WorkFlow_PhasesData.Type_of_Work_Distribution , Type_of_Work_DistributionDescription = (string)Spartan_WorkFlow_PhasesData.Type_of_Work_Distribution_Spartan_WorkFlow_Type_Work_Distribution.Description , Type_Flow_Control = Spartan_WorkFlow_PhasesData.Type_Flow_Control , Type_Flow_ControlDescription = (string)Spartan_WorkFlow_PhasesData.Type_Flow_Control_Spartan_WorkFlow_Type_Flow_Control.Description , Phase_Status = Spartan_WorkFlow_PhasesData.Phase_Status , Phase_StatusDescription = (string)Spartan_WorkFlow_PhasesData.Phase_Status_Spartan_WorkFlow_Phase_Status.Description }; } if (!_tokenManager.GenerateToken()) { return(Json(null, JsonRequestBehavior.AllowGet)); } _ISpartan_WorkFlow_Phase_TypeApiConsumer.SetAuthHeader(_tokenManager.Token); var Spartan_WorkFlow_Phase_Types_Phase_Type = _ISpartan_WorkFlow_Phase_TypeApiConsumer.SelAll(true); if (Spartan_WorkFlow_Phase_Types_Phase_Type != null && Spartan_WorkFlow_Phase_Types_Phase_Type.Resource != null) { ViewBag.Spartan_WorkFlow_Phase_Types_Phase_Type = Spartan_WorkFlow_Phase_Types_Phase_Type.Resource.OrderBy(m => m.Description).Select(m => new SelectListItem { Text = m.Description.ToString(), Value = Convert.ToString(m.Phase_TypeId) }).ToList(); } _ISpartan_WorkFlow_Type_Work_DistributionApiConsumer.SetAuthHeader(_tokenManager.Token); var Spartan_WorkFlow_Type_Work_Distributions_Type_of_Work_Distribution = _ISpartan_WorkFlow_Type_Work_DistributionApiConsumer.SelAll(true); if (Spartan_WorkFlow_Type_Work_Distributions_Type_of_Work_Distribution != null && Spartan_WorkFlow_Type_Work_Distributions_Type_of_Work_Distribution.Resource != null) { ViewBag.Spartan_WorkFlow_Type_Work_Distributions_Type_of_Work_Distribution = Spartan_WorkFlow_Type_Work_Distributions_Type_of_Work_Distribution.Resource.OrderBy(m => m.Description).Select(m => new SelectListItem { Text = m.Description.ToString(), Value = Convert.ToString(m.Type_of_Work_DistributionId) }).ToList(); } _ISpartan_WorkFlow_Type_Flow_ControlApiConsumer.SetAuthHeader(_tokenManager.Token); var Spartan_WorkFlow_Type_Flow_Controls_Type_Flow_Control = _ISpartan_WorkFlow_Type_Flow_ControlApiConsumer.SelAll(true); if (Spartan_WorkFlow_Type_Flow_Controls_Type_Flow_Control != null && Spartan_WorkFlow_Type_Flow_Controls_Type_Flow_Control.Resource != null) { ViewBag.Spartan_WorkFlow_Type_Flow_Controls_Type_Flow_Control = Spartan_WorkFlow_Type_Flow_Controls_Type_Flow_Control.Resource.OrderBy(m => m.Description).Select(m => new SelectListItem { Text = m.Description.ToString(), Value = Convert.ToString(m.Type_Flow_ControlId) }).ToList(); } _ISpartan_WorkFlow_Phase_StatusApiConsumer.SetAuthHeader(_tokenManager.Token); var Spartan_WorkFlow_Phase_Statuss_Phase_Status = _ISpartan_WorkFlow_Phase_StatusApiConsumer.SelAll(true); if (Spartan_WorkFlow_Phase_Statuss_Phase_Status != null && Spartan_WorkFlow_Phase_Statuss_Phase_Status.Resource != null) { ViewBag.Spartan_WorkFlow_Phase_Statuss_Phase_Status = Spartan_WorkFlow_Phase_Statuss_Phase_Status.Resource.OrderBy(m => m.Description).Select(m => new SelectListItem { Text = m.Description.ToString(), Value = Convert.ToString(m.StatusId) }).ToList(); } ViewBag.Consult = consult == 1; if (consult == 1) { ViewBag.Operation = "Consult"; } return(View(varSpartan_WorkFlow_Phases)); }
public ActionResult Create(int Id = 0, int consult = 0) { int ModuleId = (Session["CurrentModuleId"] != null) ? Convert.ToInt32(Session["CurrentModuleId"]) : 0; var permission = PermissionHelper.GetRoleObjectPermission(SessionHelper.Role, 133); ViewBag.Permission = permission; var varSpartan_WorkFlow_Roles_by_State = new Spartan_WorkFlow_Roles_by_StateModel(); ViewBag.ObjectId = "133"; ViewBag.Operation = "New"; ViewBag.IsNew = true; if ((Id.GetType() == typeof(string) && Id.ToString() != "") || ((Id.GetType() == typeof(int) || Id.GetType() == typeof(Int16) || Id.GetType() == typeof(Int32) || Id.GetType() == typeof(Int64) || Id.GetType() == typeof(short)) && Id.ToString() != "0")) { ViewBag.IsNew = false; ViewBag.Operation = "Update"; if (!_tokenManager.GenerateToken()) { return(Json(null, JsonRequestBehavior.AllowGet)); } _ISpartan_WorkFlow_Roles_by_StateApiConsumer.SetAuthHeader(_tokenManager.Token); var Spartan_WorkFlow_Roles_by_StateData = _ISpartan_WorkFlow_Roles_by_StateApiConsumer.GetByKeyComplete(Id).Resource.Spartan_WorkFlow_Roles_by_States[0]; if (Spartan_WorkFlow_Roles_by_StateData == null) { return(HttpNotFound()); } varSpartan_WorkFlow_Roles_by_State = new Spartan_WorkFlow_Roles_by_StateModel { Roles_by_StateId = (int)Spartan_WorkFlow_Roles_by_StateData.Roles_by_StateId , Phase = Spartan_WorkFlow_Roles_by_StateData.Phase , PhaseName = (string)Spartan_WorkFlow_Roles_by_StateData.Phase_Spartan_WorkFlow_Phases.Name , State = Spartan_WorkFlow_Roles_by_StateData.State , StateName = (string)Spartan_WorkFlow_Roles_by_StateData.State_Spartan_WorkFlow_State.Name , User_Role = Spartan_WorkFlow_Roles_by_StateData.User_Role , Phase_Transition = Spartan_WorkFlow_Roles_by_StateData.Phase_Transition , Permission_To_Consult = Spartan_WorkFlow_Roles_by_StateData.Permission_To_Consult.GetValueOrDefault() , Permission_To_New = Spartan_WorkFlow_Roles_by_StateData.Permission_To_New.GetValueOrDefault() , Permission_To_Modify = Spartan_WorkFlow_Roles_by_StateData.Permission_To_Modify.GetValueOrDefault() , Permission_to_Delete = Spartan_WorkFlow_Roles_by_StateData.Permission_to_Delete.GetValueOrDefault() , Permission_To_Export = Spartan_WorkFlow_Roles_by_StateData.Permission_To_Export.GetValueOrDefault() , Permission_To_Print = Spartan_WorkFlow_Roles_by_StateData.Permission_To_Print.GetValueOrDefault() , Permission_Settings = Spartan_WorkFlow_Roles_by_StateData.Permission_Settings.GetValueOrDefault() }; } if (!_tokenManager.GenerateToken()) { return(Json(null, JsonRequestBehavior.AllowGet)); } _ISpartan_WorkFlow_PhasesApiConsumer.SetAuthHeader(_tokenManager.Token); var Spartan_WorkFlow_Phasess_Phase = _ISpartan_WorkFlow_PhasesApiConsumer.SelAll(true); if (Spartan_WorkFlow_Phasess_Phase != null && Spartan_WorkFlow_Phasess_Phase.Resource != null) { ViewBag.Spartan_WorkFlow_Phasess_Phase = Spartan_WorkFlow_Phasess_Phase.Resource.OrderBy(m => m.Name).Select(m => new SelectListItem { Text = m.Name.ToString(), Value = Convert.ToString(m.PhasesId) }).ToList(); } _ISpartan_WorkFlow_StateApiConsumer.SetAuthHeader(_tokenManager.Token); var Spartan_WorkFlow_States_State = _ISpartan_WorkFlow_StateApiConsumer.SelAll(true); if (Spartan_WorkFlow_States_State != null && Spartan_WorkFlow_States_State.Resource != null) { ViewBag.Spartan_WorkFlow_States_State = Spartan_WorkFlow_States_State.Resource.OrderBy(m => m.Name).Select(m => new SelectListItem { Text = m.Name.ToString(), Value = Convert.ToString(m.StateId) }).ToList(); } ViewBag.Consult = consult == 1; if (consult == 1) { ViewBag.Operation = "Consult"; } return(View(varSpartan_WorkFlow_Roles_by_State)); }
/// <summary> /// Used to get the Permission for Role Object /// </summary> /// <param name="roleId"></param> /// <param name="objectId"></param> /// <returns></returns> public static Permission GetRoleObjectPermission(int roleId, int objectId = 0, int moduleId = 0, int attributeId = 0) { try { if (!_tokenManager.GenerateToken("admin", "admin")) { throw new ArgumentException("Unable to Authorize the application"); } if (objectId == 0 && attributeId != 0) { _ISpartan_MetadataApiConsumer.SetAuthHeader(_tokenManager.Token); var resultMeta = _ISpartan_MetadataApiConsumer.GetByKey(attributeId, false).Resource; objectId = Convert.ToInt32(resultMeta.Related_Object_Id); moduleId = 0; } _spartaneUserRoleObjectFunctionApiConsumer.SetAuthHeader(_tokenManager.Token); _spartaneFunctionApiConsumer.SetAuthHeader(_tokenManager.Token); string where = "spartan_user_rule_object_function.Object_Id=" + objectId + " AND spartan_user_rule_object_function.Spartan_User_Rule=" + roleId; if (moduleId != 0) { where += " AND spartan_user_rule_object_function.Module_Id=" + moduleId; } var userRoleObjectFunctions = _spartaneUserRoleObjectFunctionApiConsumer.ListaSelAll(1, int.MaxValue, where, "").Resource; if (userRoleObjectFunctions == null || userRoleObjectFunctions.Spartan_User_Rule_Object_Functions == null) { return(new Permission()); } var spartaneFuctions = new List <SpartaneFunction>(); foreach (var userRoleObjectFunction in userRoleObjectFunctions.Spartan_User_Rule_Object_Functions) { spartaneFuctions.Add(_spartaneFunctionApiConsumer.GetByKey(userRoleObjectFunction.Fuction_Id, true).Resource); } Permission ObjectPermissions = GetSpartanePermission(spartaneFuctions); //WorkFlows Permissions #region WorkFlows Permissions if (System.Web.HttpContext.Current.Session != null) { if (System.Web.HttpContext.Current.Session["Phase"] != null) { if (System.Web.HttpContext.Current.Session["Phase"].ToString() != "") { //Consult if the object has workflow assigned _Spartan_WorkFlowApiConsumer.SetAuthHeader(_tokenManager.Token); var workflowObject = _Spartan_WorkFlowApiConsumer.ListaSelAll(1, int.MaxValue, "spartan_workflow.object = " + objectId.ToString() + " and spartan_workflow.status=1", "").Resource; if (workflowObject != null) { if (workflowObject.Spartan_WorkFlows.Count != 0) { //Consultar id de Fase _Spartan_WorkFlow_PhasesApiConsumer.SetAuthHeader(_tokenManager.Token); var phaseObject = _Spartan_WorkFlow_PhasesApiConsumer.ListaSelAll(1, int.MaxValue, "Spartan_WorkFlow_Phases.WorkFlow=" + workflowObject.Spartan_WorkFlows[0].WorkFlowId.ToString() + " and Spartan_WorkFlow_Phases.Phase_Number=" + System.Web.HttpContext.Current.Session["Phase"].ToString() + " and Spartan_WorkFlow_Phases.phase_status=1", "").Resource; if (phaseObject != null) { if (phaseObject.Spartan_WorkFlow_Phasess.Count != 0) { //Consultar Permisos _Spartan_WorkFlow_Roles_by_StateApiConsumer.SetAuthHeader(_tokenManager.Token); var rolesObject = _Spartan_WorkFlow_Roles_by_StateApiConsumer.ListaSelAll(1, int.MaxValue, "Spartan_WorkFlow_Roles_by_State.Spartan_WorkFlow=" + workflowObject.Spartan_WorkFlows[0].WorkFlowId.ToString() + " and Spartan_WorkFlow_Roles_by_State.Phase=" + phaseObject.Spartan_WorkFlow_Phasess[0].PhasesId.ToString() + " and Spartan_WorkFlow_Roles_by_State.User_Role=" + roleId.ToString(), "").Resource; if (rolesObject != null) { if (rolesObject.Spartan_WorkFlow_Roles_by_States.Count != 0) { if (rolesObject.Spartan_WorkFlow_Roles_by_States[0].Permission_To_New == false) { ObjectPermissions.New = false; } if (rolesObject.Spartan_WorkFlow_Roles_by_States[0].Permission_To_Modify == false) { ObjectPermissions.Edit = false; } if (rolesObject.Spartan_WorkFlow_Roles_by_States[0].Permission_to_Delete == false) { ObjectPermissions.Delete = false; } if (rolesObject.Spartan_WorkFlow_Roles_by_States[0].Permission_To_Export == false) { ObjectPermissions.Export = false; } if (rolesObject.Spartan_WorkFlow_Roles_by_States[0].Permission_To_Print == false) { ObjectPermissions.Print = false; } if (rolesObject.Spartan_WorkFlow_Roles_by_States[0].Permission_Settings == false) { ObjectPermissions.Configure = false; } } } } } } } } } } #endregion return(ObjectPermissions); } catch (ArgumentException) { return(new Permission()); } catch (Exception ex) { throw ex; } }