using System; using System.Collections; using System.Linq; using System.Web; using System.Web.Services; using System.Web.Services.Protocols; using System.Xml.Linq; using System.Web.Script.Services; using DotNetNuke.Entities.Users; namespace SilverlightDesktop.Module { [WebService(Namespace = "http://SilverlightDesktop.net/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [ScriptService()] public class SilverlightNotepadWebService : System.Web.Services.WebService { #region GetNotepadContents [WebMethod(Description = "GetNotepadContents")] [ScriptMethod()] public String GetNotepadContents(int PortalID, int ModuleId, int UserID, string Password) { string NotepadContents = ""; string strIPAddress = this.Context.Request.UserHostAddress; SilverlightDesktopAuthendicationHeader SilverlightDesktopAuthendicationHeader = new SilverlightDesktopAuthendicationHeader(); SilverlightDesktopAuthendicationHeader.PortalID = PortalID; SilverlightDesktopAuthendicationHeader.UserID = UserID; SilverlightDesktopAuthendicationHeader.Password = Password; SilverlightDesktopAuthendicationHeader.ModuleId = ModuleId; SilverlightDesktopAuthendicationHeader.IPAddress = strIPAddress; Authendication Authendication = new Authendication(SilverlightDesktopAuthendicationHeader); SilverlightNotepadDataContext SilverlightNotepadDataContext = new SilverlightNotepadDataContext(); if (Authendication.IsUserValid("Silverlight Notepad")) { UserInfo objUser = Authendication.GetUserInfo(); var objSilverlightNotepad = (from SilverlightNote in SilverlightNotepadDataContext.SilverlightNotepads where SilverlightNote.UserName == objUser.Username select SilverlightNote).FirstOrDefault(); if (!(objSilverlightNotepad == null)) { NotepadContents = objSilverlightNotepad.Note;} } else { NotepadContents = "Must be logged in"; } return NotepadContents; } #endregion #region SaveNotepadContents [WebMethod(Description = "SaveNotepadContents")] [ScriptMethod()] public void SaveNotepadContents(int PortalID, int ModuleId, int UserID, string Password, string NotepadContents) { string strIPAddress = this.Context.Request.UserHostAddress; SilverlightDesktopAuthendicationHeader SilverlightDesktopAuthendicationHeader = new SilverlightDesktopAuthendicationHeader(); SilverlightDesktopAuthendicationHeader.PortalID = PortalID; SilverlightDesktopAuthendicationHeader.UserID = UserID; SilverlightDesktopAuthendicationHeader.Password = Password; SilverlightDesktopAuthendicationHeader.ModuleId = ModuleId; SilverlightDesktopAuthendicationHeader.IPAddress = strIPAddress; Authendication Authendication = new Authendication(SilverlightDesktopAuthendicationHeader); SilverlightNotepadDataContext SilverlightNotepadDataContext = new SilverlightNotepadDataContext(); if (Authendication.IsUserValid("Silverlight Notepad")) { UserInfo objUser = Authendication.GetUserInfo(); var objSilverlightNotepad = (from SilverlightNote in SilverlightNotepadDataContext.SilverlightNotepads where SilverlightNote.UserName == objUser.Username select SilverlightNote).FirstOrDefault(); if (!(objSilverlightNotepad == null)) { SilverlightNotepadDataContext.SilverlightNotepads.DeleteOnSubmit(objSilverlightNotepad); SilverlightNotepadDataContext.SubmitChanges(); } SilverlightNotepad SilverlightNotepad = new SilverlightNotepad(); SilverlightNotepad.UserName = objUser.Username; SilverlightNotepad.IPAddress = strIPAddress; SilverlightNotepad.Note = TrimLarge(NotepadContents); SilverlightNotepadDataContext.SilverlightNotepads.InsertOnSubmit(SilverlightNotepad); SilverlightNotepadDataContext.SubmitChanges(); } } #endregion #region TrimLarge private string TrimLarge(string strText) { string strNewText; if (strText.Length > 99) { strNewText = strText.Substring(0, 99); } else { strNewText = strText; } return strNewText; } #endregion } }