public ServiceMessage Edit(BanReasonEditDTO banReasonDTO) { int id; string decryptedId = encryptor.Decrypt(banReasonDTO.Id); List <string> errors = new List <string>(); bool succeeded = true; if (Int32.TryParse(decryptedId, out id)) { if (succeeded = Validate(banReasonDTO.Name, errors)) { try { BanReasonEntity banReasonEntity = unitOfWork.Bans.Get(id); if (banReasonEntity != null) { banReasonEntity.Name = banReasonDTO.Name; banReasonEntity.IsEnabled = banReasonDTO.IsEnabled; unitOfWork.Commit(); } else { succeeded = false; errors.Add("Such ban reason was not found"); } } catch (Exception ex) { succeeded = false; ExceptionMessageBuilder.FillErrors(ex, errors); } } } else { succeeded = false; errors.Add("Such ban reason was not found"); } return(new ServiceMessage { Errors = errors, Succeeded = succeeded }); }
public ServiceMessage Create(BanReasonCreateDTO banReasonDTO) { List <string> errors = new List <string>(); bool succeeded = Validate(banReasonDTO.Name, errors); if (succeeded) { try { bool exists = unitOfWork.Bans.Exists(banReasonDTO.Name); if (!exists) { BanReasonEntity banReasonEntity = new BanReasonEntity { Name = banReasonDTO.Name, IsEnabled = true }; unitOfWork.Bans.Add(banReasonEntity); unitOfWork.Commit(); } else { succeeded = false; errors.Add("Such reason alredy exists"); } } catch (Exception ex) { succeeded = false; ExceptionMessageBuilder.FillErrors(ex, errors); } } return(new ServiceMessage { Errors = errors, Succeeded = succeeded }); }
public DataServiceMessage <BanReasonEditDTO> Get(string banId) { int id; string decryptedId = encryptor.Decrypt(banId); List <string> errors = new List <string>(); bool succeeded = true; BanReasonEditDTO data = null; if (Int32.TryParse(decryptedId, out id)) { try { BanReasonEntity banReasonEntity = unitOfWork.Bans.Get(id); data = new BanReasonEditDTO { Id = banId, IsEnabled = banReasonEntity.IsEnabled, Name = banReasonEntity.Name }; } catch (Exception ex) { succeeded = false; ExceptionMessageBuilder.FillErrors(ex, errors); } } else { succeeded = false; errors.Add("Such ban reason was not found"); } return(new DataServiceMessage <BanReasonEditDTO> { Data = data, Errors = errors, Succeeded = succeeded }); }
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 }); }