예제 #1
0
        public static SystemUserTO Map(User user)
        {
            if (user == null)
            {
                throw new ArgumentNullException("user");
            }

            var privilegeTO = PrivilegeDAO.GetInstance().GetByPrivilegeLevelEq(user.PrivilegeLevel).FirstOrDefault();

            if (privilegeTO == null)
            {
                privilegeTO = new PrivilegeTO {
                    PrivilegeName = user.Name + " privilege", PrivilegeLevel = user.PrivilegeLevel
                };
                privilegeTO = PrivilegeDAO.GetInstance().Insert(privilegeTO);
            }

            return(new SystemUserTO
            {
                UserId = user.Id,
                UserName = user.Name,
                UserPassword = user.Password,
                PhoneNumber = user.PhoneNumber,
                PrivilegeId = privilegeTO.PrivilegeId
            });
        }
        private static void test1()
        {
            foreach (var privilege in PrivilegeDAO.GetInstance().GetAll())
            {
                WritePrivilege(privilege);
            }

            WritePrivilege(PrivilegeDAO.GetInstance().GetById(2));

            foreach (var mess in MessageTemplateDAO.GetInstance().GetAllMessagesTitles())
            {
                WriteMessageTemplate(mess);
            }
        }
        /// <summary>
        /// Mapuje pojedynczy TO SystemUserTO na strukturę User. Jeśli userTO.PrivilegeId jest null, bądź nie istnieje w bazie,
        /// przypisywany jest mu poziom dostępu PrivilegeLevel == int.MaxValue, co w praktyce oznacza że nie ma nigdzie dostępu, bądź jest ograniczony
        /// tylko do bazowych funkcjonalności systemu.
        /// </summary>
        /// <param name="userTO">Obiekt SystemUserTO utworzony np. w SystemUserDAO.</param>
        /// <returns></returns>
        public static User Map(SystemUserTO userTO)
        {
            if (userTO == null)
            {
                throw new ArgumentNullException("userTO");
            }

            var privilegeTO    = PrivilegeDAO.GetInstance().GetById(userTO.PrivilegeId);
            int privilegeLevel = privilegeTO.PrivilegeLevel ?? int.MaxValue;

            return(new User
            {
                Id = userTO.UserId,
                Name = userTO.UserName,
                Password = userTO.UserPassword,
                PrivilegeLevel = privilegeLevel,
                PhoneNumber = userTO.PhoneNumber
            });
        }