ScrewTurn.Wiki.PagesStorageProvider.ModifyMessage C# (CSharp) Method

ModifyMessage() public method

Modifies a Message.
If , , or are null. If is less than zero. If or are empty.
public ModifyMessage ( System.PageInfo page, int id, string username, string subject, System.DateTime dateTime, string body ) : bool
page System.PageInfo The Page.
id int The ID of the Message to modify.
username string The Username.
subject string The Subject.
dateTime System.DateTime The Date/Time.
body string The Body.
return bool
        public bool ModifyMessage(PageInfo page, int id, string username, string subject, DateTime dateTime, string body)
        {
            if(page == null) throw new ArgumentNullException("page");
            if(id < 0) throw new ArgumentOutOfRangeException("Invalid Message ID", "id");
            if(username == null) throw new ArgumentNullException("username");
            if(username.Length == 0) throw new ArgumentException("Username cannot be empty", "username");
            if(subject == null) throw new ArgumentNullException("subject");
            if(subject.Length == 0) throw new ArgumentException("Subject cannot be empty", "subject");
            if(body == null) throw new ArgumentNullException("body"); // body can be empty

            lock(this) {
                if(LoadLocalPageInfo(page) == null) return false;

                List<Message> messages = new List<Message>(GetMessages(page));

                Message msg = FindMessage(messages, id);

                if(msg == null) return false;

                // Update search engine index
                UnindexMessage(page, id, msg.Subject, msg.DateTime, msg.Body);

                msg.Username = username;
                msg.Subject = subject;
                msg.DateTime = dateTime;
                msg.Body = body;

                DumpMessages(page, messages);

                // Update search engine index
                IndexMessage(page, id, subject, dateTime, body);
            }
            return true;
        }
PagesStorageProvider