コード例 #1
0
        public EditHomeInfoViewModel(Building home, ForbiddenElement rule, HomeInfo homeInfo)
        {
            Home             = home;
            ForbiddenElement = rule;
            HomeInfo         = homeInfo;

            SetTabCount(home, homeInfo);

            Aggresive = CompressArray(ForbiddenElement.Aggressive);
            NoVisit   = CompressArray(ForbiddenElement.NoVisit);
            NoWorried = CompressArray(ForbiddenElement.NoWorried);
            Comments  = ForbiddenElement.Comments;
            Begin     = homeInfo.Begin;

            SaveCommand = new ActionCommand(OnSave);

            var number = new HouseNumber(home.HouseNumber);

            if (number.Housing > 1)
            {
                CountingAlgorythm = Begin == 1
                    ? CountingTypes.Regular
                    : CountingTypes.Custom;
            }

            // Для сравнения
            _sourceAlgorythm = CountingAlgorythm;
            _sourceNumber    = Begin;
        }
コード例 #2
0
 private iDoor ToDoor(Door door, ForbiddenElement element)
 {
     return(new New.Implementation.Classes.Door(door.Street,
                                                door.HouseNumber,
                                                door.Number,
                                                door.Entrance,
                                                GetStatus(element, door.Number),
                                                ToCodes(door.Codes)));
 }
コード例 #3
0
        private DoorStatus GetStatus(ForbiddenElement element, int number)
        {
            var status = DoorStatus.Good;

            if (element.Aggressive.Contains(number))
            {
                status |= DoorStatus.Aggressive;
            }
            if (element.NoWorried.Contains(number))
            {
                status |= DoorStatus.NoWorry;
            }
            if (element.NoVisit.Contains(number))
            {
                status |= DoorStatus.Restricted;
            }

            return(status);
        }