Beispiel #1
0
        public ActionResult _SaveSelected(List <string> list)
        {
            string msg = string.Empty;

            try {
                foreach (var item in list)
                {
                    string[] values  = item.Split(',');
                    int      scaleId = Convert.ToInt32(values[0]);
                    decimal  amt     = Convert.ToDecimal(values[1]);
                    decimal  netWt   = Convert.ToDecimal(values[2]);
                    if (scaleId > 0 && amt > 0 && netWt > 0)
                    {
                        //Get all unsettled scale tickets
                        string       dbContextConnectionString = ConfigurationHelper.GetsmARTDBContextConnectionString();
                        ScaleLibrary scaleLibrary = new smART.Library.ScaleLibrary();
                        scaleLibrary.Initialize(dbContextConnectionString);
                        Scale scale = scaleLibrary.GetUnSettledRecAndBrokAndTradScaleById(scaleId, new string[] { "Dispatch_Request_No", "Party_ID", "Purchase_Order", "Container_No.Booking.Sales_Order_No.Party" });

                        // Start transaction.
                        using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions {
                            IsolationLevel = IsolationLevel.ReadCommitted
                        })) {
                            //Save settlement
                            Settlement settlement = SaveSettlement(scale, amt, netWt);

                            //Save Settlement details.
                            bool saveDetails = SaveSettlementDetails(ChildEntityList, settlement);

                            // If settlement details not saved or there are no items in details.
                            if (saveDetails == false)
                            {
                                throw new Exception("Settlement details items not found.");
                            }

                            msg += msg.Length > 0 ? "," + scaleId.ToString() : scaleId.ToString();
                            scope.Complete();
                        }
                    }
                }
                if (string.IsNullOrEmpty(msg))
                {
                    return(Json(msg));
                }
                ModelState.Clear();
                ClearChildEntities(ChildEntityList);
                return(Json(string.Format("Ticket Number: {0} is settled sucessfully.", msg)));
            }
            catch (Exception ex) {
                ModelState.AddModelError("Error", ex.Message);
                return(Json(string.Format("An error occured during settlement.")));
            }
        }
        public ActionResult Scale(String ID)
        {
            ViewBag.ID = ID;

            smART.ViewModel.Scale scale = new smART.Library.ScaleLibrary(smART.Common.ConfigurationHelper.GetsmARTDBContextConnectionString()).GetByID(ID);
            String ScaleType            = scale.Ticket_Type;

            if (ScaleType == "Shipping Ticket")
            {
                return(View("ScaleShippingTicket"));
            }
            if (ScaleType == "Local Sales")
            {
                return(View("ScaleLocalSalesTicket"));
            }
            else
            {
                return(View("ScaleReceiveTicket"));
            }
        }
Beispiel #3
0
        public ActionResult Display(GridCommand command)
        {
            int totalRows = 0;

            foreach (FilterDescriptor filterDesc in command.FilterDescriptors)
            {
                if (filterDesc.Member == "Scale.ID")
                {
                    filterDesc.Member = "ID";
                }
                else if (filterDesc.Member == "Scale.Party_ID.ListText")
                {
                    filterDesc.Member = "Party_ID.Party_Name";
                }
                else if (filterDesc.Member == "Scale.Created_Date")
                {
                    filterDesc.Member = "Created_Date";
                }
            }

            //Get all unsettled scale tickets
            string       dbContextConnectionString = ConfigurationHelper.GetsmARTDBContextConnectionString();
            ScaleLibrary scaleLibrary = new smART.Library.ScaleLibrary();

            scaleLibrary.Initialize(dbContextConnectionString);
            IEnumerable <Scale> scaleList = scaleLibrary.GetUnSettledRecAndBrokAndTradScaleByPagging(
                out totalRows,
                command.Page,
                command.PageSize,
                "ID",
                "Asc",
                new string[] { "Dispatch_Request_No", "Party_ID", "Purchase_Order", "Container_No.Booking.Sales_Order_No.Party" },
                (command.FilterDescriptors.Count == 0 ? null : command.FilterDescriptors)

                );

            IList <Settlement> resultList = new List <Settlement>();

            // Create settlement collection by scale tickets
            int iValue = 1;

            foreach (var item in scaleList)
            {
                Settlement settlement = new Settlement();
                settlement.ID    = iValue;
                settlement.Scale = item;
                if (settlement.Scale.Purchase_Order == null)
                {
                    settlement.Scale.Purchase_Order = new PurchaseOrder();
                    settlement.Scale.Purchase_Order = item.Purchase_Order;
                }
                settlement.Amount            = 0;
                settlement.Actual_Net_Weight = item.Net_Weight;
                settlement.Ready_For_Payment = false;
                resultList.Add(settlement);
                iValue++;
            }
            return(View(new GridModel {
                Data = resultList,
                Total = totalRows
            }));
        }