public void AddErrorTest()
        {
            BaseResultType baseResultType = new BaseResultType();

            baseResultType.Status = ResultStatus.Fail;
            baseResultType.AddError("Error1");
            Assert.AreEqual("Error1", baseResultType.Message);
            Assert.AreEqual(ResultStatus.Fail, baseResultType.Status, "При добавлении ошибки,IsSuccess  должен меняться на false.");

            baseResultType.Status = ResultStatus.Success;
            baseResultType.AddError("Error2");
            Assert.AreEqual("Error1" + Environment.NewLine + "Error2", baseResultType.Message);
            Assert.AreEqual(ResultStatus.Fail, baseResultType.Status, "При добавлении ошибки,IsSuccess  должен меняться на false.");
        }
        public BaseResultType Validate(DefaultParamOfCRUDOperation <Core.Data.Domain.House> item)
        {
            BaseResultType baseResultType = new BaseResultType()
            {
                Status = ResultStatus.Success
            };

            if (item.Item.CountOfEntrance == null)
            {
                //WarningQuestion question = new WarningQuestion()
                //{
                //    Id = "1",
                //    Message = "Отсутствует количество подъездов"
                //};
                //baseResultType.AddWarring(question);
                if (!item.IsSendAndAnswerQuestion("Отсутствует количество подъездов.Продолжить?", ResultQuestionType.NO, baseResultType))
                {
                    baseResultType.AddError(" Отмена");
                }
            }
            if (item.Item.CountOfFloor == null)
            {
                WarningQuestion question = new WarningQuestion()
                {
                    Id      = "1",
                    Message = "Отсутствует количество этажей"
                };
                baseResultType.AddWarring(question);
            }
            return(baseResultType);
        }
Ejemplo n.º 3
0
        public bool IsSendAndAnswerQuestion(string query, string result, BaseResultType baseResultType)
        {
            Question question = Questions?.FirstOrDefault(x => x.Id == Item.CustomIdentity);

            if (question != null && question.Result == result)
            {
                //Ответ получили, но он не устраивает для проверки.
                return(false);
            }
            else
            {
                if (question == null)
                {
                    //Если нет идентификатора, то добавляем ошибку, так как идентификатор нужен для сопоставления объекта с ответом.
                    if (string.IsNullOrWhiteSpace(Item.CustomIdentity))
                    {
                        baseResultType.AddError("Отсутствует идентификатор объекта для вопроса.");
                    }
                    else
                    {
                        //Добавляем воспрос
                        question = new QuestionYesNo()
                        {
                            Id      = Item.CustomIdentity,
                            Message = query
                        };
                        baseResultType.AddQuestion((QuestionYesNo)question);
                    }
                }
                return(true);
            }
        }
 public Task <BaseResultType <User> > LoginAllowCheckAsync(DefaultParamOfCRUDOperation <User> param)
 {
     return(Task.Run(() =>
     {
         BaseResultType <User> resultType = new BaseResultType <User>();
         if (param is null || param.Item is null)
         {
             resultType.AddError("Отсутствует параметр проверки пользователя.");
         }
        public async Task <IActionResult> Logout()
        {
            BaseResultType result = new BaseResultType()
            {
                Status = ResultStatus.Success
            };

            try
            {
                await HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme);
            }
            catch (Exception e)
            {
                result.AddError(e.Message);
            }
            return(Json(result));
        }
        public void MergeTest()
        {
            //TODO: дописать тесты для вопросов
            BaseResultType error = new BaseResultType();

            error.Status = ResultStatus.Fail;
            error.AddError("Error");

            BaseResultType message = new BaseResultType();

            message.Status = ResultStatus.Success;
            message.AddMessage("Message");

            //При merge, IsSuccess не должен изменяться из fail в success, но должен меняться из success в fail. Если была ошибка, то ошибка должна остаться
            error.Merge(message);
            Assert.AreEqual(ResultStatus.Fail, error.Status);
            Assert.AreEqual("Error" + Environment.NewLine + "Message", error.Message);

            error.Message = "Error";//Сьрасываем сообщение на исходное
            message.Merge(error);
            Assert.AreEqual(ResultStatus.Fail, error.Status);
            Assert.AreEqual("Message" + Environment.NewLine + "Error", message.Message);
        }
            public BaseResultType Validate(DefaultParamOfCRUDOperation <ObjectMappingForTest> item)
            {
                BaseResultType baseResultType = new BaseResultType()
                {
                    Status = ResultStatus.Success
                };

                if (String.IsNullOrWhiteSpace(item.Item.StrValue))
                {
                    if (!item.IsSendAndAnswerQuestion("Продолжить?", ResultQuestionType.NO, baseResultType))
                    {
                        baseResultType.AddError("Ошибка");
                    }
                }

                if (item.Item.IntValue2 == 22)
                {
                    baseResultType.AddWarring(new WarningQuestion()
                    {
                        Message = "Уведомления"
                    });
                }
                return(baseResultType);
            }