public ActionResult GetUnPaidTickets(GridCommand command, string partyId, string locationId = "0")
        {
            TempEntityList.Clear();
            if (Convert.ToInt32(partyId) > 0)
            {
                string            dbContextConnectionString = ConfigurationHelper.GetsmARTDBContextConnectionString();
                SettlementLibrary settlementLib             = new SettlementLibrary();
                settlementLib.Initialize(dbContextConnectionString);
                IEnumerable <Settlement> results = settlementLib.GetUnPaidTickets(new string[] { "Scale", "Scale.Party_ID", "Scale.Purchase_Order", "Scale.Party_Address" }, int.Parse(partyId), int.Parse(locationId));

                if (results != null && results.Count() > 0)
                {
                    PaymentReceiptDetails paymentDetails;
                    int id = 0;
                    foreach (var item in results)
                    {
                        //if (item.Scale != null && item.Scale.Purchase_Order == null) {
                        //  item.Scale.Purchase_Order = new PurchaseOrder();
                        //}
                        id            += 1;
                        paymentDetails = new PaymentReceiptDetails()
                        {
                            ID             = id,
                            Settlement     = item,
                            Balance_Amount = item.Amount - item.Amount_Paid_Till_Date,
                            PaymentReceipt = new PaymentReceipt()
                        };

                        TempEntityList.Add(paymentDetails);
                    }
                }
            }
            return(Display(command, "0", true));
        }
        private string GetTotalScaleDueAmount(int partyId, int locationId = 0)
        {
            string            dbContextConnectionString = ConfigurationHelper.GetsmARTDBContextConnectionString();
            SettlementLibrary settlementLib             = new SettlementLibrary();

            settlementLib.Initialize(dbContextConnectionString);
            return(settlementLib.GetTotalDueAmount(partyId, locationId).ToString());
        }
Exemplo n.º 3
0
        public ActionResult _MakePayment(Scale data, bool isNew = false)
        {
            try {
                // Start transaction.
                using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions {
                    IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted
                })) {
                    // Save scale record
                    ActionResult result = base.Save(data);
                    data = ModelFromActionResult <Scale>(result);

                    if (data.Ticket_Settled == false)
                    {
                        // Settlement
                        IEnumerable <ScaleDetails> scaleDetails = new ScaleDetailsLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString()).GetAllByParentID(data.ID);
                        Settlement addSettlement = AddSettlement(data, scaleDetails);

                        // Payment
                        Settlement settlement = new SettlementLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString()).GetByID(addSettlement.ID.ToString(), new string[] { "Scale.Party_ID" });
                        IEnumerable <SettlementDetails> settlementDetails = new SettlementDetailsLibrary(ConfigurationHelper.GetsmARTDBContextConnectionString()).GetAllByParentID(settlement.ID);
                        AddPayment(settlement, settlementDetails);

                        // Cash
                        AddCash(settlement);
                    }

                    // Complete transaction.
                    scope.Complete();
                    ModelState.Clear();
                }
                return(Display(data.ID.ToString()));
            }
            catch (Exception ex) {
                Response.StatusCode = 500;
                if (ex.GetBaseException() is smART.Common.DuplicateException)
                {
                    ModelState.AddModelError("Error", ex.GetBaseException().Message);
                }
                else
                {
                    ModelState.AddModelError("Error", ex.Message);
                }
                return(Display(data));
            }
        }