public virtual void Update(IStory theStory, string uniqueName, DateTime createdAt, string title, string category, string description, string tags) { Check.Argument.IsNotNull(theStory, "theStory"); if (string.IsNullOrEmpty(uniqueName)) { uniqueName = theStory.UniqueName; } if (!createdAt.IsValid()) { createdAt = theStory.CreatedAt; } theStory.ChangeNameAndCreatedAt(uniqueName, createdAt); if (!string.IsNullOrEmpty(title)) { theStory.Title = title; } if ((!string.IsNullOrEmpty(category)) && (string.Compare(category, theStory.BelongsTo.UniqueName, StringComparison.OrdinalIgnoreCase) != 0)) { ICategory storyCategory = _categoryRepository.FindByUniqueName(category); theStory.ChangeCategory(storyCategory); } if (!string.IsNullOrEmpty(description)) { theStory.HtmlDescription = description.Trim(); } AddTagsToContainers(tags, new[] { theStory }); }