Exemplo n.º 1
0
        public void AsTextTest()
        {
            ErrorDictionary target = new ErrorDictionary();
            string          actual;

            actual = target.AsText();
            Assert.AreEqual(string.Empty, actual);

            ErrorCollection field1 = new ErrorCollection();

            field1.Add("Test 1");
            target.Add("field1", field1);
            actual = target.AsText();
            Assert.AreEqual("* Test 1", actual);

            ErrorCollection field2 = new ErrorCollection();

            field2.Add("Test 2");
            target.Add("field2", field2);
            actual = target.AsText();
            Assert.AreEqual("* Test 1\n* Test 2", actual);

            target["field1"].Add("Test 3");
            actual = target.AsText();
            Assert.AreEqual("* Test 1\n* Test 3\n* Test 2", actual);
        }
Exemplo n.º 2
0
        public Task Invoke(HttpContext httpContext)
        {
            StringValues personUid, accessToken;

            if (httpContext.Request.Headers.TryGetValue(AuthorizationHeaders.PersonUid, out personUid) &&
                httpContext.Request.Headers.TryGetValue(AuthorizationHeaders.AccessToken, out accessToken))
            {
                if (!_authorizationLogic.CheckAccessKey(new Guid(personUid.FirstOrDefault()), accessToken.FirstOrDefault()).Result)
                {
                    httpContext.Response.StatusCode  = (int)HttpStatusCode.Forbidden;
                    httpContext.Response.ContentType = "application/json";
                    return(httpContext.Response.WriteAsync(ErrorDictionary.GetErrorMessage(5, CultureParser.GetCultureFromHttpContext(httpContext))));
                }
                if (_authorizationLogic.CheckThatPersonIsBlocked(new Guid(personUid.FirstOrDefault())).Result)
                {
                    httpContext.Response.StatusCode  = (int)HttpStatusCode.MethodNotAllowed;
                    httpContext.Response.ContentType = "application/json";
                    return(httpContext.Response.WriteAsync(ErrorDictionary.GetErrorMessage(44, CultureParser.GetCultureFromHttpContext(httpContext))));
                }
            }
            else
            {
                httpContext.Response.StatusCode  = (int)HttpStatusCode.Unauthorized;
                httpContext.Response.ContentType = "application/json";
                return(httpContext.Response.WriteAsync(ErrorDictionary.GetErrorMessage(5, CultureParser.GetCultureFromHttpContext(httpContext))));
            }
            return(_next(httpContext));
        }
Exemplo n.º 3
0
        public virtual bool Validation()
        {
            // 验证错误时,必须先要清空属性异常信息。
            // 因为,WPF 异常模板会屏蔽相同的错误信息。导致相同的错误信息,仅显示一次
            ErrorDictionary.Clear();
            // 属性验证
            var result     = true;
            var properties = GetType().GetProperties();

            foreach (var property in properties)
            {
                var validationContext = new ValidationContext(this);
                var validationResults = new List <ValidationResult>();
                validationContext.MemberName = property.Name;
                var value = property.GetValue(this);
                if (!Validator.TryValidateProperty(value, validationContext, validationResults))
                {
                    result = false;
                    // 仅显示第一个错误
                    var errorCollection = validationResults.Select(p => p.ErrorMessage).ToList();
                    ErrorDictionary[property.Name] = new List <string>
                    {
                        errorCollection[0]
                    };
                }
                OnErrorsChanged(property.Name);
            }
            return(result);
        }
Exemplo n.º 4
0
        public (bool ValidationResult, string ValidationMessage) ValidateGetMiniatureImage(Guid imageUid)
        {
            var imageEntity = _personRepository.GetPersonImage(imageUid).Result;

            if (imageEntity == null)
            {
                return(false, ErrorDictionary.GetErrorMessage(12, _culture));
            }
            else
            {
                if (imageEntity.PersonMiniatureImageContentUid.HasValue)
                {
                    if (!_imageRepository.CheckImageExistance(imageEntity.PersonMiniatureImageContentUid.ToString()).Result)
                    {
                        return(false, ErrorDictionary.GetErrorMessage(12, _culture));
                    }
                }
                else
                {
                    if (!_imageRepository.CheckImageExistance(imageUid.ToString()).Result)
                    {
                        return(false, ErrorDictionary.GetErrorMessage(12, _culture));
                    }
                }
            }
            return(true, string.Empty);
        }
Exemplo n.º 5
0
 public (bool ValidationResult, string ValidationMessage) ValidateGetRandomPerson(RandomPersonFilter randomPersonFilter)
 {
     if (randomPersonFilter.MinAge.HasValue && (randomPersonFilter.MinAge < 0 || randomPersonFilter.MinAge > 150))
     {
         return(false, ErrorDictionary.GetErrorMessage(22, _culture));
     }
     if (randomPersonFilter.MaxAge.HasValue && (randomPersonFilter.MaxAge < 0 || randomPersonFilter.MaxAge > 150))
     {
         return(false, ErrorDictionary.GetErrorMessage(22, _culture));
     }
     if (randomPersonFilter.MinAge.HasValue && randomPersonFilter.MaxAge.HasValue && randomPersonFilter.MinAge > randomPersonFilter.MaxAge)
     {
         return(false, ErrorDictionary.GetErrorMessage(15, _culture));
     }
     if (!_eventRepository.CheckEventExistence(randomPersonFilter.EventUid).Result)
     {
         return(false, ErrorDictionary.GetErrorMessage(10, _culture));
     }
     if (randomPersonFilter.CityId.HasValue)
     {
         var cities = _cityLogic.GetCities().Result;
         if (!cities.Any(x => x.CityId == randomPersonFilter.CityId.Value))
         {
             return(false, ErrorDictionary.GetErrorMessage(30, _culture));
         }
     }
     return(true, string.Empty);
 }
Exemplo n.º 6
0
        public (bool ValidationResult, string ValidationMessage) ValidateAddParticipantModel(EventParticipantModel model)
        {
            var eventEntity = _eventRepository.GetEvent(model.EventUid).Result;

            if (eventEntity == null)
            {
                return(false, ErrorDictionary.GetErrorMessage(10, _culture));
            }
            if (eventEntity.EventStatusId == (long)EventStatus.Canceled || eventEntity.EventStatusId == (long)EventStatus.Ended)
            {
                return(false, ErrorDictionary.GetErrorMessage(57, _culture));
            }
            if (!_personRepository.CheckPersonExistence(model.PersonUid).Result)
            {
                return(false, ErrorDictionary.GetErrorMessage(2, _culture));
            }
            var participant = eventEntity.Participants.SingleOrDefault(x => x.Person != null && x.Person.PersonUid == model.PersonUid);

            if (participant != null)
            {
                return(false, ErrorDictionary.GetErrorMessage(24, _culture));
            }
            if (!Enum.IsDefined(typeof(ParticipantStatus), model.ParticipantStatus))
            {
                return(false, ErrorDictionary.GetErrorMessage(21, _culture));
            }
            return(true, string.Empty);
        }
Exemplo n.º 7
0
        public void AsULTest()
        {
            ErrorDictionary target = new ErrorDictionary();
            string          actual;

            actual = target.AsUL();
            Assert.AreEqual(string.Empty, actual);

            ErrorCollection field1 = new ErrorCollection();

            field1.Add("Test 1");
            target.Add("field1", field1);
            actual = target.AsUL();
            Assert.AreEqual("<ul class=\"errorlist\"><li><ul class=\"errorlist\"><li><label for=\"id_field1\">Test 1</label></li></ul></li></ul>", actual);

            ErrorCollection field2 = new ErrorCollection();

            field2.Add("Test 2");
            target.Add("field2", field2);
            actual = target.AsUL();
            Assert.AreEqual("<ul class=\"errorlist\"><li><ul class=\"errorlist\"><li><label for=\"id_field1\">Test 1</label></li></ul></li><li><ul class=\"errorlist\"><li><label for=\"id_field2\">Test 2</label></li></ul></li></ul>", actual);

            target["field1"].Add("Test 3");
            actual = target.AsUL();
            Assert.AreEqual("<ul class=\"errorlist\"><li><ul class=\"errorlist\"><li><label for=\"id_field1\">Test 1</label></li><li><label for=\"id_field1\">Test 3</label></li></ul></li><li><ul class=\"errorlist\"><li><label for=\"id_field2\">Test 2</label></li></ul></li></ul>", actual);
        }
Exemplo n.º 8
0
        public void ToStringTest()
        {
            // ToString is a wrapper around AsUL assume AsUL test covers this.
            ErrorDictionary target = new ErrorDictionary();

            Assert.AreEqual(target.AsUL(), target.ToString());
        }
Exemplo n.º 9
0
        public (bool ValidationResult, string ValidationMessage) ValidateSearchForEvent(EventSearchFilter eventSearchFilter)
        {
            if (eventSearchFilter.MinAge.HasValue && eventSearchFilter.MaxAge.HasValue && eventSearchFilter.MinAge > eventSearchFilter.MaxAge)
            {
                return(false, ErrorDictionary.GetErrorMessage(15, _culture));
            }
            if (eventSearchFilter.Status.HasValue && !Enum.IsDefined(typeof(EventStatus), eventSearchFilter.Status))
            {
                return(false, ErrorDictionary.GetErrorMessage(13, _culture));
            }
            if (eventSearchFilter.Type.HasValue && !Enum.IsDefined(typeof(EventType), eventSearchFilter.Type))
            {
                return(false, ErrorDictionary.GetErrorMessage(14, _culture));
            }
            var cities = _cityLogic.GetCities().Result;

            if (eventSearchFilter.CityId.HasValue)
            {
                if (!cities.Any(x => x.CityId == eventSearchFilter.CityId))
                {
                    return(false, ErrorDictionary.GetErrorMessage(30, _culture));
                }
            }
            return(true, string.Empty);
        }
Exemplo n.º 10
0
 public (bool ValidationResult, string ValidationMessage) ValidateUpdatePerson(UpdatePersonModel model, Guid personUid)
 {
     if (model.Name != null && string.IsNullOrWhiteSpace(model.Name))
     {
         return(false, ErrorDictionary.GetErrorMessage(51, _culture));
     }
     if (!_personRepository.CheckPersonExistence(personUid).Result)
     {
         return(false, ErrorDictionary.GetErrorMessage(2, _culture));
     }
     if (!string.IsNullOrEmpty(model.Login) && _personRepository.CheckPersonExistence(personUid, model.Login).Result)
     {
         return(false, ErrorDictionary.GetErrorMessage(33, _culture));
     }
     if (model.Age.HasValue && model.Age.Value < 14)
     {
         return(false, ErrorDictionary.GetErrorMessage(43, _culture));
     }
     if (model.CityId.HasValue)
     {
         var cities = _cityLogic.GetCities().Result;
         if (!cities.Any(x => x.CityId == model.CityId.Value))
         {
             return(false, ErrorDictionary.GetErrorMessage(30, _culture));
         }
     }
     if (model.Image == null ^ model.MiniImage == null)
     {
         return(false, ErrorDictionary.GetErrorMessage(52, _culture));
     }
     return(true, string.Empty);
 }
Exemplo n.º 11
0
        public (bool ValidationResult, string ValidationMessage) ValidateAddPromoRewardRequest(PromoRewardRequestModel request)
        {
            if (request.Images == null || request.Images.Count < 1 || request.Images.Count > 2)
            {
                return(false, ErrorDictionary.GetErrorMessage(47, _culture));
            }
            if (string.IsNullOrWhiteSpace(request.AccountingNumber))
            {
                return(false, ErrorDictionary.GetErrorMessage(48, _culture));
            }
            var eventEntity = _eventRepository.GetEvent(request.EventUid).Result;

            if (eventEntity == null)
            {
                return(false, ErrorDictionary.GetErrorMessage(10, _culture));
            }
            if (eventEntity.EventStatusId != (long)EventStatus.Ended)
            {
                return(false, ErrorDictionary.GetErrorMessage(49, _culture));
            }
            if (eventEntity.PromoRewardRequests.Any())
            {
                return(false, ErrorDictionary.GetErrorMessage(54, _culture));
            }
            return(true, string.Empty);
        }
Exemplo n.º 12
0
 public (bool ValidationResult, string ValidationMessage) ValidateGetRandomEvent(RandomEventFilter filter)
 {
     if (filter.PersonXCoordinate < 0)
     {
         return(false, ErrorDictionary.GetErrorMessage(23, _culture));
     }
     if (filter.PersonYCoordinate < 0)
     {
         return(false, ErrorDictionary.GetErrorMessage(23, _culture));
     }
     if (filter.CityId.HasValue)
     {
         var cities = _cityLogic.GetCities().Result;
         if (!cities.Any(x => x.CityId == filter.CityId))
         {
             return(false, ErrorDictionary.GetErrorMessage(30, _culture));
         }
     }
     if (filter.EventTypes != null && filter.EventTypes.Any())
     {
         foreach (var type in filter.EventTypes)
         {
             if (!Enum.IsDefined(typeof(EventType), type))
             {
                 return(false, ErrorDictionary.GetErrorMessage(14, _culture));
             }
         }
     }
     return(true, string.Empty);
 }
Exemplo n.º 13
0
 public (bool ValidationResult, string ValidationMessage) ValidateAddReport(EventReportModel model)
 {
     if (!_eventRepository.CheckEventExistence(model.EventUid).Result)
     {
         return(false, ErrorDictionary.GetErrorMessage(10, _culture));
     }
     return(true, string.Empty);
 }
Exemplo n.º 14
0
 public (bool ValidationResult, string ValidationMessage) ValidateGetPerson(Guid personUid)
 {
     if (!_personRepository.CheckPersonExistence(personUid).Result)
     {
         return(false, ErrorDictionary.GetErrorMessage(2, _culture));
     }
     return(true, string.Empty);
 }
Exemplo n.º 15
0
 public (bool ValidationResult, string ValidationMessage) ValidateAddReport(PersonReportModel model)
 {
     if (!_personRepository.CheckPersonExistence(model.PersonUid).Result)
     {
         return(false, ErrorDictionary.GetErrorMessage(2, _culture));
     }
     return(true, string.Empty);
 }
Exemplo n.º 16
0
 public (bool ValidationResult, string ValidationMessage) ValidateGetImage(Guid uid)
 {
     if (!_imageRepository.CheckImageExistance(uid.ToString()).Result)
     {
         return(false, ErrorDictionary.GetErrorMessage(12, _culture));
     }
     return(true, string.Empty);
 }
Exemplo n.º 17
0
 public (bool ValidationResult, string ValidationMessage) ValidateAddEvent(AddEventModel model)
 {
     if (string.IsNullOrWhiteSpace(model.Name))
     {
         return(false, ErrorDictionary.GetErrorMessage(16, _culture));
     }
     if (!Enum.IsDefined(typeof(EventStatus), model.Status))
     {
         return(false, ErrorDictionary.GetErrorMessage(13, _culture));
     }
     if (model.Types == null || !model.Types.Any())
     {
         return(false, ErrorDictionary.GetErrorMessage(36, _culture));
     }
     else
     {
         if (model.Types.Count != model.Types.Distinct().Count())
         {
             return(false, ErrorDictionary.GetErrorMessage(37, _culture));
         }
         if (model.Types.Count > 3)
         {
             return(false, ErrorDictionary.GetErrorMessage(35, _culture));
         }
         foreach (var type in model.Types)
         {
             if (!Enum.IsDefined(typeof(EventType), type))
             {
                 return(false, ErrorDictionary.GetErrorMessage(14, _culture));
             }
         }
     }
     if (model.StartTime > model.EndTime)
     {
         return(false, ErrorDictionary.GetErrorMessage(42, _culture));
     }
     if (model.MinAge.HasValue && model.MaxAge.HasValue && model.MinAge > model.MaxAge)
     {
         return(false, ErrorDictionary.GetErrorMessage(15, _culture));
     }
     if (model.IsOnline.HasValue && !model.IsOnline.Value && !model.CityId.HasValue)
     {
         return(false, ErrorDictionary.GetErrorMessage(31, _culture));
     }
     if (model.IsOnline.HasValue && model.IsOnline.Value && model.CityId.HasValue)
     {
         return(false, ErrorDictionary.GetErrorMessage(32, _culture));
     }
     if (model.CityId.HasValue)
     {
         var cities = _cityLogic.GetCities().Result;
         if (!cities.Any(x => x.CityId == model.CityId))
         {
             return(false, ErrorDictionary.GetErrorMessage(30, _culture));
         }
     }
     return(true, string.Empty);
 }
Exemplo n.º 18
0
        public override void Remove(string key)
        {
            var item = ErrorDictionary.FirstOrDefault(e => e.PropertyName == key);

            if (item != null)
            {
                ErrorDictionary.Remove(item);
            }
        }
Exemplo n.º 19
0
        public (bool ValidationResult, string ValidationMessage) ValidateAddChatMessage(AddMessageModel request, Guid personUid)
        {
            var personChatList = _chatLogic.GetPersonChatList(personUid).Result;

            if (!personChatList.Any(x => x.ChatUid == request.ChatUid))
            {
                return(false, ErrorDictionary.GetErrorMessage(20, _culture));
            }
            return(true, string.Empty);
        }
Exemplo n.º 20
0
 public (bool ValidationResult, string ValidationMessage) ValidateAddChat(List <Guid> chatParticipants)
 {
     foreach (var personUid in chatParticipants)
     {
         if (!_personRepository.CheckPersonExistence(personUid).Result)
         {
             return(false, ErrorDictionary.GetErrorMessage(2, _culture));
         }
     }
     return(true, string.Empty);
 }
Exemplo n.º 21
0
 public (bool ValidationResult, string ValidationMessage) ValidateUpdateEvent(UpdateEventModel model)
 {
     if (!_eventRepository.CheckEventExistence(model.EventUid).Result)
     {
         return(false, ErrorDictionary.GetErrorMessage(10, _culture));
     }
     if (model.Status.HasValue && !Enum.IsDefined(typeof(EventStatus), model.Status))
     {
         return(false, ErrorDictionary.GetErrorMessage(13, _culture));
     }
     if (model.Types != null)
     {
         if (model.Types.Count != model.Types.Distinct().Count())
         {
             return(false, ErrorDictionary.GetErrorMessage(37, _culture));
         }
         if (model.Types.Count > 3)
         {
             return(false, ErrorDictionary.GetErrorMessage(35, _culture));
         }
         foreach (var type in model.Types)
         {
             if (!Enum.IsDefined(typeof(EventType), type))
             {
                 return(false, ErrorDictionary.GetErrorMessage(14, _culture));
             }
         }
     }
     if (model.MinAge.HasValue && model.MaxAge.HasValue && model.MinAge > model.MaxAge)
     {
         return(false, ErrorDictionary.GetErrorMessage(15, _culture));
     }
     if (model.StartTime.HasValue && model.EndTime.HasValue && model.StartTime > model.EndTime)
     {
         return(false, ErrorDictionary.GetErrorMessage(42, _culture));
     }
     if (model.CityId.HasValue)
     {
         var cities = _cityLogic.GetCities().Result;
         if (!cities.Any(x => x.CityId == model.CityId))
         {
             return(false, ErrorDictionary.GetErrorMessage(30, _culture));
         }
     }
     if (model.PrimaryImage != null && model.PrimaryImage.Any())
     {
         var eventModel = _eventRepository.GetEvent(model.EventUid).Result;
         if (eventModel.EventImageContentEntities.Any(x => x.IsPrimary.HasValue && x.IsPrimary.Value))
         {
             return(false, ErrorDictionary.GetErrorMessage(46, _culture));
         }
     }
     return(true, string.Empty);
 }
Exemplo n.º 22
0
 public (bool ValidationResult, string ValidationMessage) ValidateFeedback(FeedbackModel model)
 {
     if (string.IsNullOrWhiteSpace(model.Text))
     {
         return(false, ErrorDictionary.GetErrorMessage(39, _culture));
     }
     if (model.Images != null && model.Images.Count > 10)
     {
         return(false, ErrorDictionary.GetErrorMessage(40, _culture));
     }
     return(true, string.Empty);
 }
Exemplo n.º 23
0
 public (bool ValidationResult, string ValidationMessage) ValidateRejectRandomPerson(Guid eventUid, Guid personUid)
 {
     if (!_personRepository.CheckPersonExistence(personUid).Result)
     {
         return(false, ErrorDictionary.GetErrorMessage(2, _culture));
     }
     if (!_eventRepository.CheckEventExistence(eventUid).Result)
     {
         return(false, ErrorDictionary.GetErrorMessage(10, _culture));
     }
     return(true, string.Empty);
 }
Exemplo n.º 24
0
 public (bool ValidationResult, string ValidationMessage) ValidateGetNewChatMessages(Guid chatUid, Guid?messageUid)
 {
     if (!_chatRepository.CheckChatExistence(chatUid).Result)
     {
         return(false, ErrorDictionary.GetErrorMessage(19, _culture));
     }
     if (messageUid.HasValue && !_chatRepository.CheckChatMessageExistence(messageUid.Value).Result)
     {
         return(false, ErrorDictionary.GetErrorMessage(11, _culture));
     }
     return(true, string.Empty);
 }
Exemplo n.º 25
0
        public void AsULTest1()
        {
            ErrorDictionary target = new ErrorDictionary();
            string          actual;
            string          errorClass = "errors";

            ErrorCollection field1 = new ErrorCollection();

            field1.Add("Test 1");
            target.Add("field1", field1);
            actual = target.AsUL(errorClass);
            Assert.AreEqual("<ul class=\"errors\"><li><ul class=\"errors\"><li><label for=\"id_field1\">Test 1</label></li></ul></li></ul>", actual);
        }
        public static ErrorDictionary GetErrorDictionary(this ModelStateDictionary modelState)
        {
            var errors = new ErrorDictionary();

            foreach (var model in modelState)
            {
                foreach (var error in model.Value.Errors)
                {
                    errors.Add(model.Key, error.ErrorMessage);
                }
            }

            return errors;
        }
Exemplo n.º 27
0
        public (bool ValidationResult, string ValidationMessage) ValidateMuteChat(Guid chatUid, Guid personUid)
        {
            if (!_chatRepository.CheckChatExistence(chatUid).Result)
            {
                return(false, ErrorDictionary.GetErrorMessage(19, _culture));
            }
            var personChatList = _chatLogic.GetPersonChatList(personUid).Result;

            if (!personChatList.Any(x => x.ChatUid == chatUid))
            {
                return(false, ErrorDictionary.GetErrorMessage(20, _culture));
            }
            return(true, string.Empty);
        }
Exemplo n.º 28
0
        public (bool ValidationResult, string ValidationMessage) ValidateFriendship(Guid personUid, Guid friendUid)
        {
            var isFriendExists = _personRepository.GetPerson(friendUid).Result != null;

            if (!_personRepository.CheckPersonFriendExistence(personUid, friendUid).Result)
            {
                return(false, ErrorDictionary.GetErrorMessage(17, _culture));
            }
            if (!isFriendExists)
            {
                return(false, ErrorDictionary.GetErrorMessage(2, _culture));
            }

            return(true, string.Empty);
        }
Exemplo n.º 29
0
 public string this[string columnName]
 {
     get
     {
         if (PreValidation)
         {
             return(this.ValidateProperty(columnName));
         }
         if (ErrorDictionary.ContainsKey(columnName))
         {
             return(ErrorDictionary[columnName]);
         }
         return(string.Empty);
     }
 }
Exemplo n.º 30
0
        public (bool ValidationResult, string ValidationMessage) ValidateGetAccessToken(AuthorizationPersonModel person, string refreshToken)
        {
            if (string.IsNullOrWhiteSpace(refreshToken))
            {
                return(false, ErrorDictionary.GetErrorMessage(8, _culture));
            }
            if (person == null)
            {
                return(false, ErrorDictionary.GetErrorMessage(2, _culture));
            }
            if (person.RefreshToken != refreshToken)
            {
                return(false, ErrorDictionary.GetErrorMessage(4, _culture));
            }

            return(true, string.Empty);
        }
Exemplo n.º 31
0
        public async Task <ActionResult <PersonModel> > GetRandomPerson(RandomPersonFilter randomPersonFilter)
        {
            var uid = new Guid(HttpContext.Request.Headers[AuthorizationHeaders.PersonUid].First());
            var validationResult = _personValidation.ValidateGetRandomPerson(randomPersonFilter);

            if (!validationResult.ValidationResult)
            {
                return(BadRequest(validationResult.ValidationMessage));
            }
            var randomEvent = await _personLogic.GetRandomPerson(randomPersonFilter, uid);

            if (randomEvent == null)
            {
                return(BadRequest(ErrorDictionary.GetErrorMessage(27, CultureParser.GetCultureFromHttpContext(HttpContext))));
            }
            return(randomEvent);
        }
Exemplo n.º 32
0
 public JsonResult JsonError(ErrorDictionary errors)
 {
     Response.StatusCode = 418;
     return Json(new { errors });
 }