예제 #1
0
        public DTO.SearchFilterData GetSearchFilter(out Library.DTO.Notification notification)
        {
            notification = new Library.DTO.Notification()
            {
                Type = Library.DTO.NotificationType.Success
            };
            DTO.SearchFilterData data = new DTO.SearchFilterData();
            data.Employees         = new List <Support.DTO.Employee>();
            data.InternalCompanies = new List <Support.DTO.InternalCompany>();
            data.Modules           = new List <DTO.Module>();
            data.Locations         = new List <Support.DTO.Location>();

            //try to get data
            try
            {
                data.Employees         = supportFactory.GetEmployee().ToList();
                data.InternalCompanies = supportFactory.GetInternalCompany().ToList();
                data.Locations         = supportFactory.GetLocation().ToList();
                using (UsageTrackingRptEntities context = CreateContext())
                {
                    data.Modules = converter.DB2DTO_ModuleList(context.UsageTrackingMng_Module_View.ToList());
                }
            }
            catch (Exception ex)
            {
                notification.Type    = Library.DTO.NotificationType.Error;
                notification.Message = ex.Message;
            }

            return(data);
        }
예제 #2
0
        public DTO.InitFormData GetInitData(out Library.DTO.Notification notification)
        {
            notification = new Library.DTO.Notification()
            {
                Type = Library.DTO.NotificationType.Success
            };
            DTO.InitFormData data = new DTO.InitFormData();
            data.UserGroups = new List <Support.DTO.UserGroup>();
            data.Users      = new List <Support.DTO.User>();
            data.Offices    = new List <Support.DTO.InternalCompany>();
            data.Modules    = new List <DTO.Module>();

            //try to get data
            try
            {
                data.UserGroups = supportFactory.GetUserGroup().ToList();
                data.Users      = supportFactory.GetUsers().ToList();
                data.Offices    = supportFactory.GetInternalCompany().ToList();
                using (PermissionOverviewRptEntities context = CreateContext())
                {
                    data.Modules = converter.DB2DTO_Module(context.PermissionOverviewRpt_Module_View.ToList());

                    // decorate permission list
                    int index = 1;
                    foreach (DTO.Module module in data.Modules.Where(o => o.ParentID == 0).OrderBy(o => o.DisplayOrder))
                    {
                        module.DisplayOrder = index;
                        module.IsParent     = true;
                        index++;
                        foreach (DTO.Module subModule in data.Modules.Where(o => o.ParentID == module.ModuleID).OrderBy(o => o.DisplayOrder))
                        {
                            subModule.DisplayText  = "-----" + subModule.DisplayText;
                            subModule.DisplayOrder = index;
                            subModule.IsParent     = false;
                            index++;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                notification.Type    = Library.DTO.NotificationType.Error;
                notification.Message = ex.Message;
            }

            return(data);
        }
예제 #3
0
        public DTO.SearchFilterData GetSearchFilter(out Library.DTO.Notification notification)
        {
            notification = new Library.DTO.Notification()
            {
                Type = Library.DTO.NotificationType.Success
            };
            DTO.SearchFilterData data = new DTO.SearchFilterData();
            data.Companies = new List <Module.Support.DTO.InternalCompany>();

            try
            {
                data.Companies = supportFactory.GetInternalCompany().ToList();
            }
            catch (Exception ex)
            {
                notification.Type    = Library.DTO.NotificationType.Error;
                notification.Message = ex.Message;
            }

            return(data);
        }
예제 #4
0
        public override DTO.EditFormData GetData(int id, out Library.DTO.Notification notification)
        {
            notification = new Library.DTO.Notification()
            {
                Type = Library.DTO.NotificationType.Success
            };
            DTO.EditFormData data = new DTO.EditFormData();
            data.Data                   = new DTO.UserProfile();
            data.Data.Permissions       = new List <DTO.Permission>();
            data.Data.FactoryAccesses   = new List <DTO.FactoryAccess>();
            data.Data.EmployeeFactories = new List <DTO.EmployeeFactory>();

            data.InternalCompanies   = new List <Support.DTO.InternalCompany>();
            data.InternalDepartments = new List <Support.DTO.InternalDepartment>();
            data.Locations           = new List <Support.DTO.Location>();
            data.UserGroups          = new List <Support.DTO.UserGroup>();
            data.Managers            = new List <Support.DTO.Employee>();
            data.JobLevels           = new List <Support.DTO.JobLevel>();
            data.Factories           = new List <Support.DTO.Factory>();

            //try to get data
            try
            {
                using (User2MngEntities context = CreateContext())
                {
                    data.Data = converter.DB2DTO_UserProfile(context.User2Mng_UserProfile_View.FirstOrDefault(o => o.UserId == id));

                    data.Data.Permissions = converter.DB2DTO_UserGroupPermissionList(context.User2Mng_UserGroupPermission_View.Where(o => o.UserGroupID == data.Data.UserGroupID).ToList());
                    List <DTO.Permission> permissions = converter.DB2DTO_UserPermissionList(context.User2Mng_UserPermission_View.Where(o => o.UserID == id).ToList());
                    DTO.Permission        dtoTmpPermission;
                    foreach (DTO.Permission dtoPermission in permissions)
                    {
                        dtoTmpPermission = data.Data.Permissions.FirstOrDefault(o => o.ModuleID == dtoPermission.ModuleID);

                        if (dtoTmpPermission != null)
                        {
                            dtoTmpPermission.UserPermissionID = dtoPermission.UserPermissionID;

                            if (!dtoTmpPermission.CanCreate)
                            {
                                dtoTmpPermission.CanCreateEditable = true;
                            }
                            if (dtoPermission.CanCreate)
                            {
                                dtoTmpPermission.CanCreate = true;
                            }

                            if (!dtoTmpPermission.CanRead)
                            {
                                dtoTmpPermission.CanReadEditable = true;
                            }
                            if (dtoPermission.CanRead)
                            {
                                dtoTmpPermission.CanRead = true;
                            }

                            if (!dtoTmpPermission.CanUpdate)
                            {
                                dtoTmpPermission.CanUpdateEditable = true;
                            }
                            if (dtoPermission.CanUpdate)
                            {
                                dtoTmpPermission.CanUpdate = true;
                            }

                            if (!dtoTmpPermission.CanDelete)
                            {
                                dtoTmpPermission.CanDeleteEditable = true;
                            }
                            if (dtoPermission.CanDelete)
                            {
                                dtoTmpPermission.CanDelete = true;
                            }

                            if (!dtoTmpPermission.CanPrint)
                            {
                                dtoTmpPermission.CanPrintEditable = true;
                            }
                            if (dtoPermission.CanPrint)
                            {
                                dtoTmpPermission.CanPrint = true;
                            }

                            if (!dtoTmpPermission.CanApprove)
                            {
                                dtoTmpPermission.CanApproveEditable = true;
                            }
                            if (dtoPermission.CanApprove)
                            {
                                dtoTmpPermission.CanApprove = true;
                            }

                            if (!dtoTmpPermission.CanReset)
                            {
                                dtoTmpPermission.CanResetEditable = true;
                            }
                            if (dtoPermission.CanReset)
                            {
                                dtoTmpPermission.CanReset = true;
                            }
                        }
                        else
                        {
                            int moduleID = dtoPermission.ModuleID;//using to debug
                        }
                    }

                    data.Data.FactoryAccesses   = converter.DB2DTO_FactoryAccessList(context.User2Mng_FactoryAccess_View.Where(o => o.UserID == id).ToList());
                    data.Data.EmployeeFactories = converter.DB2DTO_EmployeeFactoryList(context.User2Mng_EmployeeFactory_View.Where(o => o.EmployeeID == data.Data.EmployeeID).ToList());
                }

                // decorate
                int index = 0;
                foreach (DTO.Permission dtoPermission in data.Data.Permissions.Where(o => o.ParentID == 0).OrderBy(o => o.DisplayOrder))
                {
                    dtoPermission.DisplayOrder = index;
                    index++;
                    foreach (DTO.Permission dtoSubPermission in data.Data.Permissions.Where(o => o.ParentID == dtoPermission.ModuleID).OrderBy(o => o.DisplayOrder))
                    {
                        dtoSubPermission.DisplayText  = "-----" + dtoSubPermission.DisplayText;
                        dtoSubPermission.DisplayOrder = index;
                        index++;
                    }
                }

                data.InternalCompanies   = supportFactory.GetInternalCompany().ToList();
                data.InternalDepartments = supportFactory.GetInternalDepartment().ToList();
                data.Locations           = supportFactory.GetLocation().ToList();
                data.UserGroups          = supportFactory.GetUserGroup().ToList();
                data.Managers            = supportFactory.GetEmployee().ToList();
                data.JobLevels           = supportFactory.GetJobLevel().ToList();
                data.Factories           = supportFactory.GetFactory().ToList();
            }
            catch (Exception ex)
            {
                notification.Type    = Library.DTO.NotificationType.Error;
                notification.Message = ex.Message;
            }

            return(data);
        }