Esempio n. 1
0
        public ActionResult EditAjax([DataSourceRequest] DataSourceRequest request, PriceQuotationDetailViewModel item)
        {
            if (ModelState.IsValid)
            {
                List <TransportBidQuotation> existing =
                    _bidQuotationService.FindBy(t => t.BidID == item.BidID &&
                                                t.TransporterID == item.TransporterID &&
                                                t.SourceID == item.SourceID &&
                                                t.DestinationID == item.DestinationID
                                                );
                var edited = new TransportBidQuotation();
                if (existing.Count == 1)
                {
                    edited = existing[0];
                }
                //                    transportQuote.TransportBidQuotationID = edited.TransportBidQuotationID;
                edited.Tariff   = item.Tariff;
                edited.Remark   = item.Remark;
                edited.Position = item.Rank;
                edited.IsWinner = item.IsWinner;

                edited.TransporterID = item.TransporterID;
                edited.SourceID      = item.SourceID;
                edited.DestinationID = item.DestinationID;
                edited.BidID         = item.BidID;

                // edited.
                if (existing.Count == 1)
                {
                    _bidQuotationService.UpdateTransportBidQuotation(edited);
                }
                else
                {
                    _bidQuotationService.AddTransportBidQuotation(edited);
                }
                return(Json(new[] { item }.ToDataSourceResult(request, ModelState)));
            }
            return(Json("{}", JsonRequestBehavior.AllowGet));
        }
Esempio n. 2
0
        public List <PriceQuotationDetailViewModel> populateForm(PriceQuotationFilterViewModel model)
        {
            Session["PriceQuotationFilter"] = model;
            LoadLookups();
            ViewBag.ModelFilter    = model;
            ViewBag.SelectedRegion = _adminUnitService.FindById(model.RegionID);
            int bidID = model.BidID;


            ViewBag.SelectedTransporter = _transporterService.FindById(model.TransporterID);
            Bid SelectedBid = _bidService.FindById(bidID);

            ViewBag.SelectedBid = SelectedBid;
            int bidPlanID = SelectedBid.TransportBidPlanID;

            List <GoodsMovementDetailViewModel>  quotationDestinations = GetPlannedDistribution(bidPlanID, model.RegionID);
            List <PriceQuotationDetailViewModel> qoutation             = GetPriceQuotation(quotationDestinations, model.TransporterID, bidID);

            // return View(qoutation);

            List <TransportBidQuotation> transporterQuote = _bidQuotationService.FindBy(t => t.BidID == bidID && t.TransporterID == model.TransporterID);
            Dictionary <string, PriceQuotationDetailViewModel> transporterQuoteDictionary = organizeList(qoutation);

            foreach (TransportBidQuotation i in transporterQuote)
            {
                string hash = i.BidID + "_" + i.TransporterID + "_" + i.SourceID + "_" + i.DestinationID;
                if (transporterQuoteDictionary.ContainsKey(hash))
                {
                    PriceQuotationDetailViewModel pq = transporterQuoteDictionary[hash];
                    pq.TransportBidQuotationID = i.TransportBidQuotationID;
                    pq.Tariff   = (int)i.Tariff;
                    pq.Remark   = i.Remark;
                    pq.IsWinner = i.IsWinner;
                    pq.Rank     = i.Position;
                }
            }
            return(qoutation);
        }