Beispiel #1
0
        public static void SaveOrUpdateOwnRelation(string aborigenId, int flatNumber)
        {
            lock (Locker)
            {
                FlatsProvider.VerifyFlatNumber(flatNumber);

                LoadRelations();

                OwnRelationModel ownRelationModel = ownRelations.FirstOrDefault(relation => relation.OwnerId == aborigenId);
                if (ownRelationModel != null)
                {
                    ownRelationModel.FlatNumber = flatNumber;
                }
                else
                {
                    ownRelations.Add(new OwnRelationModel {
                        FlatNumber = flatNumber, OwnerId = aborigenId
                    });
                }

                using (var context = new SimpleDbContext <OwnRelationModel>())
                {
                    context.Objects.RemoveRange(context.Objects);
                    context.Objects.AddRange(ownRelations);
                    context.SaveChanges();
                }
            }
        }
Beispiel #2
0
        public static AborigenDecoratorViewModel GetFlatOwner(int flatNumber)
        {
            lock (Locker)
            {
                FlatsProvider.VerifyFlatNumber(flatNumber);

                LoadRelations();

                //FlatViewModel flat = FloorsProvider.FindFlatByNumber(flatNumber);
                OwnRelationModel ownRelationModel = ownRelations.FirstOrDefault(relation => relation.FlatNumber == flatNumber);
                if (ownRelationModel == null)
                {
                    return(AborigenDecoratorViewModel.CreateEmptyFake());
                }

                AborigenModel ownerModel = AborigensProvider.GetAborigen(ownRelationModel.OwnerId);

                if (ownerModel == null)
                {
                    return(AborigenDecoratorViewModel.CreateEmptyFake());
                }

                return(AborigenDecoratorViewModel.Create(ownerModel));
            }
        }
Beispiel #3
0
        /// <summary>
        /// Найти номер квартиры, которой владеет данный житель.
        /// </summary>
        /// <param name="aborigenId">Идентификатор жителя.</param>
        /// <returns>Номер квартиры, которой владеет данный житель. Или <see cref="InvalidFlatNumber"/> - если житель ничем не владеет.</returns>
        public static int GetOwnedFlatNumber(string aborigenId)
        {
            lock (Locker)
            {
                LoadRelations();

                OwnRelationModel ownRelationModel = ownRelations.FirstOrDefault(relation => relation.OwnerId == aborigenId);
                if (ownRelationModel != null)
                {
                    return(ownRelationModel.FlatNumber);
                }

                return(InvalidFlatNumber);
                //throw new InvalidOperationException($"Житель с идентификатором '{ aborigenId }' не найден");
            }
        }