Ejemplo n.º 1
0
        public void SetCondFormating(string ExcelCondFormating)
        {
            if (string.IsNullOrWhiteSpace(ExcelCondFormating))
            {
                if (AdditionalEventTypes != null)
                {   // Удаляем все флаги кроме "неявка" и "снят"
                    AdditionalEventTypes = AdditionalEventTypes.Value & (enAdditionalEventTypes.DontAppear | enAdditionalEventTypes.Disqualif);
                }
                CondFormating = null;
            }
            else
            {
                byte res = 0;
                if (byte.TryParse(ExcelCondFormating, out res))
                {
                    enAdditionalEventTypes EventTypes = res.GetAdditionalEventTypes();
                    enCondFormating        Formating  = res.GetCondFormating();

                    if (Enum.IsDefined(typeof(enCondFormating), Formating))
                    {
                        CondFormating = Formating == enCondFormating.None ? null : (enCondFormating?)Formating;
                    }
                    else
                    {
                        CondFormating = null;
                    }

                    if (Enum.IsDefined(typeof(enAdditionalEventTypes), EventTypes))
                    {
                        if (AdditionalEventTypes.HasValue)
                        {
                            AdditionalEventTypes = (AdditionalEventTypes.Value & (enAdditionalEventTypes.DontAppear | enAdditionalEventTypes.Disqualif)) | EventTypes;
                        }
                        else
                        {
                            AdditionalEventTypes = EventTypes;
                        }
                    }
                    else
                    {
                        if (AdditionalEventTypes != null)
                        {   // Удаляем все флаги кроме "неявка" и "снят"
                            AdditionalEventTypes = AdditionalEventTypes.Value & (enAdditionalEventTypes.DontAppear | enAdditionalEventTypes.Disqualif);
                        }
                    }
                }
            }
        }
Ejemplo n.º 2
0
 public void ClearAdditionalEvents(enResultColumnNumber Columns, enAdditionalEventTypes flags)
 {
     event_1   = ClearAdditionalEvent(event_1, Columns, flags);
     event_2   = ClearAdditionalEvent(event_2, Columns, flags);
     event_sum = ClearAdditionalEvent(event_sum, Columns, flags);
 }
Ejemplo n.º 3
0
        public long?ClearAdditionalEvent(long?EventInDB, enResultColumnNumber Columns, enAdditionalEventTypes flags)
        {
            if (EventInDB.HasValue)
            {
                if (Columns.HasFlag(enResultColumnNumber.Route1))
                {
                    EventInDB = EventInDB & ~(long)flags;
                }
                if ((enAdditionalEventTypes?)EventInDB == enAdditionalEventTypes.None)
                {
                    EventInDB = null;
                }
            }

            return(EventInDB);
        }