예제 #1
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,AccountName,TotalClientAmountOut")] ReportAccount reportAccount)
        {
            if (id != reportAccount.id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(reportAccount);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ReportAccountExists(reportAccount.id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(reportAccount));
        }
        public void Do_not_include_account_with_zero_payment_into_invoice()
        {
            var account = new ReportAccount(new Report {
                Allow = true,
                Payer = new Payer("Тестовый плательщик")
            });

            Assert.That(account.ShouldPay(), Is.False);
        }
예제 #3
0
        public static ReportAccount Report(Payer payer)
        {
            var report = new Report {
                Allow   = true,
                Comment = "тестовый отчет",
                Payer   = payer,
            };
            var account = new ReportAccount(report);

            return(account);
        }
예제 #4
0
        public async Task <IActionResult> Create([Bind("Id,AccountName,TotalClientAmountOut")] ReportAccount reportAccount)
        {
            if (ModelState.IsValid)
            {
                _context.Add(reportAccount);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(reportAccount));
        }
        public void Setup()
        {
            payer   = DataMother.CreatePayer();
            account = DataMother.Report(payer);
            report  = account.Report;
            session.Save(payer);
            session.Save(account);

            payer.Reports.Add(report);
            account.Payment = 5000;
            session.Save(payer);
        }
예제 #6
0
        private ReportAccount GetReport(DateTime date, Guid id)
        {
            var report = new ReportAccount
            {
                AccountId           = id,
                AccountName         = GetAccountName(id),
                InvoiceTotal        = GetInvoiceTotal(date, id),
                WorkDoneAndInvoiced = GetWorkDoneAndInvoiced(date, id),
                WorkDoneTotal       = GetWorkDoneTotal(date, id)
            };

            return(report);
        }
        public void SetUp()
        {
            client = DataMother.CreateTestClientWithAddressAndUser();
            payer  = client.Payers.First();

            account = DataMother.Report(payer);
            report  = account.Report;
            session.Save(account);

            payer.Recipient = session.Query <Recipient>().First();
            payer.Reports.Add(report);

            Open(payer);
            AssertText("Плательщик");
        }
        public async Task <IHttpActionResult> ReportAccount([FromBody] ReportAccount form)
        {
            try
            {
                //find id account vs username
                var findAccount = db.accounts.Where(a => a.username == form.username).FirstOrDefault();
                if (findAccount != null)
                {
                    if (db.report_account.Where(a => a.account_id == findAccount.id).FirstOrDefault() == null)
                    {
                        var report = new report_account
                        {
                            account_id = findAccount.id,
                            username   = findAccount.username,
                            create_at  = DateTime.Now
                        };
                        db.report_account.Add(report);
                        int check = await db.SaveChangesAsync();

                        if (check > 0)
                        {
                            var smg = new ResponseMsg();
                            smg.message = "Report successful.";
                            return(Ok(smg));
                        }
                        else
                        {
                            return(BadRequest("Report account fails."));
                        }
                    }
                    else
                    {
                        return(BadRequest("Account have been reported."));
                    }
                }
                else
                {
                    return(BadRequest("Dont find account"));
                }
            }
            catch
            {
                return(BadRequest("Error."));
            }
        }
예제 #9
0
        public void Update_report_account()
        {
            var report = new Report {
                Allow   = true,
                Comment = "тестовый отчет",
                Payer   = payer
            };
            var account = new ReportAccount(report);

            session.Save(account);
            Flush();

            controller.Update(account.Id, true, null, true, 500, null, null);
            Flush();

            session.Refresh(account);
            Assert.That(account.Payment, Is.EqualTo(500));
            Assert.That(account.BeAccounted, Is.True);
        }
예제 #10
0
        protected override void Process()
        {
            Session.CreateSQLQuery(@"delete a from Billing.Accounts a
left join Reports.general_reports gr on a.ObjectId = gr.GeneralReportCode
where gr.GeneralReportCode is null and a.Type = 2")
            .ExecuteUpdate();

            var ids = Session.CreateSQLQuery(
                @"select GeneralReportCode
from Reports.general_reports gr
left join Billing.Accounts a on a.ObjectId = gr.GeneralReportCode and a.Type = 2
where a.Id is null")
                      .List <object>();

            foreach (var id in ids)
            {
                var report  = Session.Load <Report>(Convert.ToUInt32(id));
                var account = new ReportAccount(report);
                Session.Save(account);
            }
        }