public ServiceMessage Edit(ModeratorEditDTO moderatorDTO) { List <string> errors = new List <string>(); bool succeeded = Validate(moderatorDTO, errors); try { ModeratorEntity moderatorEntity = unitOfWork.Moderators.GetByLogin(moderatorDTO.Login); if (moderatorEntity != null) { ApplicationUser applicationUser = moderatorEntity.User; applicationUser.FirstName = moderatorDTO.FirstName; applicationUser.LastName = moderatorDTO.LastName; unitOfWork.Commit(); } else { succeeded = false; errors.Add("Moderator with such login was not found"); } } catch (Exception ex) { ExceptionMessageBuilder.FillErrors(ex, errors); succeeded = false; } return(new ServiceMessage { Succeeded = succeeded, Errors = errors }); }
public ServiceMessage RegisterModerator(ModeratorRegisterDTO moderatorDTO) { List <string> errors = new List <string>(); bool succeeded = Validate(moderatorDTO, errors); if (succeeded) { try { succeeded = Register(moderatorDTO, errors); if (succeeded) { ModeratorEntity moderatorEntity = new ModeratorEntity { Id = userManager.FindByName(moderatorDTO.Login).Id, PhotoLink = moderatorDTO.PhotoLink }; unitOfWork.Moderators.Add(moderatorEntity); userManager.AddToRole(moderatorEntity.Id, Roles.ModeratorRole); } } catch (Exception ex) { succeeded = false; ExceptionMessageBuilder.FillErrors(ex, errors); } } return(new ServiceMessage { Succeeded = succeeded, Errors = errors }); }
public ModerationController() { ModeratorSettings = new ModeratorEntity() { API = "", Lang = "eng", Secret = "" }; }
public ServiceMessage Create(ArticleCreateDTO articleDTO) { List <string> errors = new List <string>(); bool succeeded = Validate(articleDTO, errors); if (succeeded) { try { CategoryEntity categoryEntity = unitOfWork.Categories.GetByName(articleDTO.CategoryName); if (categoryEntity != null) { ModeratorEntity moderatorEntity = unitOfWork.Moderators.GetByLogin(articleDTO.AuthorLogin); if (moderatorEntity != null) { ArticleEntity articleEntity = new ArticleEntity { Author = moderatorEntity, Category = categoryEntity, DateCreated = DateTime.Now, DateLastModified = DateTime.Now, Header = articleDTO.Header, PhotoLink = articleDTO.PhotoLink, ShortDescription = articleDTO.ShortDescription, Text = articleDTO.Text }; unitOfWork.Articles.Add(articleEntity); unitOfWork.Commit(); } else { succeeded = false; errors.Add(String.Format("Moderator with login {0} was not found", articleDTO.AuthorLogin)); } } else { succeeded = false; errors.Add(String.Format("Category with name {0} was not found", articleDTO.CategoryName)); } } catch (Exception ex) { ExceptionMessageBuilder.FillErrors(ex, errors); succeeded = false; } } return(new ServiceMessage { Errors = errors, Succeeded = succeeded }); }
public DataServiceMessage <ModeratorDetailsDTO> GetDetails(string login) { List <string> errors = new List <string>(); bool succeeded = true; ModeratorDetailsDTO data = null; try { ModeratorEntity moderatorEntity = unitOfWork.Moderators.GetByLogin(login); if (moderatorEntity != null) { data = new ModeratorDetailsDTO { Email = moderatorEntity.User.Email, FirstName = moderatorEntity.User.FirstName, LastName = moderatorEntity.User.LastName, Login = login, PhotoLink = moderatorEntity.PhotoLink, BannedComments = moderatorEntity.BannedComments.Select(commentEntity => new CommentBanDetailsDTO { Id = encryptor.Encrypt(commentEntity.Id.ToString()), Text = commentEntity.Text, DateBanned = commentEntity.DateBanned.Value, BanReason = commentEntity.BanReason.Name, AuthorFullName = commentEntity.Author.FirstName + " " + commentEntity.Author.LastName }) .OrderByDescending(comment => comment.DateBanned) .ToList() }; } else { succeeded = false; errors.Add("Moderator with such login was not found"); } } catch (Exception ex) { ExceptionMessageBuilder.FillErrors(ex, errors); succeeded = false; } return(new DataServiceMessage <ModeratorDetailsDTO> { Succeeded = succeeded, Errors = errors, Data = data }); }
public DataServiceMessage <ModeratorEditDTO> Get(string login) { List <string> errors = new List <string>(); bool succeeded = true; ModeratorEditDTO data = null; try { ModeratorEntity moderatorEntity = unitOfWork.Moderators.GetByLogin(login); if (moderatorEntity != null) { data = new ModeratorEditDTO { Email = moderatorEntity.User.Email, FirstName = moderatorEntity.User.FirstName, LastName = moderatorEntity.User.LastName, Login = login, PhotoLink = moderatorEntity.PhotoLink }; } else { succeeded = false; errors.Add("Moderator with such login was not found"); } } catch (Exception ex) { ExceptionMessageBuilder.FillErrors(ex, errors); succeeded = false; } return(new DataServiceMessage <ModeratorEditDTO> { Succeeded = succeeded, Errors = errors, Data = data }); }
public ServiceMessage Ban(CommentBanDTO commentDTO) { int commentId; string decryptedCommentId = encryptor.Decrypt(commentDTO.Id); int banReasonId; string decryptedBanReasonId = encryptor.Decrypt(commentDTO.BanReasonId); List <string> errors = new List <string>(); bool succeeded = Validate(commentDTO, errors); if (!Int32.TryParse(decryptedCommentId, out commentId)) { succeeded = false; errors.Add("Comment was not found"); } if (!Int32.TryParse(decryptedBanReasonId, out banReasonId)) { succeeded = false; errors.Add("Ban reason was not found"); } if (succeeded && (succeeded = Validate(commentDTO, errors))) { try { ModeratorEntity moderatorEntity = unitOfWork.Moderators.GetByLogin(commentDTO.ModeratorLogin); if (moderatorEntity == null) { succeeded = false; errors.Add("Moderator with such login was not found"); } BanReasonEntity banReasonEntity = unitOfWork.Bans.Get(banReasonId); if (moderatorEntity == null) { succeeded = false; errors.Add("Moderator with such login was not found"); } CommentEntity commentEntity = unitOfWork.Comments.Get(commentId); if (commentEntity == null) { succeeded = false; errors.Add("Comment was not found"); } if (succeeded) { commentEntity.BanReason = banReasonEntity; commentEntity.DateBanned = DateTime.Now; commentEntity.ModeratorWhoBanned = moderatorEntity; unitOfWork.Commit(); } } catch (Exception ex) { ExceptionMessageBuilder.FillErrors(ex, errors); succeeded = false; } } return(new ServiceMessage { Errors = errors, Succeeded = succeeded }); }