Pokaż
Ignoruj:
Data:
2009-10-02 13:15:40 (17 years ago)
Autor:
alina
Opis:

fix #207, #193, #205

Lokalizacja:
trunk/Wierszowki/Wierszowki.Services
Pliki:
2 zmodyfikowane

Legenda:

Bez zmian
Dodane
Usunięte
  • trunk/Wierszowki/Wierszowki.Services/DataAnnotationsValidationRunner.cs

    r752 r842  
    1212    { 
    1313        public static IEnumerable<ErrorInfo> GetErrors(object instance) 
    14         { 
    15             return from prop in TypeDescriptor.GetProperties(instance).Cast<PropertyDescriptor>() 
     14        {    
     15            List<ErrorInfo> errors = new List<ErrorInfo>(); 
     16 
     17                IEnumerable<PropertyDescriptor> properties = TypeDescriptor.GetProperties(instance).Cast<PropertyDescriptor>(); 
     18                foreach (PropertyDescriptor prop in properties) { 
     19                    IEnumerable<ValidationAttribute> attributes = prop.Attributes.OfType<ValidationAttribute>(); 
     20 
     21                int empty = 2; 
     22                object pom = prop.GetValue(instance); 
     23                if (pom != null) 
     24                { 
     25                    object typek = pom.GetType(); 
     26                    if (pom.GetType().Name == "Int32") 
     27                    { 
     28                        empty = Convert.ToInt32(pom); 
     29                    } 
     30                }                                 
     31                foreach (ValidationAttribute attribute in attributes) { 
     32                        if (!attribute.IsValid(prop.GetValue(instance)) || empty == 0) { 
     33                            errors.Add(new ErrorInfo(prop.Name, attribute.FormatErrorMessage(string.Empty), instance)); 
     34                        } 
     35                    } 
     36                } 
     37                return errors; 
     38            /* return from prop in TypeDescriptor.GetProperties(instance).Cast<PropertyDescriptor>() 
    1639                   from attribute in prop.Attributes.OfType<ValidationAttribute>() 
    1740                   where !attribute.IsValid(prop.GetValue(instance)) 
    1841                   select new ErrorInfo(prop.Name, attribute.FormatErrorMessage(string.Empty), instance); 
     42            */ 
    1943        } 
    2044    } 
  • trunk/Wierszowki/Wierszowki.Services/MagazineItemService.cs

    r823 r842  
    3333        public void Create(MagazineItem magazineItem, string currentUser) 
    3434        { 
     35 
    3536            var errors = DataAnnotationsValidationRunner.GetErrors(magazineItem); 
    3637            if (errors.Any()) 
     
    3839                throw new RulesException(errors); 
    3940            } 
    40             var errors1 = new List<ErrorInfo>(); 
    41             errors1 = ShowError(magazineItem); 
    42             if (errors1.Count() > 0) throw new RulesException(errors1.AsEnumerable());  
    43  
    4441            var user = _userRepository.FindOne(u => u.Login == currentUser); 
    4542            var now = DateTime.Now; 
     
    5249             
    5350        } 
    54  
    55         private List<ErrorInfo> ShowError(MagazineItem magazineItem) 
    56         { 
    57             var errors1 = new List<ErrorInfo>(); 
    58             if (magazineItem.IssueId <= 0)           
    59             { 
    60                 ErrorInfo e1 = new ErrorInfo("Magazine", "Proszę wybrać gazetę!"); 
    61                 errors1.Add(e1); 
    62                 ErrorInfo e = new ErrorInfo("IssueId", "Proszę wybrać numer wydania!"); 
    63                 errors1.Add(e);             
    64             } 
    65             return errors1; 
    66         } 
    67  
    6851        public void Update(MagazineItem magazineItem, string currentUser) 
    6952        { 
     
    7154            if (errors.Any()) 
    7255                throw new RulesException(errors); 
    73  
    74             var errors1 = new List<ErrorInfo>(); 
    75             errors1 = ShowError(magazineItem); 
    76             if (errors1.Count() > 0) throw new RulesException(errors1.AsEnumerable()); 
    77                           
    7856 
    7957            var user = _userRepository.FindOne(u => u.Login == currentUser); 
     
    9169            magazineItemToUpdate.UpdatedBy = user.Id; 
    9270            magazineItemToUpdate.UpdatedOn = now; 
    93  
    9471            _repository.Update(magazineItemToUpdate); 
    9572        } 
    96         public void Delete(MagazineItem magazineItem) 
     73        public MagazineItem Delete(MagazineItem magazineItem) 
    9774        { 
    9875            var magazineItemToDelete = _repository.FindOne(magazineItem.Id); 
     
    10178                _repository.Delete(magazineItemToDelete); 
    10279            } 
     80            return magazineItemToDelete; 
    10381        } 
    10482    }