1. C# / Говнокод #23290

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    var vals =
                            tagsTypes.Zip(times,
                                (tagType, time) =>
                                {
                                    if (error != null)
                                        return new { time = time, val = (object)ServiceValue.DataSourceNotAvailable };
                                    if (!timedVals.ContainsKey(tagType.tag))
                                        return new { time = time, val = (object)ServiceValue.NoValue };
                                    if (timedVals[tagType.tag].Count == 0)
                                        return new { time = time, val = (object)ServiceValue.NoValue };
                                    var value = timedVals[tagType.tag].Find(x => x.TimestampUTC == time.ToUniversalTime() && x.Value!=null);
                                    if (value != null && value.IsGood())
                                    {
                                        if (value.Value == null)
                                            return new { time = time, val = (object)ServiceValue.Error };
                                        else
                                        {
                                            if (!string.IsNullOrEmpty(value.DigitalSetValue))
                                                return new { time = time, val = (object)value.DigitalSetValue };
                                            return new { time = time, val = value.Value };
                                        }
                                    }
                                    else
                                    {
                                        var val = _connection.GetTagByName(tagType.tag).Data.ArcValue(time, RetrievalTypeConstants.rtAuto);
                                        if (!string.IsNullOrEmpty(val.DigitalSetValue))
                                            return new { time = time, val = (object)val.DigitalSetValue };
                                        return new { time = time, val = val.Value };
                                    }
                                        return new { time = time, val = (object)ServiceValue.Error };                            
    
                                }).ToArray();

    давайте ка рассортируем значения по аттрибутам

    Запостил: gogolevsergey, 23 Августа 2017

    Комментарии (1) RSS

    • Ох уж это рачье, не могущее убрать отступы перед постингом
      Ответить

    Добавить комментарий