Example #1
0
        //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();
            }
        }
Example #2
0
        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));
            }
        }
Example #3
0
        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"));
            }
        }
Example #4
0
        //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");
        }
Example #5
0
        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));
            }
        }
Example #6
0
        //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()));
            }
        }
Example #7
0
        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));
            }
        }
Example #8
0
        //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));
            }
        }
Example #9
0
        //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));
            }
        }
Example #10
0
        //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()));
            }
        }
Example #11
0
        //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));
            }
        }
Example #12
0
        //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();
            }
        }
Example #13
0
        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();
            }
        }
Example #14
0
        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();
                        }
                    }
                }
            }
        }
Example #15
0
        //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);
            }
        }
Example #16
0
        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));
            }
        }
Example #17
0
        //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();
            }
        }
Example #18
0
        //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));
            }
        }
Example #19
0
        //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));
            }
        }
Example #20
0
        //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));
            }
        }
Example #21
0
        //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);
            }
        }
Example #22
0
        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();
                        }
                    }
                }
            }
        }
Example #23
0
        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));
            }
        }
Example #24
0
        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);
            }
        }
Example #25
0
        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();
            }
        }