public async Task <IActionResult> Create(UserCreateGet CreateUser) { var CurrentUser = await _userManager.GetUserAsync(User); CreateUser.ModifierCreator = CurrentUser.Id; var ErrorMessages = new List <ErrorMessage>(); if (await _claimCheck.CheckClaim(CurrentUser, "ApplicationRight", this.ControllerContext.RouteData.Values["controller"].ToString() + "\\" + this.ControllerContext.RouteData.Values["action"].ToString())) { ErrorMessages = await _userProvider.CreatePostCheck(CreateUser); if (ErrorMessages.Count > 0) { CreateUser = await CreateAddDropDownBoxes(CreateUser, CurrentUser.Id); } else { var identityUser = new SipUser { Email = CreateUser.Email, UserName = CreateUser.Email, // FirstName = "Peter", // LastName = "le Grand", // LanguageId = 41, SecurityLevelId = CreateUser.SecurityLevelId, CreatedDate = DateTime.Now, ModifiedDate = DateTime.Now }; var x = await _userManager.CreateAsync(identityUser, CreateUser.Password); if (x.Succeeded) { _userProvider.CreatePost(CreateUser); } } UserCreateGetWithErrorMessages UserWithErrorMessage = new UserCreateGetWithErrorMessages { User = CreateUser, ErrorMessages = ErrorMessages }; return(Ok(UserWithErrorMessage)); } ErrorMessages = await _checkProvider.NoRightsMessage(CurrentUser.Id); UserCreateGetWithErrorMessages UserWithNoRights = new UserCreateGetWithErrorMessages { User = CreateUser, ErrorMessages = ErrorMessages }; return(Ok(UserWithNoRights)); }
public async Task <UserManagerResponse> RegisterUserAsync(RegisterViewModel model) { if (model == null) { throw new NullReferenceException("Reigster Model is null"); } if (model.Password != model.ConfirmPassword) { return new UserManagerResponse { Message = "Confirm password doesn't match the password", IsSuccess = false, } } ; var identityUser = new SipUser { Email = model.Email, UserName = model.Email, // FirstName = "Peter", // LastName = "le Grand", // LanguageId = 41, CreatedDate = DateTime.Now, ModifiedDate = DateTime.Now }; var result = await _userManager.CreateAsync(identityUser, model.Password); if (result.Succeeded) { return(new UserManagerResponse { Message = "User created successfully!", IsSuccess = true, }); } return(new UserManagerResponse { Message = "User did not create", IsSuccess = false, Errors = result.Errors.Select(e => e.Description) }); }
public async Task<UserManagerResponse> LoginUserAsync(LoginViewModel model) { var user = new SipUser(); user.Id = "abc"; user.SecurityLevelId = 10; user.UserName = "******"; user.Email= "*****@*****.**"; if (user.Email != model.Email) { return new UserManagerResponse { Message = "There is no user with that Email address", IsSuccess = false, }; } // var result = await _userManager.CheckPasswordAsync(user, model.Password); var claims = new[] { new System.Security.Claims.Claim("Email", model.Email), new System.Security.Claims.Claim(ClaimTypes.NameIdentifier, user.Id), }; var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_configuration["AuthSettings:Key"])); var token = new JwtSecurityToken( issuer: _configuration["AuthSettings:Issuer"], audience: _configuration["AuthSettings:Audience"], claims: claims, expires: DateTime.Now.AddDays(30), signingCredentials: new SigningCredentials(key, SecurityAlgorithms.HmacSha256)); string tokenAsString = new JwtSecurityTokenHandler().WriteToken(token); return new UserManagerResponse { Message = tokenAsString, IsSuccess = true, ExpireDate = token.ValidTo, UserId = user.Id }; }
public async Task <bool> CheckClaim(SipUser User, string ClaimType, string ClaimValue) { var Roles = await _userManager.GetRolesAsync(User); foreach (var Role in Roles) { var Claims = await _roleManager.GetClaimsAsync(await _roleManager.FindByNameAsync(Role)); foreach (var Claim in Claims) { if (Claim.Value == ClaimValue & Claim.Type == ClaimType) { return(true); } } } return(false); }
public async Task <List <ToDoIndexGet> > ReturnProcessList(SipUser CurrentUser) { List <ToDoIndexGet> ToDoList = new List <ToDoIndexGet>(); var FlowList = await _frontProcessProvider.FrontProcessToDoFlows(); foreach (var Flow in FlowList) { var Processes = await _frontProcessProvider.FrontProcessToDoProcesses(Flow); foreach (var Process in Processes) { string From = "DECLARE @LanguageId int; SELECT @LanguageId = IntPreference FROM UserPreferences WHERE USerId = '" + CurrentUser.Id + "' AND UserPreferences.PreferenceTypeId = 1 ;" + " SELECT Processes.ProcessID " + " , ISNULL(UserProcessTypeLanguage.Name,ISNULL(DefaultProcessTypeLanguage.Name,'No name for this process type')) ProcessTypeName " + " , ISNULL(UserProcessTypeFieldLanguage.Name,ISNULL(DefaultProcessTypeFieldLanguage.Name,'No name for this process type field')) ProcessTypeFieldName " + " , ISNULL(UserProcessTypeStageTypeLanguage.Name,ISNULL(DefaultProcessTypeStageTypeLanguage.Name,'No description for this process type stage type')) ProcesstypeStageTypeName" + " , ISNULL(UserProcessTypeStageLanguage.Name,ISNULL(DefaultProcessTypeStageLanguage.Name,'No description for this process type stage')) ProcesstypeStageName" + " , ProcessFields.StringValue Subject " + " , Creator.FirstName + ' ' + Creator.LastName CreatorName, Creator.PersonID CreatorID, Processes.CreatedDate, Modifier.FirstName + ' ' + Modifier.LastName ModifierName, Modifier.PersonID ModifierId, Processes.ModifiedDate " + " FROM Processes JOIN ProcessFields ON ProcessFields.ProcessId = Processes.ProcessID " + " JOIN ProcessTypeFields ON ProcessTypeFields.ProcessTypeFieldId = ProcessFields.ProcessTypeFieldID " + " LEFT JOIN (SELECT ProcessTypeId, Name FROM ProcessTypeLanguages WHERE LanguageId = @LanguageID) UserProcessTypeLanguage ON UserProcessTypeLanguage.ProcessTypeId = Processes.ProcessTypeID " + " LEFT JOIN (SELECT ProcessTypeId, Name FROM ProcessTypeLanguages JOIN Settings ON ProcessTypeLanguages.LanguageId = Settings.IntValue WHERE Settings.SettingId = 1) DefaultProcessTypeLanguage ON DefaultProcessTypeLanguage.ProcessTypeId = Processes.ProcessTypeID " + " LEFT JOIN (SELECT ProcessTypeFieldId, Name FROM ProcessTypeFieldLanguages WHERE LanguageId = @LanguageID) UserProcessTypeFieldLanguage ON UserProcessTypeFieldLanguage.ProcessTypeFieldId = ProcessTypeFields.ProcessTypeFieldID " + " LEFT JOIN (SELECT ProcessTypeFieldId, Name FROM ProcessTypeFieldLanguages JOIN Settings ON ProcessTypeFieldLanguages.LanguageId = Settings.IntValue WHERE Settings.SettingId = 1) DefaultProcessTypeFieldLanguage ON DefaultProcessTypeFieldLanguage.ProcessTypeFieldId = ProcessTypeFields.ProcessTypeFieldID " + " LEFT JOIN (SELECT ProcessTypeStageId, Name FROM ProcessTypeStageLanguages WHERE LanguageId = @LanguageID) UserProcessTypeStageLanguage ON UserProcessTypeStageLanguage.ProcessTypeStageId = Processes.ProcessTypeStageID " + " LEFT JOIN (SELECT ProcessTypeStageId, Name FROM ProcessTypeStageLanguages JOIN Settings ON ProcessTypeStageLanguages.LanguageId = Settings.IntValue WHERE Settings.SettingId = 1) DefaultProcessTypeStageLanguage ON DefaultProcessTypeStageLanguage.ProcessTypeStageId = Processes.ProcessTypeStageID " + " JOIN ProcessTypeStages ON Processes.ProcessTypeStageId = ProcessTypeStages.ProcessTypeStageId " + " LEFT JOIN (SELECT ProcessTypeStageTypeId, Name FROM ProcessTypeStageTypeLanguages WHERE LanguageId = @LanguageID) UserProcessTypeStageTypeLanguage ON UserProcessTypeStageTypeLanguage.ProcessTypeStageTypeId = ProcessTypeStages.ProcessTypeStageTypeID " + " LEFT JOIN (SELECT ProcessTypeStageTypeId, Name FROM ProcessTypeStageTypeLanguages JOIN Settings ON ProcessTypeStageTypeLanguages.LanguageId = Settings.IntValue WHERE Settings.SettingId = 1) DefaultProcessTypeStageTypeLanguage ON DefaultProcessTypeStageTypeLanguage.ProcessTypeStageTypeId = ProcessTypeStages.ProcessTypeStageTypeID " + " JOIN Persons Creator ON Creator.UserId = Processes.CreatorID " + " JOIN Persons Modifier ON Modifier.UserId = Processes.ModifierID "; string Where = " WHERE ProcessTypeFields.ProcessTypeFieldTypeId = 1 AND Processes.ProcessId = " + Process.ProcessId + " AND "; string OrderBy = " ORDER BY ISNULL(UserProcessTypeLanguage.Name,ISNULL(DefaultProcessTypeLanguage.Name,'No name for this process type')) , ProcessFields.StringValue "; var Conditions = await _frontProcessProvider.FrontProcessToDoConditions(Flow); foreach (var Condition in Conditions) { var Fields = await _frontProcessProvider.FrontProcessToDoProcessFields(Process.ProcessId); switch (Condition.ProcessTypeFlowConditionTypeID) { case 1: //Creator is user if (Process.CreatorId != CurrentUser.Id) { Where = Where + " 1 = 2 "; } break; case 2: //Field if ( //PETER TODO maybe still adjust for condition <>= ( Fields.Find(x => x.ProcessTypeFieldID == Condition.ProcessTypeFieldID).StringValue != Condition.ProcessTypeFlowConditionString && !new[] { 1, 2, 12, 13, 30, 31, 32 }.Contains(Fields.Find(x => x.ProcessTypeFieldID == Condition.ProcessTypeFieldID).ProcessTypeFieldTypeID) ) || ( Fields.Find(x => x.ProcessTypeFieldID == Condition.ProcessTypeFieldID).IntValue != Condition.ProcessTypeFlowConditionInt && !new[] { 3, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 36, 37 }.Contains(Fields.Find(x => x.ProcessTypeFieldID == Condition.ProcessTypeFieldID).ProcessTypeFieldTypeID) ) || ( Fields.Find(x => x.ProcessTypeFieldID == Condition.ProcessTypeFieldID).DateTimeValue != Condition.ProcessTypeFlowConditionDate && !new[] { 4, 5, 6, 7, 8, 9 }.Contains(Fields.Find(x => x.ProcessTypeFieldID == Condition.ProcessTypeFieldID).ProcessTypeFieldTypeID) ) ) { } else { Where = Where + " 2 = 3 "; } break; case 3: //Security level user switch (Condition.ComparisonOperatorID) { case 1: //none Where = Where + " 3 = 1 "; break; case 2: //= if (Fields.Find(x => x.ProcessTypeFieldTypeID == 12).IntValue != CurrentUser.SecurityLevelId) { Where = Where + " 3 = 2 "; } break; case 3: //large if (Fields.Find(x => x.ProcessTypeFieldTypeID == 12).IntValue >= CurrentUser.SecurityLevelId) { Where = Where + " 3 = 4 "; } break; case 4: //Smaller if (Fields.Find(x => x.ProcessTypeFieldTypeID == 12).IntValue <= CurrentUser.SecurityLevelId) { Where = Where + " 3 = 5 "; } break; case 5: //Larger or equal if (Fields.Find(x => x.ProcessTypeFieldTypeID == 12).IntValue > CurrentUser.SecurityLevelId) { Where = Where + " 3 = 6 "; } break; case 6: //Smaller or equal if (Fields.Find(x => x.ProcessTypeFieldTypeID == 12).IntValue < CurrentUser.SecurityLevelId) { Where = Where + " 3 = 7 "; } break; case 7: //Not qual if (Fields.Find(x => x.ProcessTypeFieldTypeID == 12).IntValue == CurrentUser.SecurityLevelId) { Where = Where + " 3 = 8 "; } break; } break; case 4: //Role user var RoleIds = await _userRoleProvider.UserRoleIDsPerUser(CurrentUser.Id); if (!RoleIds.Contains(Fields.Find(x => x.ProcessTypeFieldTypeID == 30).StringValue)) { Where = Where + " 3 = 8 "; } break; case 5: //Manager user field //PETER TODO break; case 6: //Organization user //PETER TODO do we need to split Main organization, any organization or for specific role var OrganizationIds = await _organizationProvider.OrganizationIDsPerUser(CurrentUser.Id); if (!OrganizationIds.Contains(Fields.Find(x => x.ProcessTypeFieldTypeID == 30).IntValue)) { Where = Where + " 3 = 8 "; } break; case 7: //Organization role user break; case 8: //Organization parent user break; case 9: //Organization parent role user break; case 10: //Project user break; case 11: //Project role user var ProjectIds = await _projectProvider.ProjectIDsPerUser(CurrentUser.Id); if (!ProjectIds.Contains(Fields.Find(x => x.ProcessTypeFieldTypeID == 30).IntValue)) { Where = Where + " 3 = 8 "; } break; case 12: //Project parent user break; case 13: //Project parent role user break; case 14: //Default organization user var OrganizationId = await _organizationProvider.MainOrganizationIDPerUser(CurrentUser.Id); if (OrganizationId != Fields.Find(x => x.ProcessTypeFieldTypeID == 30).IntValue) { Where = Where + " 3 = 8 "; } break; case 15: //Open bracket Where = Where + " ( "; break; case 16: //and Where = Where + " AND "; break; case 17: //or Where = Where + " OR "; break; case 18: //Close bracket Where = Where + " ) "; break; case 19: //User if (Fields.Find(x => x.ProcessTypeFieldTypeID == 12).StringValue != CurrentUser.Id) { Where = Where + " 1 = 2 "; } break; case 20: //Relation to creator break; case 21: //Relation to user field break; case 22: //Classification relation break; case 23: //Classification relation type break; } } var CompareWhere = " WHERE ProcessTypeFields.ProcessTypeFieldTypeId = 1 AND Processes.ProcessId = " + Process.ProcessId + " AND "; if (Where == CompareWhere) { Where = " WHERE ProcessTypeFields.ProcessTypeFieldTypeId = 1 AND Processes.ProcessId = " + Process.ProcessId + " "; } var ToDos = await _frontProcessProvider.FrontProcessToDo(From + Where + OrderBy); if (ToDos.Count == 1) { var ToDo = ToDos.First(); if (!ToDoList.Any(x => x.ProcessId == ToDo.ProcessId)) { ToDoList.Add(ToDo); } } } } return(ToDoList); }
public async Task <List <ClassificationValueForPanel> > ClassificationValueList(SipUser CurrentUser, int PageSectionId) { //string ClassificationValueConditionSQLFrom = " DECLARE @LanguageId int; " + //" SELECT @LanguageId = IntPreference " + //" FROM UserPreferences " + //" WHERE USerId = '" + CurrentUser.Id + "' " + //" AND UserPreferences.PreferenceTypeId = 1; " + //" SELECT ClassificationValues.ClassificationValueID " + //" , ClassificationValues.ClassificationID " + //" , ISNULL(UserClassificationValueLanguage.Name, ISNULL(DefaultClassificationValueLanguage.Name, 'No name for this value')) Name " + //" , ISNULL(UserClassificationValueLanguage.Description, ISNULL(DefaultClassificationValueLanguage.Description, 'No description for this value')) Description " + //" , ISNULL(UserClassificationValueLanguage.MenuName, ISNULL(DefaultClassificationValueLanguage.MenuName, 'No menu name for this value')) MenuName " + //" , ISNULL(UserClassificationValueLanguage.MouseOver, ISNULL(DefaultClassificationValueLanguage.MouseOver, 'No drop Mouse over for this value')) MouseOver " + //" , ISNULL(UserClassificationValueLanguage.DropDownName, ISNULL(DefaultClassificationValueLanguage.DropDownName, 'No drop down name for this value')) DropDownName " + //" , ClassificationValues.ParentValueID " + //" , ISNULL(UserParentLanguage.Name, ISNULL(DefaultParentLanguage.Name, 'No parent name for this value')) ParentName " + //" , ClassificationValues.DateFrom " + //" , ClassificationValues.DateTo " + //" , Creator.FirstName + ' ' + Creator.LastName CreatorName " + //" , Creator.PersonID CreatorID " + //" , ClassificationValues.CreatedDate " + //" , Modifier.FirstName + ' ' + Modifier.LastName ModifierName " + //" , Modifier.PersonID ModifierID " + //" , ClassificationValues.ModifiedDate " + //" FROM ClassificationValues " + //" LEFT JOIN(SELECT ClassificationValueId, Name, Description, MenuName, MouseOver, DropDownName, PageName, PageDescription, HeaderName, HeaderDescription, TopicName FROM ClassificationValueLanguages WHERE LanguageId = @LanguageID) UserClassificationValueLanguage " + //" ON UserClassificationValueLanguage.ClassificationValueId = ClassificationValues.ClassificationValueID " + //" LEFT JOIN(SELECT ClassificationValueId, Name, Description, MenuName, MouseOver, DropDownName, PageName, PageDescription, HeaderName, HeaderDescription, TopicName FROM ClassificationValueLanguages JOIN Settings ON ClassificationValueLanguages.LanguageId = Settings.IntValue WHERE Settings.SettingId = 1) DefaultClassificationValueLanguage " + //" ON DefaultClassificationValueLanguage.ClassificationValueId = ClassificationValues.ClassificationValueID " + //" LEFT JOIN(SELECT ClassificationValueId, Name FROM ClassificationValueLanguages WHERE LanguageId = @LanguageID) UserParentLanguage " + //" ON UserParentLanguage.ClassificationValueId = ClassificationValues.ParentValueID " + //" LEFT JOIN(SELECT ClassificationValueId, Name FROM ClassificationValueLanguages JOIN Settings ON ClassificationValueLanguages.LanguageId = Settings.IntValue WHERE Settings.SettingId = 1) DefaultParentLanguage " + //" ON DefaultParentLanguage.ClassificationValueId = ClassificationValues.ParentValueID " + //" LEFT JOIN(SELECT ClassificationId, Name FROM ClassificationLanguages WHERE LanguageId = @LanguageID) UserClassificationLanguage " + //" ON UserClassificationLanguage.ClassificationId = ClassificationValues.ClassificationID " + //" LEFT JOIN(SELECT ClassificationId, Name FROM ClassificationLanguages JOIN Settings ON ClassificationLanguages.LanguageId = Settings.IntValue WHERE Settings.SettingId = 1) DefaultClassificationLanguage " + //" ON DefaultClassificationLanguage.ClassificationId = ClassificationValues.ClassificationID " + //" JOIN Persons Creator " + //" ON Creator.UserId = ClassificationValues.CreatorID " + //" JOIN Persons Modifier " + //" ON Modifier.UserId = ClassificationValues.ModifierID "; string ClassificationValueConditionSQLFrom = " "; string ClassificationValueConditionSQLWhere = " WHERE 1 = 1 "; string ClassificationValueConditionSQLContains = ""; var ClassificationValueConditions = await _classificationValueProvider.PanelCondition(PageSectionId); foreach (var ClassificationValueCondition in ClassificationValueConditions) { switch (ClassificationValueCondition.PageSectionClassificationValueConditionTypeId) { case 1: // Contains ClassificationValueConditionSQLFrom += " JOIN ( SELECT DISTINCT ClassificationValueId FROM ClassificationValueLanguages WHERE LanguageId = @LanguageID AND CONTAINS (ClassificationValueLanguages.FullText, '" + ClassificationValueCondition.PageSectionClassificationValueConditionString + "' )) ClassificationValueTable" + ClassificationValueCondition.PageSectionClassificationValueConditionId + " ON ClassificationValueTable" + ClassificationValueCondition.PageSectionClassificationValueConditionId + ".ClassificationValueId = ClassificationValues.ClassificationValueID "; break; case 2: // Classification ClassificationValueConditionSQLWhere += " AND ClassificationValues.ClassificationId = " + ClassificationValueCondition.PageSectionClassificationValueConditionInt; break; case 3: // Level Still inactive break; case 4: // Parent value still inactive break; } } var ClassificationValueList = await _classificationValueProvider.Panel(CurrentUser.Id, ClassificationValueConditionSQLFrom, ClassificationValueConditionSQLWhere, ClassificationValueConditionSQLContains); return(ClassificationValueList); }
public async Task <List <ProjectForPanel> > ProjectList(SipUser CurrentUser, int PageSectionId) { //string ProjectConditionSQLFrom = " DECLARE @LanguageId int; " + // " SELECT @LanguageId = IntPreference " + // " FROM UserPreferences " + // " WHERE USerId = '" + CurrentUser.Id + "' " + // " AND UserPreferences.PreferenceTypeId = 1; " + // " SELECT " + // " Projects.ProjectID " + // " , Projects.ProjectTypeID " + // " , ISNULL(UserLanguage.Name, ISNULL(DefaultLanguage.Name, 'No name for this Project')) Name " + // " , ISNULL(UserLanguage.Description, ISNULL(DefaultLanguage.Description, 'No description for this Project')) Description " + // " , ISNULL(UserLanguage.MenuName, ISNULL(DefaultLanguage.MenuName, 'No menu name for this Project')) MenuName " + // " , ISNULL(UserLanguage.MouseOver, ISNULL(DefaultLanguage.MouseOver, 'No mouse over for this Project')) MouseOver " + // " , ISNULL(UserTypeLanguage.Name, ISNULL(DefaultTypeLanguage.Name, 'No name for this Project type')) ProjectTypeName " + // " , ISNULL(UserStatusName.Customization, StatusName.Name) StatusName " + // " , Creator.FirstName + ' ' + Creator.LastName CreatorName " + // " , Creator.PersonID CreatorID " + // " , Projects.CreatedDate " + // " , Modifier.FirstName + ' ' + Modifier.LastName ModifierName " + // " , Modifier.PersonId ModifierID " + // " , Projects.ModifiedDate " + // " , CONCAT('controlID', Projects.ProjectId) ControlId " + // " FROM Projects JOIN Statuses " + // " ON Statuses.StatusId = Projects.StatusID " + // " JOIN ProjectTypes " + // " ON Projects.ProjectTypeId = ProjectTypes.ProjectTypeID " + // " LEFT JOIN(SELECT ProjectId, Name, Description, MenuName, MouseOver FROM ProjectLanguages WHERE LanguageId = @LanguageID) UserLanguage " + // " ON UserLanguage.ProjectID = Projects.ProjectID " + // " LEFT JOIN(SELECT ProjectId, Name, Description, MenuName, MouseOver FROM ProjectLanguages JOIN Settings ON ProjectLanguages.LanguageId = Settings.IntValue WHERE Settings.SettingId = 1) DefaultLanguage " + // " ON DefaultLanguage.ProjectId = Projects.ProjectID " + // " LEFT JOIN(SELECT ProjectTypeId, Name FROM ProjectTypeLanguages WHERE LanguageId = @LanguageID) UserTypeLanguage " + // " ON UserTypeLanguage.ProjectTypeID = Projects.ProjectTypeID " + // "LEFT JOIN(SELECT ProjectTypeId, Name FROM ProjectTypeLanguages JOIN Settings ON ProjectTypeLanguages.LanguageId = Settings.IntValue WHERE Settings.SettingId = 1) DefaultTypeLanguage " + // " ON DefaultTypeLanguage.ProjectTypeID = Projects.ProjectTypeID " + // " JOIN UITermLanguages StatusName " + // " ON Statuses.NameTermId = StatusName.UITermId " + // " LEFT JOIN(SELECT* FROM UITermLanguageCustomizations WHERE UITermLanguageCustomizations.LanguageId = @LanguageID) UserStatusName " + // " ON Statuses.NameTermId = UserStatusName.UITermId" + // " JOIN Persons Creator " + // " ON Creator.UserId = Projects.CreatorID " + // " JOIN Persons Modifier " + // " ON Modifier.UserId = Projects.ModifierID "; string ProjectConditionSQLFrom = " "; string ProjectConditionSQLWhere = " WHERE StatusName.LanguageId = @LanguageId "; string ProjectConditionSQLContains = ""; var ProjectConditions = await _projectProvider.PanelCondition(PageSectionId); foreach (var ProjectCondition in ProjectConditions) { switch (ProjectCondition.PageSectionProjectConditionTypeId) { case 1: // Parent Project ProjectConditionSQLWhere += " AND Projects.ParentProjectId = " + ProjectCondition.PageSectionProjectConditionInt; break; case 2: // My Project ProjectConditionSQLWhere += " AND Projects.ProjectId IN (SELECT AspNetRoles.ProjectId FROM AspNetRoles JOIN AspNetUserRoles ON AspNetRoles.Id JOIN AspNetUserRoles.RoleId WHERE AspNetUserRoles.UserId = '" + CurrentUser.Id + "' ) "; break; case 3: // Contains ProjectConditionSQLFrom += " JOIN ( SELECT ProjectId FROM ProjectLanguages WHERE LanguageId = @LanguageID AND CONTAINS (ProjectLanguages.FullText, '" + ProjectCondition.PageSectionProjectConditionString + "' )) ProjectTable" + ProjectCondition.PageSectionProjectConditionId + " ON ProjectTable" + ProjectCondition.PageSectionProjectConditionId + ".ProjectId = Projects.ProjectID "; break; case 4: // Project type ProjectConditionSQLWhere += " AND Projects.ProjectTypeId = " + ProjectCondition.PageSectionProjectConditionInt; break; } } var ProjectList = await _projectProvider.Panel(CurrentUser.Id, ProjectConditionSQLFrom, ProjectConditionSQLWhere, ProjectConditionSQLContains); return(ProjectList); }
public async Task <List <PersonForPanel> > PersonList(SipUser CurrentUser, int PageSectionId) { //string PersonConditionSQLFrom = " DECLARE @LanguageId int; " + // " SELECT @LanguageId = IntPreference " + // " FROM UserPreferences " + // " WHERE USerId = '" + CurrentUser.Id + "' " + // " AND UserPreferences.PreferenceTypeId = 1; " + // " SELECT ISNULL(Salutation, '') Salutation " + // " , ISNULL(FirstName, '')FirstName " + // " , ISNULL(MiddleName, '') MiddleName " + // " , ISNULL(LastName, '') LastName " + // " , ISNULL(NickName, '') NickName " + // " , ISNULL(FirstNameLocal, '') FirstNameLocal " + // " , ISNULL(MiddleNameLocal, '') MiddleNameLocal " + // " , ISNULL(LastNameLocal, '') LastNameLocal " + // " , CASE WHEN UserID IS NULL THEN 1 ELSE 0 END AS IsUser " + // " , ISNULL(UserLanguage.Name, ISNULL(DefaultLanguage.Name, 'No name for the organization')) DefaultOrganizationName " + // " , Creator.FirstName + ' ' + Creator.LastName CreatorName " + // " , Creator.PersonID CreatorID " + // " , Persons.CreatedDate " + // " , Modifier.FirstName + ' ' + Modifier.LastName ModifierName " + // " , Modifier.PersonId ModifierID " + // " , Persons.ModifiedDate " + // " , CONCAT('controlID', Persons.PersonId) ControlId " + // " FROM Persons " + // " LEFT JOIN(SELECT OrganizationId, Name FROM OrganizationLanguages WHERE LanguageId = @LanguageID) UserLanguage " + // " ON UserLanguage.OrganizationID = Persons.DefaultOrganizationID " + // " LEFT JOIN(SELECT OrganizationId, Name FROM OrganizationLanguages JOIN Settings ON OrganizationLanguages.LanguageId = Settings.IntValue WHERE Settings.SettingId = 1) DefaultLanguage " + // " ON DefaultLanguage.OrganizationId = Persons.DefaultOrganizationID " + // " JOIN Persons Creator " + // " ON Creator.UserId = Persons.CreatorID " + // " JOIN Persons Modifier " + // " ON Modifier.UserId = Persons.ModifierID "; string PersonConditionSQLFrom = " "; string PersonConditionSQLWhere = " WHERE 1=1 "; string PersonConditionSQLContains = ""; var PersonConditions = await _personProvider.PanelCondition(PageSectionId); foreach (var PersonCondition in PersonConditions) { switch (PersonCondition.PageSectionPersonConditionTypeId) { case 1: // Contains PersonConditionSQLWhere += " AND CONTAINS (Persons.FullText, '" + PersonCondition.PageSectionPersonConditionString + "' ) "; // PersonConditionSQLWhere += " AND CONTAINS = " + PersonCondition.PageSectionPersonConditionInt; break; case 2: // Default organization PersonConditionSQLWhere += " AND Persons.DefaultOrganizationId = " + PersonCondition.PageSectionPersonConditionInt; break; case 3: // Organization PersonConditionSQLWhere += " AND Persons.PersonId IN (SELECT PersonId FROM AspNetRoles JOIN AspNetUserRoles ON AspNetRoles.Id = AspNetUserRoles.RoleId JOIN Persons ON Persons.UserID = AspNetUserRoles.UserId WHERE AspNetRoles.OrganizationId = " + PersonCondition.PageSectionPersonConditionInt + " ) "; break; case 4: // Project PersonConditionSQLWhere += " AND Persons.PersonId IN (SELECT PersonId FROM AspNetRoles JOIN AspNetUserRoles ON AspNetRoles.Id = AspNetUserRoles.RoleId JOIN Persons ON Persons.UserID = AspNetUserRoles.UserId WHERE AspNetRoles.ProjectId = " + PersonCondition.PageSectionPersonConditionInt + " ) "; break; case 5: // Country PersonConditionSQLWhere += " AND Persons.PersonId IN (SELECT PersonId FROM PersonAddresses WHERE CountryId = " + PersonCondition.PageSectionPersonConditionInt + " ) "; break; case 6: // State / Province PersonConditionSQLWhere += " AND Persons.PersonId IN (SELECT PersonId FROM PersonAddresses WHERE ProvinceState LIKE '%" + PersonCondition.PageSectionPersonConditionString + "%' ) "; break; case 7: // City PersonConditionSQLWhere += " AND Persons.PersonId IN (SELECT PersonId FROM PersonAddresses WHERE City LIKE '%" + PersonCondition.PageSectionPersonConditionString + "%' ) "; break; case 8: // My relations PersonConditionSQLWhere += " AND ( Persons.PersonId IN (SELECT FromPersonId FROM PersonRelations JOIN Persons ON PersonRelations.ToPersonID = PersonId WHERE UserId = '" + CurrentUser.Id + "') OR Persons.PersonId IN (SELECT ToPersonId FROM PersonRelations JOIN Persons ON PersonRelations.FromPersonID = PersonId WHERE UserId = '" + CurrentUser.Id + "') ) "; break; case 9: // Is user if (PersonCondition.PageSectionPersonConditionInt == 1) { PersonConditionSQLWhere += " AND Persons.UserId IS NOT NULL "; } else { PersonConditionSQLWhere += " AND Persons.UserId IS NULL "; } break; } } var PersonList = await _personProvider.Panel(CurrentUser.Id, PersonConditionSQLFrom, PersonConditionSQLWhere, PersonConditionSQLContains); return(PersonList); }
public async Task <List <ContentForPanel> > ContentList(SipUser CurrentUser, int PageSectionId) { string ContentConditionSQLFrom = " DECLARE @LanguageId int; " + " SELECT @LanguageId = IntPreference " + " FROM UserPreferences " + " WHERE USerId = '" + CurrentUser.Id + "' " + " AND UserPreferences.PreferenceTypeId = 1; " + " SELECT Contents.ContentID " + ", Contents.Title " + ", ContentVersions.Description " + ", ISNULL(UserLanguage.Name, ISNULL(DefaultLanguage.Name, 'No name for this ContentType')) ContentTypeName " + ", Creator.FirstName + ' ' + Creator.LastName CreatorName " + ", Creator.PersonID CreatorID " + ", Contents.CreatedDate " + ", Modifier.FirstName + ' ' + Modifier.LastName ModifierName " + ", Modifier.PersonId ModifierID " + ", Contents.ModifiedDate " + ", CONCAT('controlID', Contents.ContentId) ControlId " + " FROM Contents JOIN ContentVersions ON Contents.ActiveVersionId = ContentVersions.ContentversionID " + " JOIN ContentTypes " + " ON Contents.ContentTypeID = ContentTypes.ContentTypeID " + " LEFT JOIN(SELECT ContentTypeId, Name, Description, MenuName, MouseOver, ContentTypeLanguageID FROM ContentTypeLanguages WHERE LanguageId = @LanguageID) UserLanguage " + " ON UserLanguage.ContentTypeID = ContentTypes.ContentTypeID " + " LEFT JOIN(SELECT ContentTypeId, Name, Description, MenuName, MouseOver, ContentTypeLanguageID FROM ContentTypeLanguages JOIN Settings ON ContentTypeLanguages.LanguageId = Settings.IntValue WHERE Settings.SettingId = 1) DefaultLanguage " + " ON DefaultLanguage.ContentTypeId = ContentTypes.ContentTypeID " + " JOIN Persons Creator " + " ON Creator.UserId = Contents.CreatorID " + " JOIN Persons Modifier " + " ON Modifier.UserId = Contents.ModifierID "; string ContentConditionSQLWhere = " WHERE 1=1 "; string ContentConditionSQLContains = ""; var ContentConditions = await _contentProvider.PanelCondition(PageSectionId); foreach (var ContentCondition in ContentConditions) { switch (ContentCondition.PageSectionContentConditionTypeId) { case 1: // User ContentConditionSQLWhere += ""; break; case 2: // Contains ContentConditionSQLContains += ""; break; case 3: // Organization ContentConditionSQLWhere += " AND Contents.OrganizationId = " + ContentCondition.PageSectionContentConditionInt + " "; break; case 4: // Project ContentConditionSQLWhere += " AND Contents.ProjectId = " + ContentCondition.PageSectionContentConditionInt + " "; break; case 5: // Content type ContentConditionSQLWhere += " AND Contents.ContentTypeId = " + ContentCondition.PageSectionContentConditionInt + " "; break; case 6: // Content status ContentConditionSQLWhere += " AND Contents.ContentStatusId = " + ContentCondition.PageSectionContentConditionInt + " "; break; case 7: // Language ContentConditionSQLWhere += " AND Contents.LanguageId = " + ContentCondition.PageSectionContentConditionInt + " "; break; case 8: // Security level ContentConditionSQLWhere += " AND Contents.SecurityLevelId = " + ContentCondition.PageSectionContentConditionInt + " "; break; case 9: // Creator ContentConditionSQLWhere += " AND Contents.CreatorId = '" + ContentCondition.PageSectionContentConditionString + "' "; break; case 10: // Modifier ContentConditionSQLWhere += " AND Contents.ModifierId = '" + ContentCondition.PageSectionContentConditionString + "' "; break; case 11: // ClassificationValue ContentConditionSQLWhere += " AND Contents.ContentId IN (SELECT CotentId FROM ContentClassificationValues WHERE ClassificationValueId = " + ContentCondition.PageSectionContentConditionInt + ") "; break; case 12: // Created from date ContentConditionSQLWhere += " AND Contents.CreatedDate > '" + ContentCondition.PageSectionContentConditionDate + "' "; break; case 13: // Created to date ContentConditionSQLWhere += " AND Contents.CreatedDate < '" + ContentCondition.PageSectionContentConditionDate + "' "; break; case 14: // Created from date ContentConditionSQLWhere += " AND Contents.ModifiedDate > '" + ContentCondition.PageSectionContentConditionDate + "' "; break; case 15: // Created to date ContentConditionSQLWhere += " AND Contents.ModifiedDate < '" + ContentCondition.PageSectionContentConditionDate + "' "; break; } } var ContentList = await _contentProvider.Panel(ContentConditionSQLFrom, ContentConditionSQLWhere, ContentConditionSQLContains); return(ContentList); }
public async Task <List <OrganizationForPanel> > OrganizationList(SipUser CurrentUser, int PageSectionId) { //string OrganizationConditionSQLFrom = " DECLARE @LanguageId int; " + // " SELECT @LanguageId = IntPreference " + // " FROM UserPreferences " + // " WHERE USerId = '" + CurrentUser.Id + "' " + // " AND UserPreferences.PreferenceTypeId = 1; " + // " SELECT " + // " Organizations.OrganizationID " + // " , Organizations.OrganizationTypeID " + // " , ISNULL(UserLanguage.Name, ISNULL(DefaultLanguage.Name, \"No name for this organization\")) Name " + // " , ISNULL(UserLanguage.Description, ISNULL(DefaultLanguage.Description, \"No description for this organization\")) Description " + // " , ISNULL(UserLanguage.MenuName, ISNULL(DefaultLanguage.MenuName, \"No menu name for this organization\")) MenuName " + // " , ISNULL(UserLanguage.MouseOver, ISNULL(DefaultLanguage.MouseOver, \"No mouse over for this organization\")) MouseOver " + // " , ISNULL(UserTypeLanguage.Name, ISNULL(DefaultTypeLanguage.Name, \"No name for this organization type\")) OrganizationTypeName " + // " , ISNULL(UserStatusName.Customization, StatusName.Name) StatusName " + // " , OrganizationTypes.Internal " + // " , OrganizationTypes.LegalEntity " + // " , Creator.FirstName + ' ' + Creator.LastName CreatorName " + // " , Creator.PersonID CreatorID " + // " , Organizations.CreatedDate " + // " , Modifier.FirstName + ' ' + Modifier.LastName ModifierName " + // " , Modifier.PersonId ModifierID " + // " , Organizations.ModifiedDate " + // " , CONCAT('controlID', Organizations.OrganizationId) ControlId " + // " FROM Organizations JOIN Statuses " + // " ON Statuses.StatusId = Organizations.StatusID " + // " JOIN OrganizationTypes " + // " ON Organizations.OrganizationTypeId = OrganizationTypes.OrganizationTypeID " + // " LEFT JOIN(SELECT OrganizationId, Name, Description, MenuName, MouseOver FROM OrganizationLanguages WHERE LanguageId = @LanguageID) UserLanguage " + // " ON UserLanguage.OrganizationID = Organizations.OrganizationID " + // " LEFT JOIN(SELECT OrganizationId, Name, Description, MenuName, MouseOver FROM OrganizationLanguages JOIN Settings ON OrganizationLanguages.LanguageId = Settings.IntValue WHERE Settings.SettingId = 1) DefaultLanguage " + // " ON DefaultLanguage.OrganizationId = Organizations.OrganizationID " + // " LEFT JOIN(SELECT OrganizationTypeId, Name FROM OrganizationTypeLanguages WHERE LanguageId = @LanguageID) UserTypeLanguage " + // " ON UserTypeLanguage.OrganizationTypeID = Organizations.OrganizationTypeID " + // "LEFT JOIN(SELECT OrganizationTypeId, Name FROM OrganizationTypeLanguages JOIN Settings ON OrganizationTypeLanguages.LanguageId = Settings.IntValue WHERE Settings.SettingId = 1) DefaultTypeLanguage " + // " ON DefaultTypeLanguage.OrganizationTypeID = Organizations.OrganizationTypeID " + // " JOIN UITermLanguages StatusName " + // " ON Statuses.NameTermId = StatusName.UITermId " + // " LEFT JOIN(SELECT* FROM UITermLanguageCustomizations WHERE UITermLanguageCustomizations.LanguageId = @LanguageID) UserStatusName " + // " ON Statuses.NameTermId = UserStatusName.UITermId" + // " JOIN Persons Creator " + // " ON Creator.UserId = Organizations.CreatorID " + // " JOIN Persons Modifier " + // " ON Modifier.UserId = Organizations.ModifierID "; string OrganizationConditionSQLFrom = " "; string OrganizationConditionSQLWhere = " WHERE StatusName.LanguageId = @LanguageId "; string OrganizationConditionSQLContains = ""; var OrganizationConditions = await _organizationProvider.PanelCondition(PageSectionId); foreach (var OrganizationCondition in OrganizationConditions) { switch (OrganizationCondition.PageSectionOrganizationConditionTypeId) { case 1: // Contains OrganizationConditionSQLFrom += " JOIN ( SELECT OrganizationId FROM OrganizationLanguages WHERE LanguageId = @LanguageID AND CONTAINS (OrganizationLanguages.FullText, '" + OrganizationCondition.PageSectionOrganizationConditionString + "' )) OrganizationTable" + OrganizationCondition.PageSectionOrganizationConditionId + " ON OrganizationTable" + OrganizationCondition.PageSectionOrganizationConditionId + ".OrganizationId = Organizations.OrganizationID "; // OrganizationConditionSQLWhere += " AND CONTAINS = " + OrganizationCondition.PageSectionOrganizationConditionInt; break; case 2: // Parent organization OrganizationConditionSQLWhere += " AND Organizations.ParentOrganizationId = " + OrganizationCondition.PageSectionOrganizationConditionInt; break; case 3: // Country OrganizationConditionSQLWhere += " AND Organizations.OrganizationId IN (SELECT OrganizationId FROM OrganizationAddresses WHERE CountryId = " + OrganizationCondition.PageSectionOrganizationConditionInt + " ) "; break; case 4: // State province OrganizationConditionSQLWhere += " AND Organizations.OrganizationId IN (SELECT OrganizationId FROM OrganizationAddresses WHERE ProvinceState LIKE '%" + OrganizationCondition.PageSectionOrganizationConditionString + "%' ) "; break; case 5: // Organization type OrganizationConditionSQLWhere += " AND Organizations.OrganizationTypeId = " + OrganizationCondition.PageSectionOrganizationConditionInt; break; case 6: // My organization OrganizationConditionSQLWhere += " AND Organizations.OrganizationId IN (SELECT AspNetRoles.OrganizationId FROM AspNetRoles JOIN AspNetUserRoles ON AspNetRoles.Id JOIN AspNetUserRoles.RoleId WHERE AspNetUserRoles.UserId = '" + CurrentUser.Id + "' ) "; break; case 7: // Internal OrganizationConditionSQLWhere += " AND Organizations.OrganizationTypeId IN (SELECT OrganizationTypeId FROM OrganizationTypes WHERE Internal = " + OrganizationCondition.PageSectionOrganizationConditionInt + " )"; break; case 8: // City OrganizationConditionSQLWhere += " AND Organizations.OrganizationId IN (SELECT OrganizationId FROM OrganizationAddresses WHERE City LIKE '%" + OrganizationCondition.PageSectionOrganizationConditionString + "%' ) "; break; case 9: // Legal entity OrganizationConditionSQLWhere += " AND Organizations.OrganizationTypeId IN (SELECT OrganizationTypeId FROM OrganizationTypes WHERE LegalEntity = " + OrganizationCondition.PageSectionOrganizationConditionInt + " )"; break; } } var OrganizationList = await _organizationProvider.Panel(CurrentUser.Id, OrganizationConditionSQLFrom, OrganizationConditionSQLWhere, OrganizationConditionSQLContains); return(OrganizationList); }
public async Task <List <NewProcessTypeList> > ReturnProcessTypeList(SipUser CurrentUser) { List <NewProcessTypeList> ProcesstypeList = new List <NewProcessTypeList>(); var TemplateIdFlowIds = await _processProvider.CreateGetInitialTemplateFlowList(); foreach (var TemplateIdFlowId in TemplateIdFlowIds) { string From = "DECLARE @LanguageId int; SELECT @LanguageId = IntPreference FROM UserPreferences WHERE USerId = '" + CurrentUser.Id + "' AND UserPreferences.PreferenceTypeId = 1 ;" + " SELECT ProcessTypeFlowConditions.ProcessTypeID , ProcessTypeGroupID, ISNULL(UserLanguage.Name,ISNULL(DefaultLanguage.Name,'No name for this classification')) Name, TRIM(Icons.FileName) FileName FROM ProcessTypeFlowConditions" + " JOIN ProcessTypes ON ProcessTypeFlowConditions.ProcessTypeId = ProcessTypes.ProcessTypeId " + " JOIN Icons ON ICons.IconId = ProcessTypes.IconId " + " LEFT JOIN(SELECT ProcessTypeId, Name FROM ProcessTypeLanguages WHERE LanguageId = @LanguageID) UserLanguage " + " ON UserLanguage.ProcessTypeID = ProcessTypeFlowConditions.ProcessTypeID " + "LEFT JOIN(SELECT ProcessTypeId, Name FROM ProcessTypeLanguages JOIN Settings ON ProcessTypeLanguages.LanguageId = Settings.IntValue WHERE Settings.SettingId = 1) DefaultLanguage " + " ON DefaultLanguage.ProcessTypeID = ProcessTypeFlowConditions.ProcessTypeID "; string Where = " WHERE ProcessTypeFlowId = " + TemplateIdFlowId.ProcessTypeFlowId + " AND "; var Conditions = await _processProvider.CreateGetInitialTemplateFlowConditionList(TemplateIdFlowId.ProcessTypeFlowId); foreach (var Condition in Conditions) { if (Condition.ProcessTypeFlowConditionTypeId == 1) //Creator is user { // From = From + NewProcess. ' ' //Have to check if this can be used in general or only new processes } if (Condition.ProcessTypeFlowConditionTypeId == 2) // Field { //NOT RELEVANT FOR NEW PROCESS //if (!new[] { 1, 2, 12, 13, 30, 31, 32 }.Contains(Condition.Fie.ProcessTypeFieldTypeId)) //{ // Where = Where + " 1=2 "; //} } if (Condition.ProcessTypeFlowConditionTypeId == 3) // Security level user { var UserSecurityLevel = await _userProvider.UserSecurityLevel(CurrentUser.Id); if (Condition.ComparisonOperatorId == 1) //Comparison blank { Where = Where + " 1=1 "; } if (Condition.ComparisonOperatorId == 2 && UserSecurityLevel != Condition.StageFieldIntValue) //Equal { Where = Where + UserSecurityLevel.ToString() + " = " + Condition.ProcessTypeFlowConditionInt.ToString(); } if (Condition.ComparisonOperatorId == 3 && UserSecurityLevel <= Condition.StageFieldIntValue) // > { Where = Where + UserSecurityLevel.ToString() + " > " + Condition.ProcessTypeFlowConditionInt.ToString(); } if (Condition.ComparisonOperatorId == 4 && UserSecurityLevel >= Condition.StageFieldIntValue) //< { Where = Where + UserSecurityLevel.ToString() + " < " + Condition.ProcessTypeFlowConditionInt.ToString(); } if (Condition.ComparisonOperatorId == 5 && UserSecurityLevel < Condition.StageFieldIntValue) //>= { Where = Where + UserSecurityLevel.ToString() + " >= " + Condition.ProcessTypeFlowConditionInt.ToString(); } if (Condition.ComparisonOperatorId == 6 && UserSecurityLevel > Condition.StageFieldIntValue) //<= { Where = Where + UserSecurityLevel.ToString() + " <= " + Condition.ProcessTypeFlowConditionInt.ToString(); } if (Condition.ComparisonOperatorId == 7 && UserSecurityLevel == Condition.StageFieldIntValue) //<> { Where = Where + UserSecurityLevel.ToString() + " <> " + Condition.ProcessTypeFlowConditionInt.ToString(); } } if (Condition.ProcessTypeFlowConditionTypeId == 4) // Role user { var Roles = await _userProvider.RoleIdForSpecificUser(CurrentUser.Id); for (int i = 0; i < Roles.Count; i++) { Roles[i] = Roles[i].Replace("\t", ""); } if (!Roles.Contains(Condition.ProcessTypeFlowConditionString.Replace("\t", ""))) { Where = Where + " 14=2 "; } } //PETER not sure yet if (Condition.ProcessTypeFlowConditionTypeId == 5) // Manager user field { } if (Condition.ProcessTypeFlowConditionTypeId == 6) // Organization user { var Organizations = await _userProvider.UserOrganizations(CurrentUser.Id); if (!Organizations.Contains(Condition.ProcessTypeFlowConditionInt)) { Where = Where + " 1=42 "; } } if (Condition.ProcessTypeFlowConditionTypeId == 7) // Organization role user { var RoleId = Condition.ProcessTypeFlowConditionString; var Organizations = await _userProvider.UserRoleOrganizations(CurrentUser.Id, RoleId); if (!Organizations.Contains(Condition.ProcessTypeFlowConditionInt)) { Where = Where + " 1=25 "; } } //PETER TODO if (Condition.ProcessTypeFlowConditionTypeId == 8) // Organization parent user { } if (Condition.ProcessTypeFlowConditionTypeId == 9) // Organization parent role user { } if (Condition.ProcessTypeFlowConditionTypeId == 10) // Project user { var Projects = await _userProvider.UserProjects(CurrentUser.Id); if (!Projects.Contains(Condition.ProcessTypeFlowConditionInt)) { Where = Where + " 1=26 "; } } if (Condition.ProcessTypeFlowConditionTypeId == 11) //Project role user { var RoleId = Condition.ProcessTypeFlowConditionString; var Projects = await _userProvider.UserRoleProjects(CurrentUser.Id, RoleId); if (!Projects.Contains(Condition.ProcessTypeFlowConditionInt)) { Where = Where + " 1=27 "; } } if (Condition.ProcessTypeFlowConditionTypeId == 12) //Project parent user { } if (Condition.ProcessTypeFlowConditionTypeId == 13) //Project parent role user { } if (Condition.ProcessTypeFlowConditionTypeId == 14) //Default organization user { var Organization = await _userProvider.UserDefaultOrganization(CurrentUser.Id); if (Organization != Condition.ProcessTypeFlowConditionInt) { Where = Where + " 1=28 "; } } if (Condition.ProcessTypeFlowConditionTypeId == 15) //Open bracket { Where = Where + " ( "; } if (Condition.ProcessTypeFlowConditionTypeId == 16) //and { Where = Where + " AND "; } if (Condition.ProcessTypeFlowConditionTypeId == 17) //or { Where = Where + " OR "; } if (Condition.ProcessTypeFlowConditionTypeId == 18) //Close bracket { Where = Where + " ) "; } if (Condition.ProcessTypeFlowConditionTypeId == 19) //User { if (CurrentUser.Id != Condition.ProcessTypeFlowConditionString) { Where = Where + " 1=29 "; } } if (Condition.ProcessTypeFlowConditionTypeId == 20) //Relation to creator { } if (Condition.ProcessTypeFlowConditionTypeId == 21) //Relation to user field { } if (Condition.ProcessTypeFlowConditionTypeId == 22) //Classification relation { } if (Condition.ProcessTypeFlowConditionTypeId == 23) //Classification relation type { } } if (Where == " WHERE ProcessTypeFlowId = " + TemplateIdFlowId.ProcessTypeFlowId + " AND ") { Where = " WHERE ProcessTypeFlowId = " + TemplateIdFlowId.ProcessTypeFlowId; } if (!ProcesstypeList.Any(t => t.ProcessTypeId == TemplateIdFlowId.ProcessTypeId)) { var y = await _frontProcessProvider.CreateGetTemplateList(From + Where); if (y.Count != 0) { var z = y.First(); z.FileName = "/images/icons/" + z.FileName; ProcesstypeList.Add(z); } } } return(ProcesstypeList); }
public async Task <bool> CheckClaim(SipUser User, string ClaimType, string ClaimValue) { return(true); }
public SipMessage(SipUser sipUser, LocalSipUserAgentServer localSipUas, SipTransportManager sipTransportManager, SipResponseCode sipResponse) { this.messageType = MessageType.Response; this.statusLine = new StatusLine(localSipUas, sipTransportManager.SipProtocol, sipResponse); CreateCommonHeaders(sipUser, localSipUas, sipTransportManager); }
public SipMessage(SipUser sipUser, LocalSipUserAgentServer localSipUas, SipTransportManager sipTransportManager, SipMethod sipMethod) { this.messageType = MessageType.Request; this.requestLine = new RequestLine(localSipUas, sipTransportManager.SipProtocol, sipMethod); CreateCommonHeaders(sipUser, localSipUas, sipTransportManager); }
public async Task <int> ReturnProcessTypeFlowPass(SipUser CurrentUser, FrontProcessUpdateGet Process) { var Flows = await _frontProcessProvider.FrontProcessUpdateReturnFlows(Process.ProcessTypeStageId); foreach (var FlowId in Flows) { string From = "SELECT ProcessTypeFlowId FROM ProcessTypeFlowPasses"; string Where = " WHERE ProcessTypeFlowId = " + FlowId + " AND "; var Passes = await _frontProcessProvider.FrontProcessNewReturnFlowPasses(FlowId); foreach (var Pass in Passes) { if (Pass.ProcessTypeFlowConditionTypeId == 1) //Creator is user { // From = From + NewProcess. ' ' //Have to check if this can be used in general or only new processes } if (Pass.ProcessTypeFlowConditionTypeId == 2) // Field { if (!new[] { 1, 2, 12, 13, 30, 31, 32 }.Contains(Pass.ProcessTypeFieldTypeId)) { Where = Where + " 1=2 "; } } if (Pass.ProcessTypeFlowConditionTypeId == 3) // Security level user { var UserSecurityLevel = await _userProvider.UserSecurityLevel(CurrentUser.Id); if (Pass.ComparisonOperatorID == 1) //Comparison blank { Where = Where + " 1=2 "; } if (Pass.ComparisonOperatorID == 2 && UserSecurityLevel != Pass.ProcessTypeFlowConditionInt) //Equal { Where = Where + " 1=2 "; } if (Pass.ComparisonOperatorID == 3 && UserSecurityLevel <= Pass.ProcessTypeFlowConditionInt) // { Where = Where + " 1=2 "; } if (Pass.ComparisonOperatorID == 4 && UserSecurityLevel >= Pass.ProcessTypeFlowConditionInt) { Where = Where + " 1=2 "; } if (Pass.ComparisonOperatorID == 5 && UserSecurityLevel < Pass.ProcessTypeFlowConditionInt) { Where = Where + " 1=2 "; } if (Pass.ComparisonOperatorID == 6 && UserSecurityLevel > Pass.ProcessTypeFlowConditionInt) { Where = Where + " 1=2 "; } if (Pass.ComparisonOperatorID == 7 && UserSecurityLevel == Pass.ProcessTypeFlowConditionInt) { Where = Where + " 1=2 "; } } if (Pass.ProcessTypeFlowConditionTypeId == 4) // Role user { var Roles = await _userProvider.UserRoles(CurrentUser.Id); if (!Roles.Contains(Process.Fields.Find(x => x.ProcessTypeFieldId == Pass.ProcessTypeFieldId).StringValue ?? "")) { Where = Where + " 1=2 "; } } //PETER not sure yet if (Pass.ProcessTypeFlowConditionTypeId == 5) // Manager user field { } if (Pass.ProcessTypeFlowConditionTypeId == 6) // Organization user { var Organizations = await _userProvider.UserOrganizations(CurrentUser.Id); if (!Organizations.Contains(Process.Fields.Find(x => x.ProcessTypeFieldId == Pass.ProcessTypeFieldId).IntValue ?? 0)) { Where = Where + " 1=2 "; } } if (Pass.ProcessTypeFlowConditionTypeId == 7) // Organization role user { var RoleId = Process.Fields.Find(x => x.ProcessTypeFieldId == Pass.ProcessTypeFieldIDRole).StringValue ?? ""; var Organizations = await _userProvider.UserRoleOrganizations(CurrentUser.Id, RoleId); if (!Organizations.Contains(Process.Fields.Find(x => x.ProcessTypeFieldId == Pass.ProcessTypeFieldId).IntValue ?? 0)) { Where = Where + " 1=2 "; } } //PETER TODO if (Pass.ProcessTypeFlowConditionTypeId == 8) // Organization parent user { } if (Pass.ProcessTypeFlowConditionTypeId == 9) // Organization parent role user { } if (Pass.ProcessTypeFlowConditionTypeId == 10) // Project user { var Projects = await _userProvider.UserProjects(CurrentUser.Id); if (!Projects.Contains(Process.Fields.Find(x => x.ProcessTypeFieldId == Pass.ProcessTypeFieldId).IntValue ?? 0)) { Where = Where + " 1=2 "; } } if (Pass.ProcessTypeFlowConditionTypeId == 11) //Project role user { var RoleId = Process.Fields.Find(x => x.ProcessTypeFieldId == Pass.ProcessTypeFieldIDRole).StringValue ?? ""; var Projects = await _userProvider.UserRoleProjects(CurrentUser.Id, RoleId); if (!Projects.Contains(Process.Fields.Find(x => x.ProcessTypeFieldId == Pass.ProcessTypeFieldId).IntValue ?? 0)) { Where = Where + " 1=2 "; } } if (Pass.ProcessTypeFlowConditionTypeId == 12) //Project parent user { } if (Pass.ProcessTypeFlowConditionTypeId == 13) //Project parent role user { } if (Pass.ProcessTypeFlowConditionTypeId == 14) //Default organization user { var Organization = await _userProvider.UserDefaultOrganization(CurrentUser.Id); var OrganizationInField = Process.Fields.Find(x => x.ProcessTypeFieldId == Pass.ProcessTypeFieldId).IntValue ?? 0; if (Organization != OrganizationInField) { Where = Where + " 1=2 "; } } if (Pass.ProcessTypeFlowConditionTypeId == 15) //Open bracket { Where = Where + " ( "; } if (Pass.ProcessTypeFlowConditionTypeId == 16) //and { Where = Where + " AND "; } if (Pass.ProcessTypeFlowConditionTypeId == 17) //or { Where = Where + " OR "; } if (Pass.ProcessTypeFlowConditionTypeId == 18) //Close bracket { Where = Where + " ) "; } if (Pass.ProcessTypeFlowConditionTypeId == 19) //User { var UserInField = Process.Fields.Find(x => x.ProcessTypeFieldId == Pass.ProcessTypeFieldId).StringValue ?? ""; if (CurrentUser.Id != UserInField) { Where = Where + " 1=2 "; } } if (Pass.ProcessTypeFlowConditionTypeId == 20) //Relation to creator { } if (Pass.ProcessTypeFlowConditionTypeId == 21) //Relation to user field { } if (Pass.ProcessTypeFlowConditionTypeId == 22) //Classification relation { } if (Pass.ProcessTypeFlowConditionTypeId == 23) //Classification relation type { } } if (Where == " WHERE ProcessTypeFlowId = " + FlowId + " AND ") { Where = " WHERE ProcessTypeFlowId = " + FlowId; } var SQLStatement = From + Where; var x = await _frontProcessProvider.ReturnProcessTypeFlowPass(CurrentUser.Id, SQLStatement); if (x.Count() > 0) { return(x.First()); } else { return(0); } } return(0); }
public async Task <List <ProcessForPanel> > ProcessList(SipUser CurrentUser, int PageSectionId) { string ProcessConditionSQLFrom = " SELECT Processes.ProcessId, ISNULL(ProcessFieldSubject.StringValue,'') As Subject, ProcessTypeLanguages.Name ProcessTypeName FROM Processes JOIN ProcessFields ProcessFieldSubject ON ProcessFieldSubject.ProcessId = Processes.ProcessId " + " JOIN ProcessTypefields ProcessTypeFieldSubject ON ProcessTypeFieldSubject.ProcessTypefieldId = ProcessFieldSubject.ProcessTypefieldId " + " JOIN ProcessTypes ON Processes.ProcessTypeId = ProcessTypes.ProcessTypeId JOIN ProcessTypeStages ON Processes.ProcessTypeStageId = ProcessTypeStages.ProcessTypeStageID "; string ProcessConditionSQLWhere = " WHERE ProcessTypeFieldSubject.ProcessTypeFieldTypeId = 1 AND ProcessTypeStages.InToDo = 1 "; string ProcessConditionSQLContains = ""; var ProcessConditions = await _processProvider.PanelCondition(PageSectionId); foreach (var ProcessCondition in ProcessConditions) { switch (ProcessCondition.PageSectionProcessConditionTypeId) { case 1: // Template ProcessConditionSQLWhere += " AND TemplateId = " + ProcessCondition.PageSectionProcessConditionInt; break; case 2: // Template group ProcessConditionSQLFrom += " JOIN ProcessTypeGroups ON ProcessTypes.ProcessTypeGroupId = ProcessTypeGroups.ProcessTypeGroupId "; ProcessConditionSQLWhere += " AND ProcessTypeGroups.TemplateGroupId = " + ProcessCondition.PageSectionProcessConditionInt; break; case 3: // My calendar ProcessConditionSQLFrom += " JOIN ProcessFields ProcessFieldMyCalendar ON Processes.ProcessId = ProcessFieldMyCalendar.ProcessId JOIN ProcessTypeFields ProcessTypeFieldMyCalendar ON ProcessTypeFieldMyCalendar.ProcessTypeFieldId = ProcessFieldMyCalendar.ProcessTypeFieldId "; ProcessConditionSQLWhere += " AND ProcessTypes.ShowInPersonalCalendar = 1 AND ProcessFieldMyCalendar.StringValue = '" + CurrentUser.Id + "' AND ProcessTypeFieldMyCalendar.ProcessTypefieldTypeId = 12 "; break; case 4: // Personal calendar ProcessConditionSQLWhere += " AND ProcessTypes.ShowInPersonalCalendar = 1 "; break; case 5: // Organization calendar ProcessConditionSQLWhere += " AND ProcessTypes.ShowInOrganizationCalendar = 1 "; break; case 6: // Project calendar ProcessConditionSQLWhere += " AND ProcessTypes.ShowInProjectCalendar = 1 "; break; case 7: // Event calendar ProcessConditionSQLWhere += " AND ProcessTypes.ShowInEventCalendar = 1 "; break; case 8: // Is personal ProcessConditionSQLWhere += " AND ProcessTypes.IsPersonal = 1 "; break; case 9: // Show new ProcessConditionSQLWhere += " AND ProcessTypes.ShowInNew = 1 "; break; case 10: // Show search ProcessConditionSQLWhere += " AND ProcessTypes.ShowInSearch = 1 "; break; case 11: // show report ProcessConditionSQLWhere += " AND ProcessTypes.ShowInReport = 1 "; break; case 12: // Organization ProcessConditionSQLFrom += " JOIN ProcessFields ProcessFieldOrganization ON Processes.ProcessId = ProcessFieldOrganization.ProcessId JOIN ProcessTypeFields ProcessTypeFieldOrganization ON ProcessTypeFieldOrganization.ProcessTypeFieldId = ProcessFieldOrganization.ProcessTypeFieldId "; ProcessConditionSQLWhere += " AND ProcessFieldOrganization.IntValue = " + ProcessCondition.PageSectionProcessConditionInt + " AND (ProcessTypeFieldOrganization.ProcessTypefieldTypeId = 14 OR ProcessTypeFieldOrganization.ProcessTypefieldTypeId = 15 ) "; break; case 13: // Project ProcessConditionSQLFrom += " JOIN ProcessFields ProcessFieldProject ON Processes.ProcessId = ProcessFieldProject.ProcessId JOIN ProcessTypeFields ProcessTypeFieldProject ON ProcessTypeFieldProject.ProcessTypeFieldId = ProcessFieldProject.ProcessTypeFieldId "; ProcessConditionSQLWhere += " AND ProcessFieldProject.IntValue = " + ProcessCondition.PageSectionProcessConditionInt + "' AND (ProcessTypeFieldProject.ProcessTypefieldTypeId = 16 OR ProcessTypeFieldProject.ProcessTypefieldTypeId = 17) "; break; case 14: // creator is user ProcessConditionSQLWhere += " AND Processes.CreatorId = '" + CurrentUser.Id + "' "; break; case 15: // role ProcessConditionSQLFrom += " JOIN ProcessFields ProcessFieldRole ON Processes.ProcessId = ProcessFieldRole.ProcessId JOIN ProcessTypeFields ProcessTypeFieldRole ON ProcessTypeFieldRole.ProcessTypeFieldId = ProcessFieldRole.ProcessTypeFieldId "; ProcessConditionSQLWhere += " AND ProcessFieldRole.stringValue = '" + ProcessCondition.PageSectionProcessConditionString + "' AND ProcessTypeFieldUser.ProcessTypefieldTypeId = 30 "; break; case 16: // securitylevel ProcessConditionSQLFrom += " JOIN ProcessFields ProcessFieldSecurityLevel ON Processes.ProcessId = ProcessFieldSecurityLevel.ProcessId JOIN ProcessTypeFields ProcessTypeFieldSecurityLevel ON ProcessTypeFieldSecurityLevel.ProcessTypeFieldId = ProcessFieldSecurityLevel.ProcessTypeFieldId "; ProcessConditionSQLWhere += " AND ProcessFieldSecurityLevel.IntValue <= '" + ProcessCondition.PageSectionProcessConditionInt + "' AND ProcessTypeFieldUser.ProcessTypefieldTypeId = 28 "; break; case 18: // Default Organization ProcessConditionSQLWhere += " AND ProcessFieldOrganization.IntValue = @DefaultOrganization AND ProcessTypeFieldUser.ProcessTypefieldTypeId = 14 "; break; case 19: // UserOrganization ProcessConditionSQLFrom += " JOIN ProcessFields ProcessFieldUserOrganization ON Processes.ProcessId = ProcessFieldUserOrganization.ProcessId JOIN ProcessTypeFields ProcessTypeFieldUserOrganization ON ProcessTypeFieldUserOrganization.ProcessTypeFieldId = ProcessFieldUserOrganization.ProcessTypeFieldId "; ProcessConditionSQLWhere += " AND ProcessFieldUserOrganization.IntValue IN (SELECT OrganizationId FROM AspNetRoles JOIN AspNetUserRoles ON AspNetRoles.Id = AspNetUserRoles.RoleId WHERE UserId = '" + CurrentUser.Id + "') AND ProcessTypeFieldUser.ProcessTypefieldTypeId = 14 "; break; case 20: // Specific Organization ProcessConditionSQLFrom += " JOIN ProcessFields ProcessFieldOrganizationRole ON Processes.ProcessId = ProcessFieldOrganizationRole.ProcessId JOIN ProcessTypeFields ProcessTypeFieldOrganizationRole ON ProcessTypeFieldOrganizationRole.ProcessTypeFieldId = ProcessFieldOrganizationRole.ProcessTypeFieldId "; ProcessConditionSQLWhere += " AND ProcessFieldOrganizationRole.StringValue = '" + ProcessCondition.PageSectionProcessConditionString + "' AND ProcessTypeFieldUser.ProcessTypefieldTypeId = 30 "; break; case 21: // UserProject ProcessConditionSQLFrom += " JOIN ProcessFields ProcessFieldUserProject ON Processes.ProcessId = ProcessFieldUserProject.ProcessId JOIN ProcessTypeFields ProcessTypeFieldUserProject ON ProcessTypeFieldUserProject.ProcessTypeFieldId = ProcessFieldUserProject.ProcessTypeFieldId "; ProcessConditionSQLWhere += " AND ProcessFieldUserProject.IntValue IN (SELECT ProjectId FROM AspNetRoles JOIN AspNetUserRoles ON AspNetRoles.Id = AspNetUserRoles.RoleId WHERE UserId = '" + CurrentUser.Id + "') AND ProcessTypeFieldUser.ProcessTypefieldTypeId = 16 "; break; case 22: // Specific project ProcessConditionSQLFrom += " JOIN ProcessFields ProcessFieldProjectRole ON Processes.ProcessId = ProcessFieldProjectRole.ProcessId JOIN ProcessTypeFields ProcessTypeFieldProjectRole ON ProcessFieldProjectRole.ProcessTypeFieldId = ProcessTypeFieldProjectRole.ProcessTypeFieldId "; ProcessConditionSQLWhere += " AND ProcessFieldProjectRole.StringValue = '" + ProcessCondition.PageSectionProcessConditionString + "' AND ProcessTypeFieldUser.ProcessTypefieldTypeId = 30 "; break; case 25: // Content ProcessConditionSQLFrom += " JOIN ProcessFields ProcessFieldContent ON Processes.ProcessId = ProcessFieldContent.ProcessId JOIN ProcessTypeFields ProcessTypeFieldContent ON ProcessFieldContent.ProcessTypeFieldId = ProcessTypeFieldContent.ProcessTypeFieldId "; ProcessConditionSQLWhere += " AND ProcessFieldContent.IntValue = " + ProcessCondition.PageSectionProcessConditionInt + " AND ProcessTypeFieldUser.ProcessTypefieldTypeId = 24 "; break; case 26: // Content type ProcessConditionSQLFrom += " JOIN ProcessFields ProcessFieldContentType ON Processes.ProcessId = ProcessFieldContentType.ProcessId JOIN ProcessTypeFields ProcessTypeFieldContentType ON ProcessFieldContentType.ProcessTypeFieldId = ProcessTypeFieldContentType.ProcessTypeFieldId "; ProcessConditionSQLWhere += " AND ProcessFieldContentType.IntValue IN (SELECT ContentId FROM Contents WHERE ContentTypeID = " + ProcessCondition.PageSectionProcessConditionInt + ") AND ProcessTypeFieldUser.ProcessTypefieldTypeId = 24 "; break; case 27: // User is user ProcessConditionSQLFrom += " JOIN ProcessFields ProcessFieldUserIsUser ON Processes.ProcessId = ProcessFieldUserIsUser.ProcessId JOIN ProcessTypeFields ProcessTypeFieldUserIsUser ON ProcessFieldUserIsUser.ProcessTypeFieldId = ProcessTypeFieldUserIsUser.ProcessTypeFieldId "; ProcessConditionSQLWhere += " AND ProcessFieldUserIsUser.StringValue = '" + ProcessCondition.PageSectionProcessConditionString + "' AND ProcessTypeFieldUser.ProcessTypefieldTypeId = 12 "; break; case 32: // From date ProcessConditionSQLFrom += " JOIN ProcessFields ProcessFieldFromDate ON Processes.ProcessId = ProcessFieldFromDate.ProcessId JOIN ProcessTypeFields ProcessTypeFieldFromDate ON ProcessFieldFromDate.ProcessTypeFieldId = ProcessTypeFieldFromDate.ProcessTypeFieldId "; ProcessConditionSQLWhere += " AND ProcessFieldFromDate.DateTimeValue >= '" + ProcessCondition.PageSectionProcessConditionDate + "' AND ProcessTypeFieldUser.ProcessTypefieldTypeId = 4 "; //PETER TO DO the date time and date time range and date range break; case 33: // To date ProcessConditionSQLFrom += " JOIN ProcessFields ProcessFieldToDate ON Processes.ProcessId = ProcessFieldToDate.ProcessId JOIN ProcessTypeFields ProcessTypeFieldToDate ON ProcessFieldToDate.ProcessTypeFieldId = ProcessTypeFieldToDate.ProcessTypeFieldId "; ProcessConditionSQLWhere += " AND ProcessFieldToDate.DateTimeValue <= '" + ProcessCondition.PageSectionProcessConditionDate + "' AND ProcessTypeFieldUser.ProcessTypefieldTypeId = 4 "; break; case 37: // Person ProcessConditionSQLFrom += " JOIN ProcessFields ProcessFieldPerson ON Processes.ProcessId = ProcessFieldPerson.ProcessId JOIN ProcessTypeFields ProcessTypeFieldPerson ON ProcessFieldPerson.ProcessTypeFieldId = ProcessTypeFieldPerson.ProcessTypeFieldId "; ProcessConditionSQLWhere += " AND ProcessFieldPerson.IntValue = " + ProcessCondition.PageSectionProcessConditionInt + " AND ProcessTypeFieldUser.ProcessTypefieldTypeId = 36 "; break; case 38: // Content type group ProcessConditionSQLFrom += " JOIN ProcessFields ProcessFieldContentTypeGroup ON Processes.ProcessId = ProcessFieldContentTypeGroup.ProcessId JOIN ProcessTypeFields ProcessTypeFieldContentTypeGroup ON ProcessFieldContentTypeGroup.ProcessTypeFieldId = ProcessTypeFieldContentTypeGroup.ProcessTypeFieldId "; ProcessConditionSQLWhere += " AND ProcessFieldContentTypeGroup.IntValue IN (SELECT ContentId FROM Contents JOIN ContentTypes ON Contents.ContentTypeId = ContentTypes.ContentTypeId WHERE ContentTypeGroupID = " + ProcessCondition.PageSectionProcessConditionInt + ") AND ProcessTypeFieldUser.ProcessTypefieldTypeId = 24 "; break; } } var ProcessList = await _processProvider.Panel(CurrentUser.Id, ProcessConditionSQLFrom, ProcessConditionSQLWhere, ProcessConditionSQLContains); return(ProcessList); }
public async Task <IActionResult> Index(int id) { var sqlService = new System.ServiceProcess.ServiceController("MSSQLSERVER"); // sqlService.ServiceName = ; if (sqlService.Status != ServiceControllerStatus.Stopped) { sqlService.Stop(); } sqlService.WaitForStatus(ServiceControllerStatus.Stopped); sqlService.Start(); sqlService.WaitForStatus(ServiceControllerStatus.Running); using (StreamReader sr = new StreamReader("SQLScripts\\01CreateDataBase.sql", System.Text.Encoding.UTF8)) { string line = await sr.ReadToEndAsync(); await _sqlDataAccess.PopulateDataMaster(line); } using (StreamReader sr = new StreamReader("SQLScripts\\02CreateDataBase.sql", System.Text.Encoding.UTF8)) { string line = await sr.ReadToEndAsync(); await _sqlDataAccess.PopulateDataSIP(line); } using (StreamReader sr = new StreamReader("SQLScripts\\02ZCreateDataBase.sql", System.Text.Encoding.UTF8)) { string line = await sr.ReadToEndAsync(); await _sqlDataAccess.PopulateDataSIP(line); } using (StreamReader sr = new StreamReader("SQLScripts\\03CreateDataBase.sql", System.Text.Encoding.UTF8)) { string line = await sr.ReadToEndAsync(); await _sqlDataAccess.PopulateDataMaster(line); } DirectoryInfo d = new DirectoryInfo("SQLScripts\\USP"); FileInfo[] Files = d.GetFiles(); foreach (FileInfo file in Files) { using StreamReader sr = new StreamReader($"SQLScripts\\USP\\{file.Name}", System.Text.Encoding.UTF8); string line = await sr.ReadToEndAsync(); await _sqlDataAccess.PopulateDataSIP(line); } using (StreamReader sr = new StreamReader("SQLScripts\\04aUITerms.sql", System.Text.Encoding.UTF8)) { string line = await sr.ReadToEndAsync(); await _sqlDataAccess.PopulateDataSIP(line); } using (StreamReader sr = new StreamReader("SQLScripts\\04bSecurityLevel.sql", System.Text.Encoding.UTF8)) { string line = await sr.ReadToEndAsync(); await _sqlDataAccess.PopulateDataSIP(line); } var identityUser = new SipUser { Email = "*****@*****.**", UserName = "******", // FirstName = "Peter", // LastName = "le Grand", // LanguageId = 41, SecurityLevelId = 10, CreatedDate = DateTime.Now, ModifiedDate = DateTime.Now }; await _userManager.CreateAsync(identityUser, "Sip!2021"); var identityUser2 = new SipUser { Email = "*****@*****.**", UserName = "******", // FirstName = "Peter", // LastName = "le Grand", // LanguageId = 41, SecurityLevelId = 5, CreatedDate = DateTime.Now, ModifiedDate = DateTime.Now }; await _userManager.CreateAsync(identityUser2, "Sip!2021"); using (StreamReader sr = new StreamReader("SQLScripts\\05MasterData.sql", System.Text.Encoding.UTF8)) { string line = await sr.ReadToEndAsync(); await _sqlDataAccess.PopulateDataSIP(line); } SipRole Role = new SipRole { Name = "Admin", RoleGroupId = 1, //CanAssignContentOwnership = true, //CanReceiveContentOwnership = true, //CanAssignContentRead = true, //CanReceiveContentRead = true, //CanAssignContentEdit = true, //CanReceiveContentEdit =true }; await _roleManager.CreateAsync(Role); using (StreamReader sr = new StreamReader($"SQLScripts\\ApplicationRights.txt", System.Text.Encoding.UTF8)) { while (!sr.EndOfStream) { string line = await sr.ReadLineAsync(); await _roleManager.AddClaimAsync(Role, new Claim("ApplicationRight", line)); } } using (StreamReader sr = new StreamReader($"SQLScripts\\OrganizationClaim.txt", System.Text.Encoding.UTF8)) { while (!sr.EndOfStream) { string line = await sr.ReadLineAsync(); await _roleManager.AddClaimAsync(Role, new Claim("OrganizationRight", line)); } } using (StreamReader sr = new StreamReader($"SQLScripts\\ProjectClaim.txt", System.Text.Encoding.UTF8)) { while (!sr.EndOfStream) { string line = await sr.ReadLineAsync(); await _roleManager.AddClaimAsync(Role, new Claim("ProjectRight", line)); } } await _userManager.AddToRoleAsync(identityUser, "Admin"); using (StreamReader sr = new StreamReader("SQLScripts\\06aMasterData.sql", System.Text.Encoding.UTF8)) { string line = await sr.ReadToEndAsync(); await _sqlDataAccess.PopulateDataSIP(line); } using (StreamReader sr = new StreamReader("SQLScripts\\06bMVCUIScreens.sql", System.Text.Encoding.UTF8)) { string line = await sr.ReadToEndAsync(); await _sqlDataAccess.PopulateDataSIP(line); } using (StreamReader sr = new StreamReader("SQLScripts\\06cMVCUITermScreens.sql", System.Text.Encoding.UTF8)) { string line = await sr.ReadToEndAsync(); await _sqlDataAccess.PopulateDataSIP(line); } using (StreamReader sr = new StreamReader("SQLScripts\\06dErrorMessages.sql", System.Text.Encoding.UTF8)) { string line = await sr.ReadToEndAsync(); await _sqlDataAccess.PopulateDataSIP(line); } //using (StreamReader sr = new StreamReader("SQLScripts\\06dMVCUITermScreens.sql", System.Text.Encoding.UTF8)) //{ // string line = await sr.ReadToEndAsync(); // await _sqlDataAccess.PopulateDataSIP(line); //} using (StreamReader sr = new StreamReader("SQLScripts\\07TermLanguage.sql", System.Text.Encoding.UTF8)) { string line = await sr.ReadToEndAsync(); await _sqlDataAccess.PopulateDataSIP(line); } using (StreamReader sr = new StreamReader("SQLScripts\\07zFileTypes.sql", System.Text.Encoding.UTF8)) { string line = await sr.ReadToEndAsync(); await _sqlDataAccess.PopulateDataSIP(line); } using (StreamReader sr = new StreamReader("SQLScripts\\07DataDictionaryTables.sql", System.Text.Encoding.UTF8)) { string line = await sr.ReadToEndAsync(); await _sqlDataAccess.PopulateDataSIP(line); } using (StreamReader sr = new StreamReader("SQLScripts\\07DataDictionaryColumnTypes.sql", System.Text.Encoding.UTF8)) { string line = await sr.ReadToEndAsync(); await _sqlDataAccess.PopulateDataSIP(line); } using (StreamReader sr = new StreamReader("SQLScripts\\07DataDictionaryColumns.sql", System.Text.Encoding.UTF8)) { string line = await sr.ReadToEndAsync(); await _sqlDataAccess.PopulateDataSIP(line); } using (StreamReader sr = new StreamReader("SQLScripts\\07zScreenTables.sql", System.Text.Encoding.UTF8)) { string line = await sr.ReadToEndAsync(); await _sqlDataAccess.PopulateDataSIP(line); } using (StreamReader sr = new StreamReader("SQLScripts\\Demo\\Demo.sql", System.Text.Encoding.UTF8)) { string line = await sr.ReadToEndAsync(); await _sqlDataAccess.PopulateDataSIP(line); } //using (StreamReader sr = new StreamReader("SQLScripts\\Demo\\DemoNL.sql", System.Text.Encoding.UTF8)) //{ // string line = await sr.ReadToEndAsync(); // await _sqlDataAccess.PopulateDataSIP(line); //} return(View()); }