LCOV - code coverage report
Current view: top level - Cqrs.WebApi/Formatters/FormMultipart/Infrastructure - FormData.cs Hit Total Coverage
Test: doc-coverage.info Lines: 0 11 0.0 %
Date: 2017-07-26

          Line data    Source code
       1             : using System.Collections.Generic;
       2             : using System.Globalization;
       3             : using System.Linq;
       4             : 
       5             : namespace Cqrs.WebApi.Formatters.FormMultipart.Infrastructure
       6             : {
       7             :         public class FormData
       8           0 :         {
       9             :                 private List<ValueFile> _files;
      10             : 
      11             :                 private List<ValueString> _fields;
      12             : 
      13             :                 public List<ValueFile> Files
      14             :                 {
      15             :                         get
      16             :                         {
      17             :                                 if(_files == null)
      18             :                                         _files = new List<ValueFile>();
      19             :                                 return _files;
      20             :                         }
      21             :                         set
      22             :                         {
      23             :                                 _files = value;
      24             :                         }
      25             :                 }
      26             : 
      27             :                 public List<ValueString> Fields
      28             :                 {
      29             :                         get
      30             :                         {
      31             :                                 if(_fields == null)
      32             :                                         _fields = new List<ValueString>();
      33             :                                 return _fields;
      34             :                         }
      35             :                         set
      36             :                         {
      37             :                                 _fields = value;
      38             :                         }
      39             :                 }
      40             : 
      41           0 :                 public List<string> GetAllKeys()
      42             :                 {
      43             :                         return Fields.Select(m => m.Name).Concat(Files.Select(m => m.Name)).ToList();
      44             :                 }
      45             : 
      46           0 :                 public void Add(string name, string value)
      47             :                 {
      48             :                         Fields.Add(new ValueString { Name = name, Value = value});
      49             :                 }
      50             : 
      51           0 :                 public void Add(string name, HttpFile value)
      52             :                 {
      53             :                         Files.Add(new ValueFile { Name = name, Value = value });
      54             :                 }
      55             : 
      56           0 :                 public bool TryGetValue(string name, CultureInfo culture, out string value)
      57             :                 {
      58             :                         var field = Fields.FirstOrDefault(m => culture.CompareInfo.Compare(m.Name, name, CompareOptions.IgnoreCase) == 0);
      59             :                         if (field != null)
      60             :                         {
      61             :                                 value = field.Value;
      62             :                                 return true;
      63             :                         }
      64             :                         value = null;
      65             :                         return false;
      66             :                 }
      67             : 
      68           0 :                 public bool TryGetValue(string name, CultureInfo culture, out HttpFile value)
      69             :                 {
      70             :                         var field = Files.FirstOrDefault(m => culture.CompareInfo.Compare(m.Name, name, CompareOptions.IgnoreCase) == 0);
      71             :                         if (field != null)
      72             :                         {
      73             :                                 value = field.Value;
      74             :                                 return true;
      75             :                         }
      76             :                         value = null;
      77             :                         return false;
      78             :                 }
      79             : 
      80           0 :                 public List<string> GetValues(string name, CultureInfo culture)
      81             :                 {
      82             :                         return Fields
      83             :                                 .Where(m => culture.CompareInfo.Compare(m.Name, name, CompareOptions.IgnoreCase) == 0)
      84             :                                 .Select(m => m.Value)
      85             :                                 .ToList();
      86             :                 }
      87             : 
      88           0 :                 public List<HttpFile> GetFiles(string name, CultureInfo culture)
      89             :                 {
      90             :                         return Files
      91             :                                 .Where(m => culture.CompareInfo.Compare(m.Name, name, CompareOptions.IgnoreCase) == 0)
      92             :                                 .Select(m => m.Value)
      93             :                                 .ToList();
      94             :                 }
      95             : 
      96           0 :                 public bool Contains(string name, CultureInfo culture)
      97             :                 {
      98             :                         string val;
      99             :                         HttpFile file;
     100             : 
     101             :                         return TryGetValue(name, culture, out val) || TryGetValue(name, culture, out file);
     102             :                 }
     103             : 
     104             :                 public class ValueString
     105           0 :                 {
     106             :                         public string Name { get; set; }
     107             :                         public string Value { get; set; }
     108             :                 }
     109             : 
     110             :                 public class ValueFile
     111           0 :                 {
     112             :                         public string Name { get; set; }
     113             :                         public HttpFile Value { get; set; }
     114             :                 }
     115             :         }
     116             : }

Generated by: LCOV version 1.10