Example #1
0
        protected override List <LeaseDTO> GetLeases(MarketStateDbBase mkt, int secId)
        {
            var all = mkt.GetAllLeases();

            return(secId == 0 ? all
                : all.Where(_ => _.Stall.Section.Id == secId).ToList());
        }
Example #2
0
        private IEnumerable <InactiveLeaseDTO> GetInactiveLeases(MarketStateDbBase mkt, DateTime asOfDate)
        {
            var minYr = asOfDate.Year - mkt.YearsBackCount;

            return(mkt.InactiveLeases.GetAll()
                   .Where(_ => _.ContractStart.Year >= minYr));
        }
Example #3
0
        protected override List <LeaseDTO> GetLeases(MarketStateDbBase mkt, int secId)
        {
            var all      = mkt.ActiveLeases.GetAll();
            var filtered = secId == 0 ? all
                         : all.Where(_ => _.Stall.Section.Id == secId);

            return(filtered.OrderByDescending(_ => _.Id).ToList());
        }
Example #4
0
 public BalancesLocalDir(ITenantDBsDir tenantDBsDir)
 {
     _dir = tenantDBsDir;
     _mkt = _dir.MarketState;
     //_mkt = marketStateDB;
     _foldrPath    = FindBalancesDir(_mkt.DatabasePath);
     _mkt.Balances = this;
 }
Example #5
0
 public CollectionsLocalDir(ITenantDBsDir tenantDBsDir)
 {
     _dir = tenantDBsDir;
     _mkt = _dir.MarketState;
     //_mkt             = marketStateDB;
     _foldrPath       = FindCollectionsDir(_mkt.DatabasePath);
     _mkt.Collections = this;
 }
Example #6
0
        public override void ReplaceAll(IEnumerable <LeaseDTO> newRecords, MarketStateDbBase mkt)
        {
            var actives = newRecords.Where(_ => !(_ is InactiveLeaseDTO));
            var inactvs = newRecords.Where(_ => _ is InactiveLeaseDTO)
                          .Select(_ => _ as InactiveLeaseDTO);

            mkt.ActiveLeases.DropAndInsert(actives, true, false);
            mkt.InactiveLeases.DropAndInsert(inactvs, true, false);
        }
Example #7
0
 public CollectionsDB1(DateTime date, IKeyValueStore metadataRepo, MarketStateDbBase marketStateDB, string databasePath)
 {
     Meta               = metadataRepo;
     _mkt               = marketStateDB;
     DatabasePath       = databasePath;
     Date               = date;
     SectionsSnapshot   = LoadSnapshot <SectionDTO>(SEC_SNAPS_KEY);
     CollectorsSnapshot = LoadSnapshot <CollectorDTO>(COL_SNAPS_KEY);
 }
Example #8
0
        public static void UndoLeaseTermination(this MarketStateDbBase mkt, InactiveLeaseDTO inactiveLeaseDTO)
        {
            //todo: reject if stall is in use
            var activ = new LeaseDTO();

            activ.CopyByNameFrom(inactiveLeaseDTO as LeaseDTO);
            mkt.ActiveLeases.Insert(activ);
            mkt.InactiveLeases.Delete(inactiveLeaseDTO);
        }
Example #9
0
        public static bool TryPick(MarketStateDbBase marketStateDB, out StallDTO stall)
        {
            var win = CreateWindow();
            var vm  = new StallPickerVM(marketStateDB, win);
            var res = win.ShowDialog();

            stall = vm.PickedStall;
            return(res == true && stall != null);
        }
Example #10
0
        protected override List <LeaseDTO> GetLeases(MarketStateDbBase mkt, int secId)
        {
            var all = mkt.ActiveLeases.GetAll()
                      .Where(_ => IsUpcomingBirthday(_.Tenant.BirthDate))
                      .OrderBy(_ => BirthDayNow(_.Tenant.BirthDate))
                      .ToList();

            return(secId == 0 ? all
                : all.Where(_ => _.Stall.Section.Id == secId).ToList());
        }
Example #11
0
        internal static string GetDbPath(MarketStateDbBase mkt)
        {
            var dir    = Path.GetDirectoryName(mkt.DatabasePath);
            var dbPath = Path.Combine(dir, FILENAME);

            //if (!File.Exists(dbPath))
            //    throw Missing.File(dbPath, "Passbook DB file");

            return(dbPath);
        }
Example #12
0
        private static IEnumerable <StallDTO> GetVacantsFor(int secID, MarketStateDbBase mkt)
        {
            var occupieds = mkt.ActiveLeases.GetAll()
                            .Where(_ => _.Stall.Section.Id == secID)
                            .Select(_ => _.Stall.Id)
                            .ToList();

            return(mkt.Stalls.ForSection(secID)
                   .Where(_ => !occupieds.Contains(_.Id) &&
                          _.IsOperational)
                   .ToList());
        }
Example #13
0
 internal StallPickerVM(MarketStateDbBase marketStateDB, Window window)
 {
     _mkt = marketStateDB;
     _win = window;
     if (_win != null)
     {
         _win.DataContext = this;
     }
     _occupiedIDs = GetOccupiedStallIDs();
     Sections.SetItems(marketStateDB.Sections.GetAll());
     ContinueCmd = R2Command.Relay(DoContinue, _ => CanContinue(), "Continue");
 }
Example #14
0
        private static void EditStallTemplate(MarketStateDbBase mkt, int secId)
        {
            var repo = mkt.Sections;
            var sec  = repo.Find(secId, true);

            sec.StallTemplate.DefaultRent
            .PenaltyRule = RentPenalty.ZeroBackrent;

            if (!repo.Update(sec))
            {
                throw Bad.Data("Update(sec) did NOT return true.");
            }
        }
Example #15
0
        public static InactiveLeaseDTO DeactivateLease(this MarketStateDbBase mkt, LeaseDTO lse,
                                                       string reason, DateTime deactivationDate)
        {
            if (lse is InactiveLeaseDTO)
            {
                throw Bad.State <LeaseDTO>("Inactive", "Active");
            }

            var inactv = new InactiveLeaseDTO(lse, reason, deactivationDate, mkt.CurrentUser);

            mkt.InactiveLeases.Insert(inactv);

            return(inactv);
        }
Example #16
0
        public static StallDTO PickFirstVacant(MarketStateDbBase mkt)
        {
            var vm = new StallPickerVM(mkt, null);

            foreach (var sec in vm.Sections)
            {
                vm.PickedSection = sec;
                if (vm.Stalls.Any())
                {
                    return(vm.Stalls.First());
                }
            }
            throw No.Match <StallDTO>("state", "vacant");
        }
Example #17
0
        public StallsInventoryReport(ICollectionsDB colxns, MarketStateDbBase mkt)
        {
            var sections = colxns.SectionsSnapshot ?? mkt.Sections.GetAll();

            foreach (var sec in sections)
            {
                var row = new StallsInventoryRow(sec, colxns);
                if (row.TotalCount > 0)
                {
                    this.Add(row);
                }
            }

            this.SetSummary(new StallsInventoryTotal(this));
        }
Example #18
0
        public override void ReplaceAll(IEnumerable <IDocumentDTO> records, MarketStateDbBase mkt)
        {
            var actives = records.Where(_ => !(_ is InactiveLeaseDTO))
                          .Select(_ => _ as LeaseDTO);

            var inactvs = records.Where(_ => _ is InactiveLeaseDTO)
                          .Select(_ => _ as InactiveLeaseDTO);

            mkt.ActiveLeases.DropAndInsert(actives, true, false);
            mkt.InactiveLeases.DropAndInsert(inactvs, true, false);

            //var tupl = records.SegregateByTermination(_lastClosedDate);
            //mkt.ActiveLeases  .DropAndInsert(tupl.Actives  , true, false);
            //mkt.InactiveLeases.DropAndInsert(tupl.Inactives, true, false);
        }
Example #19
0
 public override void ReplaceAll(IEnumerable <IDocumentDTO> documents, MarketStateDbBase mkt)
 => mkt.BankAccounts.DropAndInsert(documents
                                   .Select(_ => _ as BankAccountDTO), true, false);
Example #20
0
 public abstract void     ReplaceAll(IEnumerable <T> newRecords, MarketStateDbBase mkt);
Example #21
0
 public override void ReplaceAll(IEnumerable <IDocumentDTO> docs, MarketStateDbBase mkt)
 => mkt.Collectors.DropAndInsert(docs
                                 .Select(_ => _ as CollectorDTO), true, false);
Example #22
0
 public abstract void               ReplaceAll(IEnumerable <IDocumentDTO> documents, MarketStateDbBase marketStateDB);
Example #23
0
 public override void ReplaceAll(IEnumerable <GLAccountDTO> newRecords, MarketStateDbBase mkt)
 => mkt.GLAccounts.DropAndInsert(newRecords, true, false);
Example #24
0
 public TransactionsByMonthDir(MarketStateDbBase marketStateDB)
 {
     _dir       = GetTransactionsDir(marketStateDB.DatabasePath);
     _usr       = marketStateDB.CurrentUser;
     _pbkDbPath = GetPassbookDbPath(marketStateDB.DatabasePath);
 }
Example #25
0
 public JournalsByMonthDir(MarketStateDbBase marketStateDB)
 {
     _usr   = marketStateDB.CurrentUser;
     _foldr = FindJournalsFolder(marketStateDB.DatabasePath);
 }
Example #26
0
        public List <PassbookRowDTO> RowsFromAllAccounts(DateTime startDate, DateTime endDate, MarketStateDbBase marketStateDB)
        {
            var acctIDs = marketStateDB.BankAccounts.GetAll().Select(_ => _.Id);
            var repos   = acctIDs.Select(id => GetRepo(id));

            return(repos.SelectMany(r
                                    => r.RowsFor(startDate, endDate)).ToList());
        }
Example #27
0
        public static void UpdateAllLists(this Dictionary <int, IVacantStallsRepo> dict, MarketStateDbBase marketState)
        {
            foreach (var keyVal in dict)
            {
                var repo = keyVal.Value;
                var recs = GetVacantsFor(keyVal.Key, marketState);

                //repo.Drop();
                //repo.Insert(recs, true);
                repo.DropAndInsert(recs, true, true);
            }
        }
Example #28
0
        public override void ReplaceAll(IEnumerable <BalanceAdjustmentDTO> newRecords, MarketStateDbBase mkt)
        {
            foreach (var adj in newRecords)
            {
                var date   = _adjDates[adj.Id];
                var colxns = mkt.Collections.For(date)
                             ?? mkt.Collections.CreateFor(date);
                var adjs = colxns.BalanceAdjs;
                adjs.Upsert(adj);
            }

            var start = _lse.ContractStart;
            var end   = Main.ByfServer.LastPostedDate;
            var bals  = mkt.Balances.GetRepo(_lse.Id);

            foreach (var day in start.EachDayUpTo(end))
            {
                var recId = day.DaysSinceMin();
                if (!bals.HasId(recId))
                {
                    bals.ProcessBalancedDay(day);
                }
            }
        }
Example #29
0
 public override void ReplaceAll(IEnumerable <SectionDTO> newRecords, MarketStateDbBase mkt)
 => mkt.Sections.DropAndInsert(newRecords, true, false);
Example #30
0
 public override void ReplaceAll(IEnumerable <IDocumentDTO> records, MarketStateDbBase mkt)
 => mkt.Sections.DropAndInsert(records
                               .Select(_ => _ as SectionDTO), true, false);