Example #1
0
        public bool AddNewVisitor(string ip, long entityId, RatingPageType ratingPageType)
        {
            if (!_ratingQueriesByTypes.ContainsKey(ratingPageType) || string.IsNullOrWhiteSpace(ip) ||
                IdValidator.IsInvalid(entityId))
            {
                return(false);
            }

            var  pageType = (int)ratingPageType;
            bool result   = false;

            Adapter.ActionByContext(c => {
                RatingByIp rating =
                    c.RatingByIp.FirstOrDefault(e => e.Ip == ip && e.EntityId == entityId && e.PageType == pageType);
                if (rating != null)
                {
                    return;
                }
                rating = new RatingByIp {
                    Ip = ip, EntityId = entityId, PageType = pageType
                };
                c.RatingByIp.Add(rating);
                c.SaveChanges();

                if (IdValidator.IsInvalid(rating.Id))
                {
                    return;
                }
                result = _ratingQueriesByTypes[ratingPageType].IncRating(entityId);
            });
            return(result);
        }
Example #2
0
        public bool SetNewCookie(HttpContextBase httpContext, string newCookieValue)
        {
            if (!_userUniqueId.IsValid(newCookieValue))
            {
                return(false);
            }

            string ip     = RemoteClientHelper.GetClientIpAddress(httpContext.Request);
            long   userId = _usersQuery.GetByHash(newCookieValue, ip);

            if (IdValidator.IsInvalid(userId))
            {
                return(false);
            }

            HttpCookie cookie = httpContext.Response.Cookies[COOKIE_NAME];

            if (cookie == null)
            {
                return(false);
            }

            cookie.Value = newCookieValue;
            httpContext.Response.Cookies[COOKIE_NAME].Value = newCookieValue;

            return(true);
        }
Example #3
0
        private SourceWithTranslation Create(GroupForUser groupForUser,
                                             SourceWithTranslation sentenceWithTranslation,
                                             int?rating)
        {
            SourceWithTranslation result = null;

            Adapter.ActionByContext(context => {
                var groupSentence = new GroupSentence
                {
                    SentenceTranslationId = sentenceWithTranslation.Id, GroupId = groupForUser.Id, Rating = rating
                };
                context.GroupSentence.Add(groupSentence);
                context.SaveChanges();
                if (IdValidator.IsValid(groupSentence.Id))
                {
                    result = new SourceWithTranslation();
                    result.Set(groupSentence.Id, sentenceWithTranslation.Source, sentenceWithTranslation.Translation);
                }
                else
                {
                    LoggerWrapper.LogTo(LoggerName.Errors).ErrorFormat(
                        "GroupSentencesQuery.Create can't add sentence with translation for sentence with id {0}, translation with id {1}, rating {2}",
                        sentenceWithTranslation.Source.Id, sentenceWithTranslation.Translation.Id,
                        rating);
                }
            });
            return(result);
        }
Example #4
0
        public bool CreateOrUpdate(long sentenceId,
                                   long wordId,
                                   string originalText,
                                   int orderInSentence,
                                   GrammarWordType grammarWordType)
        {
            var  parsedGrammarWordType = (int)grammarWordType;
            bool result = false;

            Adapter.ActionByContext(context => {
                SentenceWord sentenceWord =
                    context.SentenceWord.FirstOrDefault(
                        e => e.SentenceId == sentenceId && e.OrderInSentence == orderInSentence);
                if (sentenceWord == null)
                {
                    sentenceWord = new SentenceWord {
                        SentenceId      = sentenceId,
                        OrderInSentence = orderInSentence
                    };
                    context.SentenceWord.Add(sentenceWord);
                }

                sentenceWord.WordId       = wordId;
                sentenceWord.OriginalText = originalText;
                sentenceWord.GrammarType  = parsedGrammarWordType;
                context.SaveChanges();
                result = IdValidator.IsValid(sentenceWord.Id);
            });
            return(result);
        }
Example #5
0
        public void Should_Not_Validate_Empty_Id()
        {
            var result = new IdValidator().Validate(Guid.Empty);

            result.Success.Should().BeFalse();
            result.Messages.FirstOrDefault().Equals(ProductValidationMessages.ID);
        }
Example #6
0
        public void Should_Validate_Id()
        {
            var result = new IdValidator().Validate(Guid.NewGuid());

            result.Success.Should().BeTrue();
            result.Messages.Any().Should().BeFalse();
        }
        private static bool GetValidationFailures(ResourceElement defaultObservation)
        {
            var validator         = new IdValidator <ResourceElement>();
            var validationContext = new ValidationContext <ResourceElement>(defaultObservation);

            return(validator.IsValid(validationContext, defaultObservation.Id));
        }
        public JsonResult SetMark(long userId,
                                  UserLanguages userLanguages,
                                  KnowledgeMark mark,
                                  TrainerItem item,
                                  RepetitionType repetitionType = RepetitionType.All)
        {
            var itemDataType = (KnowledgeDataType)(item != null ? item.DataType : int.MinValue);

            if (IsInvalid(userId, userLanguages) || EnumValidator.IsInvalid(mark) || item == null ||
                IdValidator.IsInvalid(item.DataId) || EnumValidator.IsInvalid(itemDataType) ||
                EnumValidator.IsInvalid(repetitionType))
            {
                //TODO: писать сообщение
                return(JsonResultHelper.Error());
            }

            IUserRepetitionIntervalQuery userRepetitionIntervalQuery = CreateUserRepetitionIntervalQuery(userId,
                                                                                                         repetitionType);

            var repetitionInterval = new UserRepetitionIntervalItem
            {
                DataId = item.DataId, DataType = itemDataType, SourceType = KnowledgeSourceType
            };

            var trainerHelper = new TrainerHelper(userRepetitionIntervalQuery, userLanguages);

            return(trainerHelper.SetMark(Request, mark, repetitionInterval));
        }
Example #9
0
        protected ActionResult GetIndex(long userId,
                                        UserLanguages userLanguages,
                                        long groupId,
                                        Action <TrainerModel> modelSetter)
        {
            if (WebSettingsConfig.Instance.IsSectionForbidden(SectionId))
            {
                return(RedirectToAction("Index", RouteConfig.MAIN_CONTROLLER_NAME));
            }

            if (IdValidator.IsInvalid(userId) || UserLanguages.IsInvalid(userLanguages) ||
                IdValidator.IsInvalid(groupId))
            {
                return(RedirectToParentPage());
            }

            IUserRepetitionIntervalQuery userRepetitionIntervalQuery = CreateUserRepetitionIntervalQuery(userId, groupId);

            var          trainerHelper = new TrainerHelper(userRepetitionIntervalQuery, userLanguages);
            TrainerModel model         = trainerHelper.GetTrainerModel(Request);

            modelSetter(model);
            if (EnumerableValidator.IsNullOrEmpty(model.Items))
            {
                return(RedirectToParentPage());
            }

            ViewData[OurHtmlHelper.ViewDataFlags.SKIP_POPUP_PANEL] = true;
            return(View("../Trainer/Index", model));
        }
Example #10
0
        public SourceWithTranslation GetOrCreate(SentenceType type,
                                                 PronunciationForUser source,
                                                 PronunciationForUser translation,
                                                 byte[] image,
                                                 int?rating = null)
        {
            //TODO: проверять корректность параметров
            SourceWithTranslation result = null;

            Adapter.ActionByContext(context => {
                SentenceTranslation sentenceTranslation = GetSentenceTranslation(context, source, translation);
                if (sentenceTranslation != null)
                {
                    //обновить возможно изменившиеся поля
                    SetSentenceTranslation(sentenceTranslation, type, image, rating);
                    context.SaveChanges();
                    if (IdValidator.IsValid(sentenceTranslation.Id))
                    {
                        result = new SourceWithTranslation();
                        result.Set(sentenceTranslation.Id, source, translation);
                    }
                }
                else
                {
                    result = CreateSentencencesWithTranslation(type, source, translation, image, rating);
                }
            });
            return(result);
        }
Example #11
0
        public long GetUserId(HttpContextBase httpContext)
        {
            string userUniqueId      = GetUserUniqueIdFromCookie(httpContext);
            bool   needCreateNewUser = string.IsNullOrEmpty(userUniqueId) && _needCreate;

            if (needCreateNewUser)
            {
                userUniqueId = GenerateNewUserUnique(httpContext);
            }

            if (string.IsNullOrEmpty(userUniqueId))
            {
                return(IdValidator.INVALID_ID);
            }

            string ip     = RemoteClientHelper.GetClientIpAddress(httpContext.Request);
            long   userId = needCreateNewUser
                              ? _usersQuery.CreateByHash(userUniqueId, ip)
                              : _usersQuery.GetByHash(userUniqueId, ip);

            if (IdValidator.IsInvalid(userId) && !needCreateNewUser)
            {
                //нужно было получить по идентификатору, но не получили - создать аккаунт
                userId = _usersQuery.CreateByHash(userUniqueId, ip);
            }

            return(userId);
        }
Example #12
0
        private SourceWithTranslation CreateSentencencesWithTranslation(SentenceType type,
                                                                        PronunciationForUser source,
                                                                        PronunciationForUser translation,
                                                                        byte[] image = null,
                                                                        int?rating   = null)
        {
            SourceWithTranslation result = null;

            Adapter.ActionByContext(context => {
                Sentence sourceSentence      = GetOrAddSentenceToContext(source.LanguageId, source.Text, context);
                Sentence translationSentence = GetOrAddSentenceToContext(translation.LanguageId, translation.Text,
                                                                         context);
                context.SaveChanges();
                if (IdValidator.IsInvalid(sourceSentence.Id) || IdValidator.IsInvalid(translationSentence.Id))
                {
                    return;
                }
                var sentenceTranslation = new SentenceTranslation
                {
                    SentenceId1 = sourceSentence.Id, SentenceId2 = translationSentence.Id
                };
                SetSentenceTranslation(sentenceTranslation, type, image, rating);
                context.SentenceTranslation.Add(sentenceTranslation);
                context.SaveChanges();
                if (IdValidator.IsInvalid(sentenceTranslation.Id))
                {
                    return;
                }
                result = ConverterEntities.ConvertToSourceWithTranslation(sentenceTranslation.Id, sentenceTranslation.Image, source.LanguageId,
                                                                          sourceSentence,
                                                                          translationSentence);
            });
            return(result);
        }
Example #13
0
        protected override List <SourceWithTranslation> GetNextById(long userId,
                                                                    long id,
                                                                    long sourceLanguageId,
                                                                    long translationLanguageId,
                                                                    int count)
        {
            List <SourceWithTranslation> result = Adapter.ReadByContext(c => {
                long shuffleId = GetShuffleIdById(userId, id, c);
                if (IdValidator.IsInvalid(shuffleId))
                {
                    return(new List <SourceWithTranslation>(0));
                }

                var joinedSequence = (from s1 in c.Sentence
                                      join st in c.SentenceTranslation on s1.Id equals st.SentenceId1
                                      join s2 in c.Sentence on st.SentenceId2 equals s2.Id
                                      join ss in c.ShuffleSentence on st.Id equals ss.SentenceTranslationId
                                      where (ss.UserId == userId && ss.Id > shuffleId &&
                                             ((s1.LanguageId == sourceLanguageId &&
                                               s2.LanguageId == translationLanguageId)
                                              ||
                                              (s1.LanguageId == translationLanguageId &&
                                               s2.LanguageId == sourceLanguageId)))
                                      orderby ss.Id ascending
                                      select new { st.Id, st.Image, ss, s1, s2 }).Take(count);
                return
                (joinedSequence.AsEnumerable().OrderBy(e => e.ss.Id).Select(
                     e => ConverterEntities.ConvertToSourceWithTranslation(e.Id, e.Image, sourceLanguageId, e.s1, e.s2)).
                 ToList());
            });

            return(result);
        }
Example #14
0
        public FileResult Speak(UserLanguages userLanguages, long id, SpeakerDataType type, bool mp3Support)
        {
            byte[] audioBytes = null;
            if (UserLanguages.IsValid(userLanguages) && IdValidator.IsValid(id))
            {
                audioBytes = GetPronunciation(id, type);
            }
            if (audioBytes == null)
            {
                audioBytes = new byte[0];
                LoggerWrapper.LogTo(LoggerName.Errors).ErrorFormat(
                    "SpeakerController.Speak. Для типа {0} с идентификатором {1} НЕ найдено произношение!",
                    type, id);
            }

            /*if (!mp3Support) {
             *  var audioConverter = new AudioConverter();
             *  byte[] result = audioConverter.ConvertMp3ToWav(audioBytes);
             *  if (result != null) {
             *      return File(result, "audio/wav");
             *  }
             * }*/

            return(File(audioBytes, "audio/mp3"));
        }
Example #15
0
        public ActionResult DetailIndex(long userId, long authorId, string key)
        {
            //TODO: проверить валидность ключа на md5, проверить что у пользователя есть репозиторий
            if (IdValidator.IsInvalid(authorId) || string.IsNullOrEmpty(key) ||
                WebSettingsConfig.Instance.IsSectionForbidden(SectionId.UserTasks))
            {
                return(RedirectToAction("Index"));
            }

            RemoveTaskCookie();
            RepositoryFactory   repositoryFactory   = WebSettingsConfig.Instance.GetRepositoryFactory();
            UserTasksRepository userTasksRepository = repositoryFactory.CreateUserRepository(authorId);
            UserTask            userTask            = userTasksRepository.GetTask(key, true);

            if (userTask == null)
            {
                return(RedirectToAction("Index"));
            }

            BanRepository banRepository = repositoryFactory.GetBanRepository();
            var           banHelper     = new BanHelper(Request);
            bool          isBanned      = banHelper.IsBanned(SectionId.UserTasks, userId, banRepository);

            userTask.SetIsBanned(isBanned);
            userTask.SetAllRights(userId == authorId);
            return(View("Detail", userTask));
        }
Example #16
0
        public ActionResult Index(long userId, UserLanguages userLanguages)
        {
            const string EMPTY_WALL_VIEW = "EmptyWall";

            if (WebSettingsConfig.Instance.IsSectionForbidden(SectionId.MyKnowledge))
            {
                return(RedirectToAction("Index", RouteConfig.MAIN_CONTROLLER_NAME));
            }

            if (IdValidator.IsInvalid(userId) || UserLanguages.IsInvalid(userLanguages))
            {
                return(View(EMPTY_WALL_VIEW));
            }

            IUserKnowledgeQuery      userKnowledgeQuery = CreateUserKnowledgeQuery(userId);
            List <UserKnowledgeItem> items = GetData(userKnowledgeQuery, userLanguages, long.MaxValue);

            if (items == null || EnumerableValidator.IsEmpty(items))
            {
                return(View(EMPTY_WALL_VIEW));
            }

            //TODO: если будет тормозить - получать ajax'ом данные через action GetStatistic
            UserKnowledgeStatistic statistic = userKnowledgeQuery.GetStatistic();

            return(View("Index", new KnowledgeWallModel(userLanguages, items)
            {
                Statistic = statistic
            }));
        }
Example #17
0
        public long CreateByHash(string userHash, string ip)
        {
            if (string.IsNullOrEmpty(userHash))
            {
                LoggerWrapper.LogTo(LoggerName.Errors).ErrorFormat(
                    "UsersQuery.CreateByHash передан пустой уникальный хэш. IP-адрес пользователя = {0}", ip);
                return(IdValidator.INVALID_ID);
            }
            long result = IdValidator.INVALID_ID;

            Adapter.ActionByContext(c => {
                DateTime now = DateTime.Now;
                var user     = new User {
                    UniqueHash   = userHash,
                    CreationDate = now,
                    LastActivity = now,
                    CreationIp   = ip,
                    LastIp       = ip
                };
                c.User.Add(user);
                c.SaveChanges();
                if (IdValidator.IsValid(user.Id))
                {
                    result = user.Id;
                }
                else
                {
                    result = IdValidator.INVALID_ID;
                    LoggerWrapper.LogTo(LoggerName.Errors).ErrorFormat(
                        "UsersQuery.CreateByHash не удалось создать пользователя с уникальным хэшом {0}. IP-адрес пользователя = {1}",
                        userHash, ip);
                }
            });
            return(result);
        }
Example #18
0
        public async Task <GetRepairDetailsResponse> GetCustomerRepairAsync(int id, CancellationToken cancellationToken)
        {
            var validator = new IdValidator();
            await validator.ValidateAndThrowAsync(id, null, cancellationToken);

            var result = await _repairRepository.GetAsync(predicate :
                                                          x => x.Id == id &&
                                                          x.CustomerId == _userContextProvider.UserId,
                                                          cancellationToken,
                                                          include : x => x
                                                          .Include(x => x.UsedParts)
                                                          .ThenInclude(x => x.Part)
                                                          .Include(x => x.RequiredRepairTypes)
                                                          .ThenInclude(x => x.RepairType)
                                                          .Include(x => x.Customer)
                                                          .Include(x => x.EmployeeRepairs)
                                                          .ThenInclude(x => x.User)
                                                          .Include(x => x.Invoice));

            if (result == null)
            {
                throw new ServiceException(ErrorCodes.RepairWithGivenIdNotFound, $"Repair with provided id doesn't exist");
            }

            return(_mapper.Map <GetRepairDetailsResponse>(result.FirstOrDefault()));
        }
Example #19
0
        private RepresentationForUser GetOrCreateRepresentation(RepresentationForUser representationForUser,
                                                                StudyLanguageContext c)
        {
            Size           size           = representationForUser.Size;
            Representation representation =
                c.Representation.FirstOrDefault(
                    e => e.Title == representationForUser.Title && e.LanguageId == _languageId);

            if (representation == null)
            {
                representation = new Representation {
                    Title      = representationForUser.Title,
                    IsVisible  = true,
                    LanguageId = _languageId
                };
                c.Representation.Add(representation);
            }

            representation.Image        = representationForUser.Image;
            representation.Width        = size.Width;
            representation.Height       = size.Height;
            representation.WidthPercent = representationForUser.WidthPercent;
            representation.LastModified = DateTime.Now;
            c.SaveChanges();

            return(IdValidator.IsValid(representation.Id) ? new RepresentationForUser(representation) : null);
        }
Example #20
0
        private async Task <IActionResult> FileResponseHelper(string fileId, string fileType)
        {
            var _asbestosActions = new AsbestosActions(_asbestosService, _loggerActions);

            try
            {
                if (!IdValidator.ValidateId(fileId))
                {
                    var developerMessage = $"Invalid parameter - file id";
                    var userMessage      = "Please provide a valid file id";

                    return(new ErrorResponseBuilder().BuildErrorResponse(
                               userMessage, developerMessage, (int)HttpStatusCode.BadRequest));
                }
                var response = await _asbestosActions.GetFile(fileId, fileType);

                return(File(response.Data, response.ContentType));
            }
            catch (MissingFileException ex)
            {
                var developerMessage = ex.Message;
                var userMessage      = "Cannot find file";

                return(new ErrorResponseBuilder().BuildErrorResponse(
                           userMessage, developerMessage, (int)HttpStatusCode.NotFound));
            }
            catch (Exception ex)
            {
                var userMessage = "We had some problems processing your request";
                return(new ErrorResponseBuilder().BuildErrorResponseFromException(
                           ex, userMessage));
            }
        }
Example #21
0
        public bool IsUserBanned(SectionId sectionId, long userId, string userIp, string browserName)
        {
            KeyValueRepository commonRepository = _repositoryCache.GetCommonRepository();

            UserBanInfo existingBanInfo;

            if (IdValidator.IsValid(userId))
            {
                string userKey = GetUserKey(userId);
                existingBanInfo = GetUserBanInfo(commonRepository, userKey);
                if (existingBanInfo != null && existingBanInfo.IsBannedSection(sectionId))
                {
                    return(true);
                }
            }

            string anonymousKey = GetAnonymousUserKey(userIp, browserName);

            existingBanInfo = GetUserBanInfo(commonRepository, anonymousKey);
            if (existingBanInfo != null && existingBanInfo.IsBannedSection(sectionId))
            {
                return(true);
            }

            return(false);
        }
Example #22
0
        public JsonResult AddComment(long userId, long authorId, string key, string comment, int lastShowedComment)
        {
            if (IdValidator.IsInvalid(authorId) || string.IsNullOrWhiteSpace(comment) ||
                WebSettingsConfig.Instance.IsSectionForbidden(SectionId.UserTasks))
            {
                return(JsonResultHelper.Error());
            }

            if (comment.Length > UserTasksSettings.COMMENT_MAX_LENGTH)
            {
                return(JsonResultHelper.Error());
            }

            RepositoryFactory repositoryFactory = WebSettingsConfig.Instance.GetRepositoryFactory();
            BanRepository     banRepository     = repositoryFactory.GetBanRepository();
            var  banHelper = new BanHelper(Request);
            bool isBanned  = banHelper.IsBanned(SectionId.UserTasks, userId, banRepository);

            if (isBanned)
            {
                return(JsonResultHelper.Error());
            }

            banHelper.RegisterEvent(SectionId.UserTasks, "AddComment", userId, banRepository);

            UserTasksRepository userTasksRepository = repositoryFactory.CreateUserRepository(authorId);

            //TODO: получить пользователя и если у него указано имя, то заполнить Author

            comment = OurHtmlHelper.PrepareStringFromUser(comment);
            //TODO: дописывать (автор) к имени пользователя
            var taskComment = new TaskComment {
                Author       = null,
                AuthorId     = userId,
                CreationDate = DateTime.Now.Ticks,
                Text         = comment
            };

            bool isAddedComment         = userTasksRepository.AddComment(key, taskComment);
            List <TaskComment> comments = userTasksRepository.GetComments(key, lastShowedComment);

            SendMail(string.Format("Пользователь {0} оставил комментарий к таску {1} автора {2}:\r\n{3}", userId, key, authorId, comment));

            var htmlItems = new StringBuilder();

            foreach (TaskComment newComment in comments)
            {
                string item = OurHtmlHelper.RenderRazorViewToString(ControllerContext, "PartialTaskComment", newComment);
                htmlItems.Insert(0, item);
            }

            return
                (JsonResultHelper.GetUnlimitedJsonResult(
                     new {
                success = isAddedComment,
                newComments = htmlItems.ToString(),
                countNewComments = comments.Count
            }));
        }
        public void Validate_WhenNationalIdTrueFormat_ReturnTrue()
        {
            var validator = new IdValidator();

            var result = validator.Validate("65350205994");

            Assert.That(result, Is.True);
        }
Example #24
0
 public ActionResult Image(long id)
 {
     if (IdValidator.IsInvalid(id))
     {
         return(new EmptyResult());
     }
     return(GetImage(new WordTranslationsQuery(), id));
 }
        public void Validate_WhenNationalIdWrongFormat_ReturnFalse(string nationalId)
        {
            var validator = new IdValidator();

            var result = validator.Validate(nationalId);

            Assert.That(result, Is.False);
        }
 public ActionResult Image(long id)
 {
     if (IdValidator.IsInvalid(id))
     {
         return(new EmptyResult());
     }
     return(GetImage(IoCModule.Create <WordTranslationsQuery>(), id));
 }
Example #27
0
 protected ActionResult GetImage(IImageQuery imageQuery, long id, Func <byte[], byte[]> imageModifier = null)
 {
     if (IdValidator.IsInvalid(id))
     {
         return(new EmptyResult());
     }
     byte[] image = imageQuery.GetImageById(id);
     return(ImageToFile(imageModifier, image));
 }
Example #28
0
        private bool SaveSentence(string sentenceText, List <Word> words)
        {
            //TODO: в случае неудачи - убирать за собой
            foreach (ParsedWord word in words)
            {
                string wordText = word.GetAppropriateWordText();
                long   wordId   = SaveWords(word, wordText);
                if (IdValidator.IsInvalid(wordId))
                {
                    //не сохранять предложение, т.к. не все слова сохранены
                    return(false);
                }
            }
            //TODO: поискать предложение с такими же словами, если есть, то не добавлять

            //сохранить предложение
            long sentenceId = _sentencesQuery.GetOrCreate(_languageId, sentenceText);

            if (IdValidator.IsInvalid(sentenceId))
            {
                return(false);
            }

            bool result          = true;
            int  orderInSentence = 1;

            foreach (ParsedWord word in words)
            {
                long   wordId;
                string wordText = word.GetAppropriateWordText();
                if (!_wordsIdsByText.TryGetValue(wordText, out wordId))
                {
                    LoggerWrapper.LogTo(LoggerName.Errors).ErrorFormat(
                        "TextProcessor.SaveSentence не удалось найти идентификатор для слова {0}, предложение {1}(идентификатор {2})!",
                        wordText, sentenceId, sentenceText);
                    result = false;
                    break;
                }

                string originalText = word.Text;
                if (!_sentenceWordsQuery.CreateOrUpdate(sentenceId, wordId, originalText, orderInSentence, word.Type))
                {
                    LoggerWrapper.LogTo(LoggerName.Errors).ErrorFormat(
                        "TextProcessor.SaveSentence не удалось сохранить слово {0}(идентификатор {1}) для предложения {2}(идентификатор {3})!",
                        originalText, wordId, sentenceText, sentenceId);
                }
                orderInSentence++;
            }

            if (!_sentenceWordsQuery.DeleteGreaterOrEqualsOrderWords(sentenceId, orderInSentence))
            {
                LoggerWrapper.LogTo(LoggerName.Errors).ErrorFormat(
                    "TextProcessor.SaveSentence не удалось удалить слова для предложения {0}(идентификатор {1}), у которых порядковый номер больше или равен {2}!",
                    sentenceText, sentenceId, orderInSentence);
            }
            return(result);
        }
Example #29
0
        private static IEnumerable <ValidationFailure> GetValidationFailures(ResourceElement defaultObservation)
        {
            var validator = new IdValidator();

            var result = validator.Validate(
                new PropertyValidatorContext(new ValidationContext(defaultObservation), PropertyRule.Create <ResourceElement, string>(x => x.Id), "Id"));

            return(result);
        }
Example #30
0
        private static void ValidateUserId(Guid userId)
        {
            var validator = new IdValidator();
            var result    = validator.Validate(userId);

            if (!result.IsValid)
            {
                throw new IdentityDomainException($"'{nameof(userId)}' cannot be empty guid");
            }
        }