public static void inserttransaction(int fromaccount, int toaccount, double amount)
        {
            var loggedinuserid = userutils.loggedinuserd.id;
            financeaccountrepo                financeaccountrepo     = new financeaccountrepo();
            financetransactionrepo            financetransactionrepo = new financetransactionrepo();
            List <data.dapper.financeaccount> accounts = financeaccountrepo.get();

            //var db = new dbctx();

            data.dapper.financetransaction ftexpence = new data.dapper.financetransaction();
            ftexpence.amount = -amount;
            ftexpence.fk_financeaccount_in_financetransaction = fromaccount;
            ftexpence.date   = DateTime.Now;
            ftexpence.status = "posted";
            ftexpence.fk_user_createdby_in_financetransaction = loggedinuserid;
            //db.financetransaction.Add(ftexpence);
            //db.SaveChanges();
            financetransactionrepo.save(ftexpence);

            data.dapper.financetransaction ftasset = new data.dapper.financetransaction();
            ftasset.amount = amount;
            ftasset.fk_financeaccount_in_financetransaction = toaccount;
            ftasset.date   = DateTime.Now;
            ftasset.status = "posted";
            ftasset.fk_user_createdby_in_financetransaction = loggedinuserid;
            //db.financetransaction.Add(ftasset);
            //db.SaveChanges();
            financetransactionrepo.save(ftasset);
        }
        public static void insertVendorPayment(int accountid, double amount, int targetid)
        {
            var loggedinuserid = userutils.loggedinuserd.id;
            //var db = new dbctx();
            financeaccountrepo                financeaccountrepo     = new financeaccountrepo();
            financetransactionrepo            financetransactionrepo = new financetransactionrepo();
            List <data.dapper.financeaccount> accounts = financeaccountrepo.get();
            //List<financeaccount> accounts = db.financeaccount.ToList();
            var accountpayableableaccountid = accounts.Where(a => a.name == "account payable").FirstOrDefault().id;;


            data.dapper.financetransaction ftcash = new data.dapper.financetransaction();
            ftcash.amount = -amount;
            ftcash.date   = DateTime.Now;
            ftcash.status = "posted";
            ftcash.fk_user_createdby_in_financetransaction = loggedinuserid;
            ftcash.fk_user_targetto_in_financetransaction  = targetid;
            ftcash.fk_financeaccount_in_financetransaction = accountid;
            //db.financetransaction.Add(ftcash);
            //db.SaveChanges();
            financetransactionrepo.save(ftcash);


            data.dapper.financetransaction ftar = new data.dapper.financetransaction();
            ftar.amount = amount;
            ftar.date   = DateTime.Now;
            ftar.status = "posted";
            ftar.fk_user_createdby_in_financetransaction = loggedinuserid;
            ftar.fk_user_targetto_in_financetransaction  = targetid;
            ftar.fk_financeaccount_in_financetransaction = accountpayableableaccountid;
            //db.financetransaction.Add(ftar);
            //db.SaveChanges();
            financetransactionrepo.save(ftar);
        }
示例#3
0
        public static void printDuplicateRecipt(int saleid)
        {
            var financetransactionrepo = new financetransactionrepo();
            var userrepo                = new userrepo();
            var productrepo             = new productrepo();
            var productsalepurchaserepo = new productsalepurchaserepo();
            var ft = financetransactionrepo.get(saleid);

            data.dapper.user customer = null;
            if (ft.fk_user_targetto_in_financetransaction != null)
            {
                customer = userrepo.get((int)ft.fk_user_targetto_in_financetransaction);
            }
            // var soldproducts = db.productsalepurchase.Where(a => a.fk_financetransaction_in_productsalepurchase == saleid).ToList();
            var soldproducts = productsalepurchaserepo.getmultiplebytransactionid(saleid);

            float totalbill = 0;
            var   salelist  = new List <productsaleorpurchaseviewmodel>();

            foreach (var item in soldproducts)
            {
                totalbill = totalbill + (float)(item.price * item.quantity);
                //var dbproduct = db.product.Find(item.fk_product_in_productsalepurchase);
                var dbproduct = productrepo.get((int)item.fk_product_in_productsalepurchase);

                var p = new productsaleorpurchaseviewmodel();
                p.id       = dbproduct.id;
                p.name     = dbproduct.name;
                p.price    = (double)item.price;
                p.quantity = (double)item.quantity;
                p.total    = (double)item.total;
            }
            ;

            //int salesId, List< ItemOrDealSaleModel > list, int totalBill,int remaining, int saleType,string customerAddress
            string customerAddress = "";

            if (customer != null)
            {
                customerAddress = customer.address + " " + customer.phone;
            }
            printing.printSaleReceipt(saleid, salelist, (int)totalbill, (int)totalbill, 0, false, customerAddress);
        }
        public static int insertSaleTransactions(string accountname, List <productsaleorpurchaseviewmodel> saleList, double totalpayment, int targetuserid)
        {
            var loggedinuserid = userutils.loggedinuserd.id;
            //var db = new dbctx();
            productrepo            productrepo            = new productrepo();
            financeaccountrepo     financeaccountrepo     = new financeaccountrepo();
            financetransactionrepo financetransactionrepo = new financetransactionrepo();

            //List<financeaccount> accounts = db.financeaccount.ToList();
            List <data.dapper.financeaccount> accounts = financeaccountrepo.get();
            var saleaccountid              = accounts.Where(a => a.name == accountname).FirstOrDefault().id;
            var discountaccountid          = accounts.Where(a => a.name == "discount").FirstOrDefault().id;
            var cashaccountid              = accounts.Where(a => a.name == "cash").FirstOrDefault().id;
            var accountreciveableaccountid = accounts.Where(a => a.name == "account receivable").FirstOrDefault().id;
            var cgsaccountid       = accounts.Where(a => a.name == "cgs").FirstOrDefault().id;
            var inventoryaccountid = accounts.Where(a => a.name == "inventory").FirstOrDefault().id;

            double totalbill       = 0;
            double costofgoodssold = 0;

            foreach (var item in saleList)
            {
                totalbill += (item.price * item.quantity);
                //product p = db.product.Find(item.id);
                data.dapper.product p   = productrepo.get(item.id);
                double productcarrycost = 0;
                if (p.carrycost != null)
                {
                    productcarrycost = (double)p.carrycost;
                }
                double productpurchaseprice = 0;
                if (p.purchaseprice != null)
                {
                    productpurchaseprice = (double)p.purchaseprice;
                }
                costofgoodssold += ((double)((productpurchaseprice + productcarrycost) * item.quantity));
            }

            //New Sale Transaction
            //financetransaction ftsale = new financetransaction();
            data.dapper.financetransaction ftsale = new data.dapper.financetransaction();
            ftsale.amount = -totalbill;

            ftsale.date   = DateTime.Now;
            ftsale.status = "posted";
            ftsale.fk_user_createdby_in_financetransaction = loggedinuserid;
            if (targetuserid != 0)
            {
                ftsale.fk_user_targetto_in_financetransaction = targetuserid;
            }
            ftsale.fk_financeaccount_in_financetransaction = saleaccountid;
            financetransactionrepo.save(ftsale);
            //db.financetransaction.Add(ftsale);
            //db.SaveChanges();

            //New Payment Transaction against sale . if customer is paying some money
            if (totalpayment > 0)
            {
                //financetransaction ftpayment = new financetransaction();
                data.dapper.financetransaction ftpayment = new data.dapper.financetransaction();
                ftpayment.amount = totalpayment;
                ftpayment.date   = DateTime.Now;
                ftpayment.status = "posted";
                ftpayment.fk_user_createdby_in_financetransaction = loggedinuserid;
                if (targetuserid != 0)
                {
                    ftpayment.fk_user_targetto_in_financetransaction = targetuserid;
                }
                ftpayment.fk_financeaccount_in_financetransaction = cashaccountid;
                //db.financetransaction.Add(ftpayment);
                //db.SaveChanges();
                financetransactionrepo.save(ftpayment);
            }


            // New AR Transaction if Ledger is true
            if (totalpayment != totalbill)
            {
                //financetransaction ftar = new financetransaction();
                data.dapper.financetransaction ftar = new data.dapper.financetransaction();
                ftar.amount = totalbill - totalpayment;

                ftar.date   = DateTime.Now;
                ftar.status = "posted";
                ftar.fk_user_createdby_in_financetransaction = loggedinuserid;
                if (targetuserid != 0)
                {
                    ftar.fk_user_targetto_in_financetransaction = targetuserid;
                }
                ftar.fk_financeaccount_in_financetransaction = accountreciveableaccountid;
                //db.financetransaction.Add(ftar);
                //db.SaveChanges();
                financetransactionrepo.save(ftar);
            }

            // new cost of goods transaction against sale
            //financetransaction ftcgs = new financetransaction();
            data.dapper.financetransaction ftcgs = new data.dapper.financetransaction();
            ftcgs.amount = costofgoodssold;
            ftcgs.fk_financeaccount_in_financetransaction = cgsaccountid;
            ftcgs.date   = DateTime.Now;
            ftcgs.status = "posted";
            ftcgs.fk_user_createdby_in_financetransaction = loggedinuserid;
            //db.financetransaction.Add(ftcgs);
            //db.SaveChanges();
            financetransactionrepo.save(ftcgs);


            // new inventory detct transaction against against sale
            //financetransaction ftid = new financetransaction();
            data.dapper.financetransaction ftid = new data.dapper.financetransaction();
            ftid.name   = "--inventory--on--sale--";
            ftid.amount = -costofgoodssold;
            ftid.fk_financeaccount_in_financetransaction = inventoryaccountid;
            ftid.date   = DateTime.Now;
            ftid.status = "posted";
            ftid.fk_user_createdby_in_financetransaction = loggedinuserid;
            //db.financetransaction.Add(ftid);
            //db.SaveChanges();
            financetransactionrepo.save(ftid);


            return(ftsale.id);
        }
        public static int insertPurchaseTransactions(List <productsaleorpurchaseviewmodel> purchaseList, double totalpayment, int targetuserid)
        {
            var loggedinuserid = userutils.loggedinuserd.id;
            //var db = new dbctx();

            productrepo            productrepo            = new productrepo();
            financeaccountrepo     financeaccountrepo     = new financeaccountrepo();
            financetransactionrepo financetransactionrepo = new financetransactionrepo();

            //List<financeaccount> accounts = db.financeaccount.ToList();
            List <data.dapper.financeaccount> accounts = financeaccountrepo.get();

            //List<financeaccount> accounts = db.financeaccount.ToList();
            var discountaccountid           = accounts.Where(a => a.name == "discount").FirstOrDefault().id;
            var cashaccountid               = accounts.Where(a => a.name == "cash").FirstOrDefault().id;
            var accountreciveableaccountid  = accounts.Where(a => a.name == "account receivable").FirstOrDefault().id;
            var accountpayableableaccountid = accounts.Where(a => a.name == "account payable").FirstOrDefault().id;
            var cgsaccountid       = accounts.Where(a => a.name == "cgs").FirstOrDefault().id;
            var inventoryaccountid = accounts.Where(a => a.name == "inventory").FirstOrDefault().id;

            double totalbill = 0;

            foreach (var item in purchaseList)
            {
                totalbill += (item.price * item.quantity);
            }


            //New purchase Transaction
            //financetransaction ftpurchase = new financetransaction();
            data.dapper.financetransaction ftpurchase = new data.dapper.financetransaction();
            ftpurchase.amount = totalbill;
            ftpurchase.name   = "--inventory--on--purchase--";
            ftpurchase.fk_financeaccount_in_financetransaction = inventoryaccountid;
            ftpurchase.fk_user_targetto_in_financetransaction  = targetuserid;
            ftpurchase.date   = DateTime.Now;
            ftpurchase.status = "posted";
            ftpurchase.fk_user_createdby_in_financetransaction = loggedinuserid;
            //db.financetransaction.Add(ftpurchase);
            //db.SaveChanges();
            financetransactionrepo.save(ftpurchase);

            //New Payment Transaction against sale . if we are paying some money
            if (totalpayment > 0)
            {
                data.dapper.financetransaction ftpayment = new data.dapper.financetransaction();
                ftpayment.amount = -(totalpayment);
                ftpayment.date   = DateTime.Now;
                ftpayment.status = "posted";
                ftpayment.fk_user_createdby_in_financetransaction = loggedinuserid;
                ftpayment.fk_user_targetto_in_financetransaction  = targetuserid;
                ftpayment.fk_financeaccount_in_financetransaction = cashaccountid;
                //db.financetransaction.Add(ftpayment);
                //db.SaveChanges();
                financetransactionrepo.save(ftpayment);
            }


            // New AP Transaction if TotalRemaining has ammount
            if (totalbill != totalpayment)
            {
                data.dapper.financetransaction ftap = new data.dapper.financetransaction();
                ftap.amount = -(totalbill - totalpayment);
                ftap.date   = DateTime.Now;
                ftap.status = "Posted";
                ftap.fk_user_createdby_in_financetransaction = loggedinuserid;
                ftap.fk_user_targetto_in_financetransaction  = targetuserid;
                ftap.fk_financeaccount_in_financetransaction = accountpayableableaccountid;
                //db.financetransaction.Add(ftap);
                //db.SaveChanges();
                financetransactionrepo.save(ftap);
            }
            return(ftpurchase.id);
        }
示例#6
0
        void loaccounts()
        {
            var userrepo = new userrepo();
            var financetransactionrepo = new financetransactionrepo();
            var sales     = 0;
            var customers = 0;
            var vendors   = 0;
            var users     = 0;

            if (userutils.loggedinuserd.role == "superadmin" || userutils.loggedinuserd.role == "admin")
            {
                sales     = -financetransactionrepo.gettransactionsumbyaccountnamesandfromtodate(new string[] { "pos sale", "sale", "service sale" }, DateTime.Now, DateTime.Now);
                customers = userrepo.getbywherein("role", new object[] { "customer" }).Count();
                vendors   = userrepo.getbywherein("role", new object[] { "vendor" }).Count();
                users     = userrepo.getbywherein("role", new object[] { "admin", "user" }).Count();
            }

            string html = @"<html>
<head>
  <style>
html{overflow:hidden;height:200px;}
    .main{
      font-family: arial;
    }
    .blocks{
      float: left;
      width: 20%;
      margin: 1%;
      border: 1px solid #ddd;
      padding: 10px 20px 10px 20px;
      border-radius: 4px; 
    }
    .blocks .title{
      margin: 0;
      font-weight: 300;
      color: #888;
    }
.blocks p{
      text-align: center;
      font-size: 55px;
    }
    p.a{
      color:rgb(98, 147, 211);
    }
    p.b{
      color:#f5584c;
    }
    p.c{
      color:#aa6edb;
    }
    p.d{
      color:#7fb856;
    }
.blocks .footer{
      margin: 0;
      font-weight: 100;
      color: #888;
      font-size:10px;
      text-align: center;
    }
    
  </style>
</head>
<body style='background-color:#f0f0f0' scroll='no'>
  <div class='main'>
    <div class='blocks'>
      <span class='title'>Sales</span>
      <p class='a'>" + sales + @"</p>
      <span class='footer'>Total Sales</span>
    </div>
    <div class='blocks'>
      <span class='title'>Customers</span>
       <p class='b'>" + customers + @"</p>
        <span class='footer'>Included All Types</span>
    </div>
    <div class='blocks'>
      <span class='title'>Vendors</span>
       <p class='c'>" + vendors + @"</p>
        <span class='footer'>Included All Types</span>
    </div>
    <div class='blocks'>
      <span class='title'>Users</span>
       <p class='d'>" + users + @"</p>
        <span class='footer'>All software users</span>
    </div>
  <div>
</body>
</html>";

            webview.NavigateToString(html);
        }