Example #1
0
        public ActionResult DeleteConfirmed(int id)
        {
            BudgetBalanceTransaction budgetBalanceTransaction = db.BudgetBalanceTransactions.Find(id);

            db.BudgetBalanceTransactions.Remove(budgetBalanceTransaction);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Example #2
0
 public ActionResult Edit([Bind(Include = "BudgetBalanceTransactionId,BudgetBalanceDeposit,BudgetBalanceDepositSource,BudgetBalanceWithdrawal,BudgetBalanceWithdrawalSource")] BudgetBalanceTransaction budgetBalanceTransaction)
 {
     if (ModelState.IsValid)
     {
         db.Entry(budgetBalanceTransaction).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(budgetBalanceTransaction));
 }
Example #3
0
        public ActionResult Create([Bind(Include = "BudgetBalanceTransactionId,BudgetBalanceDeposit,BudgetBalanceDepositSource,BudgetBalanceWithdrawal,BudgetBalanceWithdrawalSource")] BudgetBalanceTransaction budgetBalanceTransaction)
        {
            if (ModelState.IsValid)
            {
                db.BudgetBalanceTransactions.Add(budgetBalanceTransaction);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(budgetBalanceTransaction));
        }
Example #4
0
        // GET: BudgetBalanceTransactions/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            BudgetBalanceTransaction budgetBalanceTransaction = db.BudgetBalanceTransactions.Find(id);

            if (budgetBalanceTransaction == null)
            {
                return(HttpNotFound());
            }
            return(View(budgetBalanceTransaction));
        }
Example #5
0
        private void CreateInvoice(int?id)
        {
            IncidentalContract incidentalContract = db.IncidentalContracts.Find(id);

            if (incidentalContract == null)
            {
                return;
            }

            var invoice = new Invoice();

            var issuer   = db.UserAccounts.Find(incidentalContract.IncidentalContracProviderId).MunicipalEntity;
            var customer = db.UserAccounts.Find(incidentalContract.IncidentalContracOwnerId).MunicipalEntity;

            invoice.InvoiceIssuerName    = issuer.MunicipalEntityName;
            invoice.InvoiceIssuerAddress = issuer.MunicipalEntityAddress;
            invoice.InvoiceIssuerBtw     = issuer.MunicipalEntityBtw;
            invoice.InvoiceIssuerKvk     = issuer.MunicipalEntityKvk;
            invoice.InvoiceIssuerIban    = issuer.MunicipalEntityIban;

            invoice.InvoiceCustomerName   = customer.MunicipalEntityName;
            invoice.InvoiceCustomeAddress = customer.MunicipalEntityAddress;
            invoice.InvoiceCustomeBtw     = customer.MunicipalEntityBtw;
            invoice.InvoiceCustomeKvk     = customer.MunicipalEntityKvk;

            invoice.InvoiceDescription = "";
            invoice.InvoiceDate        = DateTime.Now.Date;
            invoice.InvoiceDueDate     = DateTime.Now.AddMonths(1).Date;

            decimal InvoiceValueSum = 0M;
            decimal InvoiceVatSum   = 0M;



            foreach (var item in db.IncidentalContractItems.Where(w => w.IncidentalContractId == id).ToList())
            {
                var invoiceItem = new InvoiceItem();

                invoiceItem.Currency    = "EUR";
                invoiceItem.Description = item.IncidentalContractItemDescription;
                invoiceItem.Quantity    = item.IncidentalContractItemQuantity;
                invoiceItem.UnitPrice   = item.IncidentalContractItemValue;
                invoiceItem.VatPercent  = item.IncidentalContractItemVat;
                invoiceItem.TotalPrice  = item.IncidentalContractItemQuantity * item.IncidentalContractItemValue;
                invoiceItem.Description = item.IncidentalContractItemDescription;

                invoiceItem.ProductIncomeCode  = item.ProductIncomeCode;
                invoiceItem.ProductExpenseCode = item.ProductExpenseCode;
                invoiceItem.BudgetCode         = item.BudgetCodeId;

                InvoiceValueSum += invoiceItem.TotalPrice;
                InvoiceVatSum   += (invoiceItem.TotalPrice * ((decimal)invoiceItem.VatPercent / 100));

                invoice.InvoiceItems.Add(invoiceItem);
            }

            invoice.InvoiceValue      = InvoiceValueSum;
            invoice.InvoiceVatTotal   = InvoiceVatSum;
            invoice.InvoiceValueTotal = InvoiceValueSum + InvoiceVatSum;

            //here call rest API, for this exercise we will write it to the database directly
            db.Invoices.Add(invoice);
            db.SaveChanges();

            foreach (var item in db.IncidentalContractItems.Where(w => w.IncidentalContractId == id).ToList())
            {
                var budget      = db.Budgets.Where(w => w.BudgetIdCode == item.BudgetCodeId).FirstOrDefault();
                var transaction = new BudgetBalanceTransaction();

                transaction.BudgetBalanceWithdrawal       = item.IncidentalContractItemQuantity * item.IncidentalContractItemValue;
                transaction.BudgetBalanceWithdrawalSource = invoice.InvoiceNumber;
                transaction.OwnerBudgetId = budget.BudgetId;

                db.BudgetBalanceTransactions.Add(transaction);

                budget.BudgetBalance -= transaction.BudgetBalanceWithdrawal;
            }


            incidentalContract.IncidentalContracInvoiceNumber = invoice.InvoiceNumber;
            db.SaveChanges();
        }