Ejemplo n.º 1
0
        public static IFileInfo SaveUserProfilePic(int portalId, int userId, string image, int editedByUserId)
        {
            byte[] imgData     = System.Convert.FromBase64String(image.Replace("data:image/png;base64,", string.Empty));
            var    ha          = new System.Security.Cryptography.SHA1CryptoServiceProvider();
            var    hashData    = ha.ComputeHash(imgData);
            var    hash        = System.BitConverter.ToString(hashData).Replace("-", "").Substring(0, 10).ToLower();
            var    fileName    = hash + ".png";
            var    contentType = "image/png";
            var    user        = DotNetNuke.Entities.Users.UserController.GetUserById(portalId, userId);

            SaveText("Retrieved user", Newtonsoft.Json.JsonConvert.SerializeObject(user, Newtonsoft.Json.Formatting.Indented));
            var       userFolder = FolderManager.Instance.GetUserFolder(user);
            IFileInfo file       = null;

            using (var memStream = new MemoryStream())
            {
                using (BinaryWriter bw = new BinaryWriter(memStream))
                {
                    bw.Write(imgData);
                    memStream.Seek(0, SeekOrigin.Begin);
                    file = FileManager.Instance.AddFile(userFolder, fileName, memStream, true, false, contentType, editedByUserId);
                    bw.Close();
                    CreateThumbnails(file.FileId);
                }
            }
            FixDnnController.SetUserProfileProperty(portalId, user.UserID, "Photo", file.FileId.ToString());
            ImageController.ClearUserImageCache(portalId, user.UserID);
            return(file);
        }
Ejemplo n.º 2
0
        public HttpResponseMessage Edit(int conferenceId, int id, [FromBody] EditProfileDTO data)
        {
            data.DisplayName    = data.DisplayName.UnNull().Trim();
            data.LastName       = data.LastName.UnNull().Trim();
            data.FirstName      = data.FirstName.UnNull().Trim();
            data.Biography      = data.Biography.UnNull().Trim();
            data.ShortBiography = data.ShortBiography.UnNull().Trim();
            data.Company        = data.Company.UnNull().Trim();
            var attendee = AttendeeRepository.Instance.GetAttendee(conferenceId, id);

            if (attendee != null)
            {
                attendee.Company = data.Company;
                AttendeeRepository.Instance.UpdateAttendee(attendee.GetAttendeeBase(), UserInfo.UserID);
            }
            var speaker = SpeakerRepository.Instance.GetSpeaker(conferenceId, UserInfo.UserID);

            if (speaker != null)
            {
                speaker.Description      = data.Biography;
                speaker.DescriptionShort = data.ShortBiography;
                speaker.Company          = data.Company;
                SpeakerRepository.Instance.UpdateSpeaker(speaker, UserInfo.UserID);
            }
            var user = UserController.Instance.GetUserById(PortalSettings.PortalId, id);

            if (user != null)
            {
                user.Profile.Biography = data.Biography;
                user.Profile.FirstName = data.FirstName;
                user.Profile.LastName  = data.LastName;
                user.FirstName         = data.FirstName;
                user.LastName          = data.LastName;
                user.DisplayName       = data.DisplayName;
                FixDnnController.SetUserProfileProperty(PortalSettings.PortalId, user.UserID, "Company", data.Company);
                UserController.UpdateUser(PortalSettings.PortalId, user);
            }
            var res = new EditProfileDTO();

            attendee = AttendeeRepository.Instance.GetAttendee(conferenceId, id);
            if (attendee != null)
            {
                res.Company = attendee.Company;
            }
            speaker = SpeakerRepository.Instance.GetSpeaker(conferenceId, UserInfo.UserID);
            if (speaker != null)
            {
                res.Biography      = speaker.Description;
                res.ShortBiography = speaker.DescriptionShort;
            }
            user = UserController.Instance.GetUserById(PortalSettings.PortalId, id);
            if (user != null)
            {
                res.DisplayName = user.DisplayName;
                res.LastName    = user.Profile.LastName;
                res.FirstName   = user.Profile.FirstName;
            }
            return(Request.CreateResponse(HttpStatusCode.OK, res));
        }
Ejemplo n.º 3
0
        public HttpResponseMessage Edit(int conferenceId, int id, [FromBody] Attendee data)
        {
            var attendee = AttendeeRepository.Instance.GetAttendee(conferenceId, id);

            if (attendee != null)
            {
                attendee.Company = data.Company;
                attendee.AttCode = data.AttCode;
                attendee.ReceiveNotifications = data.ReceiveNotifications;
                AttendeeRepository.Instance.UpdateAttendee(attendee.GetAttendeeBase(), UserInfo.UserID);
                // Now the DNN side of things
                var dnnUser = UserController.GetUserById(PortalSettings.PortalId, id);
                if (dnnUser != null)
                {
                    dnnUser.FirstName         = data.FirstName.UnNull().Trim();
                    dnnUser.Profile.FirstName = data.FirstName.UnNull().Trim();
                    dnnUser.LastName          = data.LastName.UnNull().Trim();
                    dnnUser.Profile.LastName  = data.LastName.UnNull().Trim();
                    UserController.UpdateUser(PortalSettings.PortalId, dnnUser);
                    FixDnnController.SetUserProfileProperty(PortalSettings.PortalId, dnnUser.UserID, "Country", data.ProfileCountry.UnNull());
                }
            }
            return(Request.CreateResponse(HttpStatusCode.OK, AttendeeRepository.Instance.GetAttendee(conferenceId, id)));
        }
Ejemplo n.º 4
0
        public ActionResult Edit(int conferenceId, int attendeeId, AttendeeDTO attendee)
        {
            if (!ConferenceModuleContext.Security.CanManage)
            {
                if (User.UserID != attendeeId)
                {
                    ConferenceModuleContext.ThrowAccessViolation();
                }
            }
            AttendeeBase recordToUpdate = null;
            var          existingRecord = _repository.GetAttendee(conferenceId, attendeeId);
            var          modeAdd        = false;

            if (existingRecord == null)
            {
                recordToUpdate = new AttendeeBase()
                {
                    ConferenceId = conferenceId, UserId = attendeeId
                };
                modeAdd = true;
            }
            else
            {
                recordToUpdate = existingRecord.GetAttendeeBase();
            }
            recordToUpdate.ReceiveNotifications = attendee.ReceiveNotifications;
            recordToUpdate.Company = attendee.Company;
            if (modeAdd)
            {
                _repository.AddAttendee(recordToUpdate, User.UserID);
            }
            else
            {
                _repository.UpdateAttendee(recordToUpdate, User.UserID);
            }
            // Now the DNN side of things
            var dnnUser = UserController.GetUserById(PortalSettings.PortalId, attendeeId);

            if (dnnUser == null)
            {
                // create the user
                dnnUser = new UserInfo()
                {
                    PortalID = PortalSettings.PortalId, Username = attendee.Email, Email = attendee.Email, FirstName = attendee.FirstName, LastName = attendee.LastName, DisplayName = attendee.DisplayName
                };
                UserController.CreateUser(ref dnnUser);
            }
            dnnUser.FirstName         = attendee.FirstName.Trim();
            dnnUser.Profile.FirstName = attendee.FirstName.Trim();
            dnnUser.LastName          = attendee.LastName.Trim();
            dnnUser.Profile.LastName  = attendee.LastName.Trim();
            dnnUser.DisplayName       = attendee.DisplayName.Trim();
            dnnUser.Email             = attendee.Email.Trim();
            // Handle the picture
            if (attendee.ProfilePic.filename != "")
            {
                IFileInfo file          = null;
                var       userFolder    = FolderManager.Instance.GetUserFolder(dnnUser);
                var       folderManager = FolderManager.Instance;
                file = FileManager.Instance.GetFile(userFolder, attendee.ProfilePic.filename);
                if (file != null)
                {
                    dnnUser.Profile.Photo = file.FileId.ToString();
                    var portalId = dnnUser.IsSuperUser ? -1 : PortalSettings.PortalId;
                    FixDnnController.SetUserProfileProperty(portalId, dnnUser.UserID, "Photo", file.FileId.ToString());
                }
            }
            if (!string.IsNullOrEmpty(attendee.Company))
            {
                dnnUser.Profile.SetProfileProperty("Company", attendee.Company);
                var portalId = dnnUser.IsSuperUser ? -1 : PortalSettings.PortalId;
                FixDnnController.SetUserProfileProperty(portalId, dnnUser.UserID, "Company", attendee.Company);
            }
            UserController.UpdateUser(PortalSettings.PortalId, dnnUser);
            // DotNetNuke.Common.Utilities.DataCache.ClearCache();
            if (GetRouteParameter() == "home")
            {
                return(ReturnRoute("Home", "Index", "refreshcache=1"));
            }
            else
            {
                return(ReturnRoute(attendee.ConferenceId, View("View", _repository.GetAttendee(attendee.ConferenceId, attendee.UserId))));
            }
        }
Ejemplo n.º 5
0
        public ActionResult Edit(int conferenceId, int speakerId, SpeakerDTO speaker)
        {
            if (!ConferenceModuleContext.Security.CanManage)
            {
                if (User.UserID != speakerId)
                {
                    ConferenceModuleContext.ThrowAccessViolation();
                }
            }
            SpeakerBase recordToUpdate = null;
            var         existingRecord = _repository.GetSpeaker(conferenceId, speakerId);
            var         modeAdd        = false;

            if (existingRecord == null)
            {
                recordToUpdate = new SpeakerBase()
                {
                    ConferenceId = conferenceId, UserId = speakerId
                };
                modeAdd = true;
            }
            else
            {
                recordToUpdate = existingRecord.GetSpeakerBase();
            }
            recordToUpdate.Description      = speaker.Description;
            recordToUpdate.DescriptionShort = speaker.DescriptionShort;
            recordToUpdate.Url     = speaker.Url;
            recordToUpdate.Company = speaker.Company;
            if (modeAdd)
            {
                _repository.AddSpeaker(recordToUpdate, User.UserID);
            }
            else
            {
                _repository.UpdateSpeaker(recordToUpdate, User.UserID);
            }
            // Now the DNN side of things
            var dnnUser = DotNetNuke.Entities.Users.UserController.GetUserById(PortalSettings.PortalId, speakerId);

            if (dnnUser == null)
            {
                // create the user
            }
            dnnUser.FirstName   = speaker.FirstName.Trim();
            dnnUser.LastName    = speaker.LastName.Trim();
            dnnUser.DisplayName = speaker.DisplayName.Trim();
            dnnUser.Email       = speaker.Email.Trim();
            // Handle the picture
            if (speaker.ProfilePic.filename != "")
            {
                IFileInfo file          = null;
                var       userFolder    = FolderManager.Instance.GetUserFolder(dnnUser);
                var       folderManager = FolderManager.Instance;
                file = FileManager.Instance.GetFile(userFolder, speaker.ProfilePic.filename);
                if (file != null)
                {
                    dnnUser.Profile.Photo = file.FileId.ToString();
                    var portalId = dnnUser.IsSuperUser ? -1 : PortalSettings.PortalId;
                    FixDnnController.SetUserProfileProperty(portalId, dnnUser.UserID, "Photo", file.FileId.ToString());
                }
            }
            DotNetNuke.Entities.Users.UserController.UpdateUser(PortalSettings.PortalId, dnnUser);
            // DotNetNuke.Common.Utilities.DataCache.ClearCache();
            return(ReturnRoute(speaker.ConferenceId, View("View", _repository.GetSpeaker(speaker.ConferenceId, recordToUpdate.UserId))));
        }