//Save workspace Owner public void SaveWorkspaceOwner(WorkSpaceOwnerDTO workspaceOwnerDTO) { var config = new MapperConfiguration(cfg => { cfg.CreateMap <WorkSpaceOwnerDTO, WorkSpaceOwnerMaster>(); }); IMapper mapper = config.CreateMapper(); var workspaceOwner = mapper.Map <WorkSpaceOwnerDTO, WorkSpaceOwnerMaster>(workspaceOwnerDTO); using (var context = new BIPortalEntities()) { var workspaceOwnerExists = context.WorkSpaceOwnerMasters.FirstOrDefault(c => c.WorkspaceID == workspaceOwner.WorkspaceID); if (workspaceOwnerExists != null) { workspaceOwnerExists.OwnerID = workspaceOwner.OwnerID; workspaceOwnerExists.ModifiedDate = workspaceOwner.ModifiedDate; workspaceOwnerExists.ModifiedBy = workspaceOwner.ModifiedBy; } else { var workspaceOwnerMaster = new WorkSpaceOwnerMaster { WorkspaceID = workspaceOwner.WorkspaceID, OwnerID = workspaceOwner.OwnerID, CreatedDate = workspaceOwner.CreatedDate, CreatedBy = workspaceOwner.CreatedBy, Active = workspaceOwner.Active }; context.WorkSpaceOwnerMasters.Add(workspaceOwnerMaster); } context.SaveChanges(); } }
public IEnumerable <UsersDTO> GetSeletedUser(int iUSERID) { using (var context = new BIPortalEntities()) { //var CurusersResult = (from u in context.UserMasters // where u.UserID == iUSERID // select u).ToList(); // Join 2 Tables var CurusersResult = (from a in context.UserMasters join b in context.UserRoleMappings on a.UserID equals b.UserID where a.UserID == iUSERID select a).ToList(); var config = new MapperConfiguration(cfg => { cfg.CreateMap <UserMaster, UsersDTO>(); cfg.CreateMap <PermissionMaster, PermissionMasterDTO>(); cfg.CreateMap <UserRoleMapping, UserRoleMappingDTO>(); cfg.CreateMap <WorkFlowMaster, WorkFlowMasterDTO>(); }); IMapper mapper = config.CreateMapper(); return(mapper.Map <List <UserMaster>, List <UsersDTO> >(CurusersResult)); } }
public IHttpActionResult GetPermissionTypes() { try { List <PermissionMasterDTO> PermissionMasterDTO = new List <PermissionMasterDTO>(); using (var context = new BIPortalEntities()) { /*Getting data from database*/ var objpermissiontypeslist = (from data in context.PermissionMasters select data).ToList(); var config = new MapperConfiguration(cfg => { cfg.CreateMap <PermissionMaster, PermissionMasterDTO>(); }); IMapper mapper = config.CreateMapper(); PermissionMasterDTO = mapper.Map <List <PermissionMaster>, List <PermissionMasterDTO> >(objpermissiontypeslist).ToList(); } return(Ok(PermissionMasterDTO)); } catch (Exception ex) { return(BadRequest("Could not fetch Permission Types")); } }
//Add a new user to a workspace public string AddPowerBIWorkspaceUser(List <WorkFlowMasterDTO> workFlowMasterDTO, string powerBIUserName, string powerBIPWD, string smtpHost, int smtpPort) { //// Create the InitialSessionState Object //InitialSessionState iss = InitialSessionState.CreateDefault2(); //// Initialize PowerShell Engine //var shell = PowerShell.Create(iss); //shell.Commands.AddCommand("Connect-PowerBIServiceAccount"); //System.Security.SecureString theSecureString = new NetworkCredential(powerBIUserName, powerBIPWD).SecurePassword; //PSCredential cred = new PSCredential(powerBIUserName, theSecureString); //shell.Commands.AddParameter("Credential", cred); //var results = shell.Invoke(); //if (results.Count > 0) //{ using (var context = new BIPortalEntities()) { foreach (var a in workFlowMasterDTO) { var workflowMasterEntity = context.WorkFlowMasters.FirstOrDefault(x => x.RequestID == a.RequestID); if (workflowMasterEntity != null) { // Initialize PowerShell Engine //var shell2 = PowerShell.Create(iss); //shell2.Commands.AddCommand("Add-PowerBIWorkspaceUser"); //shell2.Commands.AddParameter("Id", workflowMasterEntity.WorkspaceID); //shell2.Commands.AddParameter("UserEmailAddress", workflowMasterEntity.RequestFor); //shell2.Commands.AddParameter("AccessRight", "Member"); //var resaddUser = shell2.Invoke(); GroupUser userdetails = new GroupUser(); userdetails.EmailAddress = workflowMasterEntity.RequestFor; userdetails.GroupUserAccessRight = "Member"; var groupId = Guid.Parse(workflowMasterEntity.WorkspaceID); var accessToken = a.PowerBIAccessToken; var tokenCredentials = new TokenCredentials(accessToken, "Bearer"); var pbiClient = new PowerBIClient(new Uri("https://api.powerbi.com/"), tokenCredentials); // You need to provide the workspaceId where the dashboard resides. pbiClient.Groups.AddGroupUser(groupId, userdetails); //send email var subject = "Your request is approved."; var body = "Your request for access to workspace " + workflowMasterEntity.WorkspaceName + " has been approved."; EmailData emailData = new EmailData(); emailData.SendEmail(powerBIUserName, powerBIPWD, smtpHost, smtpPort, workflowMasterEntity.RequestFor, subject, body); } } //} } return("User added to workspace successfully"); }
public IEnumerable <WorkspaceReportsDTO> GetWorkspacesAndReports() { using (var context = new BIPortalEntities()) { var workspaceReportsResult = context.WorkspaceReportsMasters.ToList(); var config = new MapperConfiguration(cfg => { cfg.CreateMap <WorkspaceReportsMaster, WorkspaceReportsDTO>(); }); IMapper mapper = config.CreateMapper(); return(mapper.Map <List <WorkspaceReportsMaster>, List <WorkspaceReportsDTO> >(workspaceReportsResult)); } }
//To get access rights for the given user public IEnumerable <UserAccessRightsDTO> GetEditUserRights(int userID) { using (var context = new BIPortalEntities()) { var edituserResult = context.UserAccessRights.Where(x => x.UserID == userID).ToList(); var config = new MapperConfiguration(cfg => { cfg.CreateMap <UserMaster, UsersDTO>(); cfg.CreateMap <UserAccessRight, UserAccessRightsDTO>(); }); IMapper mapper = config.CreateMapper(); return(mapper.Map <List <UserAccessRight>, List <UserAccessRightsDTO> >(edituserResult.ToList())); } }
public IEnumerable <WorkFlowMasterDTO> GetPendingRequests() { using (var context = new BIPortalEntities()) { var workFlowPendingResult = context.WorkFlowMasters.ToList(); var config = new MapperConfiguration(cfg => { cfg.CreateMap <UserMaster, UsersDTO>(); }); IMapper mapper = config.CreateMapper(); return(mapper.Map <List <WorkFlowMaster>, List <WorkFlowMasterDTO> >(workFlowPendingResult)); } }
//To get workspaces public IEnumerable <WorkSpaceOwnerDTO> GetWorkSpaceOwner() { using (var context = new BIPortalEntities()) { //var workspaceOwnerResult = context.WorkspaceReportsMasters.Include("WorkSpaceOwnerMaster").ToList(); var workspaceOwnerResult = context.GetWorkspaceOwner().ToList(); var config = new MapperConfiguration(cfg => { cfg.CreateMap <GetWorkspaceOwner_Result1, WorkSpaceOwnerDTO>(); }); IMapper mapper = config.CreateMapper(); return(mapper.Map <List <GetWorkspaceOwner_Result1>, List <WorkSpaceOwnerDTO> >(workspaceOwnerResult)); } }
//To get access rights for the given roleid public IEnumerable <RoleRightsMappingDTO> GetRights(int roleID) { using (var context = new BIPortalEntities()) { //var rolesResult = context.RoleMasters.Include("RoleRightsMappings").Select(p => p).ToList(); var rightsResult = context.RoleRightsMappings.Where(x => x.RoleID == roleID).ToList(); var config = new MapperConfiguration(cfg => { cfg.CreateMap <RoleMaster, RolesDTO>(); cfg.CreateMap <RoleRightsMapping, RoleRightsMappingDTO>(); }); IMapper mapper = config.CreateMapper(); return(mapper.Map <List <RoleRightsMapping>, List <RoleRightsMappingDTO> >(rightsResult)); } }
//To get access rights for the given roleids public IEnumerable <RoleRightsMappingDTO> GetRights(List <string> roleID) { using (var context = new BIPortalEntities()) { var rightsResult = context.RoleRightsMappings.Where(s => roleID.Contains(s.RoleID.ToString())).ToList(); var config = new MapperConfiguration(cfg => { cfg.CreateMap <RoleMaster, RolesDTO>(); cfg.CreateMap <RoleRightsMapping, RoleRightsMappingDTO>(); }); IMapper mapper = config.CreateMapper(); return(mapper.Map <List <RoleRightsMapping>, List <RoleRightsMappingDTO> >(rightsResult.ToList())); } }
//To get workspaceowner by workspace id public WorkSpaceOwnerDTO GetWorkSpaceOwnerByWorkspaceId(string workspaceId) { using (var context = new BIPortalEntities()) { var workspaceOwnerResult = context.WorkSpaceOwnerMasters.Where(x => x.WorkspaceID == workspaceId).FirstOrDefault(); var config = new MapperConfiguration(cfg => { cfg.CreateMap <WorkSpaceOwnerMaster, WorkSpaceOwnerDTO>(); cfg.CreateMap <UserMaster, UsersDTO>(); cfg.CreateMap <PermissionMaster, PermissionMasterDTO>(); cfg.CreateMap <UserRoleMapping, UserRoleMappingDTO>(); }); IMapper mapper = config.CreateMapper(); return(mapper.Map <WorkSpaceOwnerMaster, WorkSpaceOwnerDTO>(workspaceOwnerResult)); } }
//Save role and access rights public void SaveRoleAndRights(RolesDTO rolesDTO) { var config = new MapperConfiguration(cfg => { cfg.CreateMap <RolesDTO, RoleMaster>(); cfg.CreateMap <RoleRightsMappingDTO, RoleRightsMapping>(); }); IMapper mapper = config.CreateMapper(); var roleAndRights = mapper.Map <RolesDTO, RoleMaster>(rolesDTO); using (var context = new BIPortalEntities()) { //var roleExists = context.RoleMasters.FirstOrDefault(c => c.RoleName.ToLower() == rolesDTO.RoleName.ToLower()); if (context.RoleMasters.Any(o => o.RoleName.ToLower() == rolesDTO.RoleName.ToLower())) { return; } var roleMaster = new RoleMaster { RoleName = roleAndRights.RoleName, CreatedDate = roleAndRights.CreatedDate, CreatedBy = roleAndRights.CreatedBy, Active = roleAndRights.Active }; foreach (var d in roleAndRights.RoleRightsMappings) { var rolerightsmapping = new RoleRightsMapping { WorkspaceID = d.WorkspaceID, WorkspaceName = d.WorkspaceName, ReportID = d.ReportID, ReportName = d.ReportName, CreatedDate = d.CreatedDate, CreatedBy = d.CreatedBy, Active = d.Active }; roleMaster.RoleRightsMappings.Add(rolerightsmapping); } context.RoleMasters.Add(roleMaster); context.SaveChanges(); } }
public void AddNewRequest(List <WorkFlowMasterDTO> workFlowMasterDTO) { var config = new MapperConfiguration(cfg => { cfg.CreateMap <WorkFlowMasterDTO, WorkFlowMaster>(); cfg.CreateMap <WorkFlowDetailsDTO, WorkFlowDetail>(); }); IMapper mapper = config.CreateMapper(); var workFlowMasterDetails = mapper.Map <List <WorkFlowMasterDTO>, List <WorkFlowMaster> >(workFlowMasterDTO); using (var context = new BIPortalEntities()) { context.WorkFlowMasters.AddRange(workFlowMasterDetails); context.SaveChanges(); } }
public void RejectRequest(List <WorkFlowMasterDTO> workFlowMasterDTO, string powerBIUserName, string powerBIPWD, string smtpHost, int smtpPort) { var config = new MapperConfiguration(cfg => { cfg.CreateMap <WorkFlowMasterDTO, WorkFlowMaster>(); cfg.CreateMap <WorkFlowDetailsDTO, WorkFlowDetail>(); }); IMapper mapper = config.CreateMapper(); var workFlowMasterDetails = mapper.Map <List <WorkFlowMasterDTO>, List <WorkFlowMaster> >(workFlowMasterDTO); using (var context = new BIPortalEntities()) { foreach (var f in workFlowMasterDTO) { var workflowMasterEntity = context.WorkFlowMasters.FirstOrDefault(x => x.RequestID == f.RequestID); if (workflowMasterEntity != null) { workflowMasterEntity.Status = f.Status; workflowMasterEntity.ProcessedDate = f.ProcessedDate; context.WorkFlowMasters.AddOrUpdate(workflowMasterEntity); context.SaveChanges(); //send email var subject = "Your request is rejected."; var body = "Your request for access to workspace " + workflowMasterEntity.WorkspaceName + " has been rejected."; EmailData emailData = new EmailData(); emailData.SendEmail(powerBIUserName, powerBIPWD, smtpHost, smtpPort, workflowMasterEntity.RequestFor, subject, body); } foreach (var e in f.WorkFlowDetails) { var workflowDetailEntity = context.WorkFlowDetails.FirstOrDefault(x => x.RequestID == e.RequestID && x.ReportID == e.ReportID); if (workflowDetailEntity != null) { workflowDetailEntity.Status = e.Status; workflowDetailEntity.ProcessedDate = e.ProcessedDate; context.WorkFlowDetails.AddOrUpdate(workflowDetailEntity); context.SaveChanges(); } } } } }
//To get workspaces public ReportsDTO GetReportsAndOwner(string workspaceid) { using (var context = new BIPortalEntities()) { var result = new ReportsDTO(); result.Users = context.UserMasters.Where(x => x.Active == true).Select(x => new UsersDTO() { UserID = x.UserID, UserName = x.FirstName + " " + x.LastName }).ToList(); result.Reports = context.WorkspaceReportsMasters.Where(x => x.WorkspaceID == workspaceid && x.ReportID != null).Select(x => new ReportsDTO() { ReportId = x.ReportID, ReportName = x.ReportName }).ToList(); return(result); } }
public IEnumerable <UsersDTO> GetUsers() { using (var context = new BIPortalEntities()) { var usersResult = context.UserMasters.ToList(); var config = new MapperConfiguration(cfg => { cfg.CreateMap <UserMaster, UsersDTO>(); cfg.CreateMap <PermissionMaster, PermissionMasterDTO>(); cfg.CreateMap <UserRoleMapping, UserRoleMappingDTO>(); cfg.CreateMap <WorkFlowMaster, WorkFlowMasterDTO>(); }); IMapper mapper = config.CreateMapper(); return(mapper.Map <List <UserMaster>, List <UsersDTO> >(usersResult)); } }
//Update access rights public void UpdateRoleAndRights(List <RoleRightsMappingDTO> roleRights) { var config = new MapperConfiguration(cfg => { //cfg.CreateMap<RolesDTO, RoleMaster>(); cfg.CreateMap <RoleRightsMappingDTO, RoleRightsMapping>(); }); IMapper mapper = config.CreateMapper(); var roleAndRights = mapper.Map <List <RoleRightsMappingDTO>, List <RoleRightsMapping> >(roleRights); var roleID = roleAndRights[0].RoleID; using (var context = new BIPortalEntities()) { var roleRightsMappingExists = context.RoleRightsMappings.Where(c => c.RoleID == roleID); if (roleRightsMappingExists != null) { context.RoleRightsMappings.RemoveRange(roleRightsMappingExists); context.SaveChanges(); } foreach (var d in roleAndRights) { var rolerightsmapping = new RoleRightsMapping { RoleID = d.RoleID, WorkspaceID = d.WorkspaceID, WorkspaceName = d.WorkspaceName, ReportID = d.ReportID, ReportName = d.ReportName, CreatedDate = d.CreatedDate, CreatedBy = d.CreatedBy, ModifiedDate = d.ModifiedDate, ModifiedBy = d.ModifiedBy, Active = d.Active }; context.RoleRightsMappings.Add(rolerightsmapping); } context.SaveChanges(); } }
//To get request details for the given requestID public IEnumerable <WorkFlowMasterDTO> GetRequestDetails(int requestID) { using (var context = new BIPortalEntities()) { //var rolesResult = context.RoleMasters.Include("RoleRightsMappings").Select(p => p).ToList(); var workFlowResult = context.WorkFlowMasters.Where(x => x.RequestID == requestID).ToList(); var config = new MapperConfiguration(cfg => { cfg.CreateMap <WorkFlowMaster, WorkFlowMasterDTO>(); cfg.CreateMap <WorkFlowDetail, WorkFlowDetailsDTO>(); cfg.CreateMap <UserMaster, UsersDTO>(); cfg.CreateMap <PermissionMaster, PermissionMasterDTO>(); cfg.CreateMap <UserRoleMapping, UserRoleMappingDTO>(); }); IMapper mapper = config.CreateMapper(); return(mapper.Map <List <WorkFlowMaster>, List <WorkFlowMasterDTO> >(workFlowResult)); } }
//To get approved workspaces for the users public IEnumerable <WorkFlowMasterDTO> GetUsersWorkspaces(string emailID) { using (var context = new BIPortalEntities()) { var status = "APPROVED"; var workFlowResult = context.WorkFlowMasters.Where(x => x.Status == status && x.RequestFor == emailID).ToList(); var config = new MapperConfiguration(cfg => { cfg.CreateMap <WorkFlowMaster, WorkFlowMasterDTO>(); cfg.CreateMap <WorkFlowDetail, WorkFlowDetailsDTO>(); cfg.CreateMap <UserMaster, UsersDTO>(); cfg.CreateMap <PermissionMaster, PermissionMasterDTO>(); cfg.CreateMap <UserRoleMapping, UserRoleMappingDTO>(); }); IMapper mapper = config.CreateMapper(); return(mapper.Map <List <WorkFlowMaster>, List <WorkFlowMasterDTO> >(workFlowResult)); } }
//To get pending approvals based on owner id public IEnumerable <WorkFlowMasterDTO> GetPendingApprovals(int?ownerID) { //List<RolesDTO> rolesDTO = new List<RolesDTO>(); using (var context = new BIPortalEntities()) { var status = "PENDING"; var workFlowResult = context.WorkFlowMasters.Where(x => x.Status == status && x.OwnerID == ownerID).ToList(); var config = new MapperConfiguration(cfg => { cfg.CreateMap <WorkFlowMaster, WorkFlowMasterDTO>(); cfg.CreateMap <WorkFlowDetail, WorkFlowDetailsDTO>(); cfg.CreateMap <UserMaster, UsersDTO>(); cfg.CreateMap <PermissionMaster, PermissionMasterDTO>(); cfg.CreateMap <UserRoleMapping, UserRoleMappingDTO>(); }); IMapper mapper = config.CreateMapper(); return(mapper.Map <List <WorkFlowMaster>, List <WorkFlowMasterDTO> >(workFlowResult)); } }
//To get workspaces public ReportsDTO GetReportsAndEmbedUrl(int?requestId) { using (var context = new BIPortalEntities()) { var result = new ReportsDTO(); //result.Users = context.UserMasters.Where(x => x.Active == true).Select(x => new UsersDTO() { UserID = x.UserID, UserName = x.FirstName + " " + x.LastName }).ToList(); //result.Reports = context.WorkspaceReportsMasters.Where(x => x.WorkspaceID == workspaceid && x.ReportID != null).Select(x => new ReportsDTO() { ReportId = x.ReportID, ReportName = x.ReportName,ReportEmbedUrl=x.ReportEmbedUrl }).ToList(); //result.Reports = context.WorkFlowDetails.Where(x => x.RequestID == requestId).Select(x => new ReportsDTO() { ReportId = x.ReportID, ReportName = x.ReportName }).ToList(); result.Reports = (from d in context.WorkFlowDetails join e in context.WorkspaceReportsMasters on d.ReportID equals e.ReportID where d.RequestID == requestId select new { d.ReportID, d.ReportName, e.ReportEmbedUrl }) .Select(x => new ReportsDTO() { ReportId = x.ReportID, ReportName = x.ReportName, ReportEmbedUrl = x.ReportEmbedUrl }).ToList(); return(result); } }
public void ApproveRequest(List <WorkFlowMasterDTO> workFlowMasterDTO) { var config = new MapperConfiguration(cfg => { cfg.CreateMap <WorkFlowMasterDTO, WorkFlowMaster>(); cfg.CreateMap <WorkFlowDetailsDTO, WorkFlowDetail>(); }); IMapper mapper = config.CreateMapper(); var workFlowMasterDetails = mapper.Map <List <WorkFlowMasterDTO>, List <WorkFlowMaster> >(workFlowMasterDTO); using (var context = new BIPortalEntities()) { foreach (var f in workFlowMasterDTO) { var workflowMasterEntity = context.WorkFlowMasters.FirstOrDefault(x => x.RequestID == f.RequestID); if (workflowMasterEntity != null) { workflowMasterEntity.Status = f.Status; workflowMasterEntity.ProcessedDate = f.ProcessedDate; context.WorkFlowMasters.AddOrUpdate(workflowMasterEntity); context.SaveChanges(); } foreach (var e in f.WorkFlowDetails) { var workflowDetailEntity = context.WorkFlowDetails.FirstOrDefault(x => x.RequestID == e.RequestID && x.ReportID == e.ReportID); if (workflowDetailEntity != null) { workflowDetailEntity.Status = e.Status; workflowDetailEntity.ProcessedDate = e.ProcessedDate; context.WorkFlowDetails.AddOrUpdate(workflowDetailEntity); context.SaveChanges(); } } } } }
public IEnumerable <UsersDTO> CheckUserExists(int userID, string currentUserDetail) { using (var context = new BIPortalEntities()) { //var CurusersResult = (from u in context.UserMasters // where u.EmailID == currentUserDetail // select u).ToList(); var CurusersResult = (from u in context.UserMasters where u.EmailID == currentUserDetail && u.UserID != userID select u).ToList(); var config = new MapperConfiguration(cfg => { cfg.CreateMap <UserMaster, UsersDTO>(); cfg.CreateMap <PermissionMaster, PermissionMasterDTO>(); cfg.CreateMap <UserRoleMapping, UserRoleMappingDTO>(); cfg.CreateMap <WorkFlowMaster, WorkFlowMasterDTO>(); }); IMapper mapper = config.CreateMapper(); return(mapper.Map <List <UserMaster>, List <UsersDTO> >(CurusersResult)); } }
public void UpdateUsersData(UsersDTO userDTO) { try { var config = new MapperConfiguration(cfg => { cfg.CreateMap <UsersDTO, UserMaster>(); cfg.CreateMap <UserRoleMappingDTO, UserRoleMapping>(); cfg.CreateMap <WorkFlowMasterDTO, WorkFlowMaster>(); cfg.CreateMap <WorkFlowDetailsDTO, WorkFlowDetail>(); cfg.CreateMap <UserAccessRightsDTO, UserAccessRight>(); }); IMapper mapper = config.CreateMapper(); var updateUserDetails = mapper.Map <UsersDTO, UserMaster>(userDTO); var workFlowMasterDetails = mapper.Map <List <WorkFlowMasterDTO>, List <WorkFlowMaster> >(userDTO.WorkFlowMasterMappings); using (var context = new BIPortalEntities()) { var EditUserData = context.UserMasters.Where(x => x.UserID == updateUserDetails.UserID).FirstOrDefault(); if (EditUserData != null) { EditUserData.EmailID = updateUserDetails.EmailID; EditUserData.FirstName = updateUserDetails.FirstName; EditUserData.LastName = updateUserDetails.LastName; EditUserData.PermissionID = updateUserDetails.PermissionID; EditUserData.Salutation = updateUserDetails.Salutation; EditUserData.CreatedDate = DateTime.Now; EditUserData.ModifiedBy = updateUserDetails.ModifiedBy; EditUserData.ModifiedDate = DateTime.Now; EditUserData.Active = updateUserDetails.Active; EditUserData.BIObjectType = updateUserDetails.BIObjectType; context.SaveChanges(); } // remove existing UserRoleMapping for userid var userRoleMappingRoleExists = context.UserRoleMappings.Where(x => x.UserID == updateUserDetails.UserID); if (userRoleMappingRoleExists != null) { context.UserRoleMappings.RemoveRange(userRoleMappingRoleExists); context.SaveChanges(); } // Insert UserRoleMapping foreach (var d in userDTO.SelectedRolesValues) { var userrolemapping = new UserRoleMapping { //RoleID = 1, //should come from UI RoleID = d, CreatedDate = DateTime.Now, //CreatedBy = "Selva", CreatedBy = updateUserDetails.CreatedBy, Active = true }; EditUserData.UserRoleMappings.Add(userrolemapping); } context.SaveChanges(); // remove existing UserAccessRights for userid var userUserAccessRightsMappingUserExists = context.UserAccessRights.Where(x => x.UserID == updateUserDetails.UserID); if (userUserAccessRightsMappingUserExists != null) { context.UserAccessRights.RemoveRange(userUserAccessRightsMappingUserExists); context.SaveChanges(); } //Insert UserAccessRights foreach (var e in userDTO.UserAccessRightsMappings) { var userRightsAccessMapping = new UserAccessRight { UserID = updateUserDetails.UserID, WorkspaceID = e.WorkspaceID, WorkspaceName = e.WorkspaceName, ReportID = e.ReportID, ReportName = e.ReportName, CreatedDate = DateTime.Now, CreatedBy = e.CreatedBy, ModifiedDate = DateTime.Now, ModifiedBy = e.ModifiedBy, Active = e.Active }; EditUserData.UserAccessRights.Add(userRightsAccessMapping); } context.SaveChanges(); // save only active users if (userDTO.Active) { context.WorkFlowMasters.AddRange(workFlowMasterDetails); context.SaveChanges(); } } } catch (Exception e) { Console.WriteLine(e.StackTrace); } }
public void SaveUsersData(UsersDTO userDTO) { var config = new MapperConfiguration(cfg => { cfg.CreateMap <UsersDTO, UserMaster>(); cfg.CreateMap <UserRoleMappingDTO, UserRoleMapping>(); cfg.CreateMap <WorkFlowMasterDTO, WorkFlowMaster>(); cfg.CreateMap <WorkFlowDetailsDTO, WorkFlowDetail>(); cfg.CreateMap <UserAccessRightsDTO, UserAccessRight>(); }); IMapper mapper = config.CreateMapper(); var SaveUserDetails = mapper.Map <UsersDTO, UserMaster>(userDTO); var workFlowMasterDetails = mapper.Map <List <WorkFlowMasterDTO>, List <WorkFlowMaster> >(userDTO.WorkFlowMasterMappings); using (var context = new BIPortalEntities()) { var saveUserMaster = new UserMaster { Salutation = SaveUserDetails.Salutation, FirstName = SaveUserDetails.FirstName, LastName = SaveUserDetails.LastName, EmailID = SaveUserDetails.EmailID, PermissionID = SaveUserDetails.PermissionID, CreatedDate = DateTime.Now, CreatedBy = SaveUserDetails.CreatedBy, ModifiedDate = DateTime.Now, Active = SaveUserDetails.Active, BIObjectType = SaveUserDetails.BIObjectType }; // Insert UserRoleMapping foreach (var d in userDTO.SelectedRolesValues) { var userrolemapping = new UserRoleMapping { //RoleID = 1, //should come from UI RoleID = d, CreatedDate = DateTime.Now, CreatedBy = SaveUserDetails.CreatedBy, Active = true }; saveUserMaster.UserRoleMappings.Add(userrolemapping); } // Insert UserAcessRights foreach (var e in userDTO.UserAccessRightsMappings) { var userRightsAccessMapping = new UserAccessRight { UserID = SaveUserDetails.UserID, WorkspaceID = e.WorkspaceID, WorkspaceName = e.WorkspaceName, ReportID = e.ReportID, ReportName = e.ReportName, //CreatedDate = e.CreatedDate, CreatedDate = DateTime.Now, CreatedBy = e.CreatedBy, Active = e.Active }; saveUserMaster.UserAccessRights.Add(userRightsAccessMapping); } context.UserMasters.Add(saveUserMaster); context.SaveChanges(); context.WorkFlowMasters.AddRange(workFlowMasterDetails); context.SaveChanges(); } }