Ejemplo n.º 1
0
 public ActionResult Edit(TransportBidQuotation transportQuote)
 {
     if (ModelState.IsValid)
     {
         List <TransportBidQuotation> existing =
             _bidQuotationService.FindBy(t => t.BidID == transportQuote.BidID &&
                                         t.TransporterID == transportQuote.TransporterID &&
                                         t.SourceID == transportQuote.SourceID &&
                                         t.DestinationID == transportQuote.DestinationID
                                         );
         if (existing.Count == 1)
         {
             TransportBidQuotation edited = existing[0];
             //                    transportQuote.TransportBidQuotationID = edited.TransportBidQuotationID;
             edited.Tariff   = transportQuote.Tariff;
             edited.Remark   = transportQuote.Remark;
             edited.Position = transportQuote.Position;
             edited.IsWinner = transportQuote.IsWinner;
             _bidQuotationService.UpdateTransportBidQuotation(edited);
         }
         else
         {
             _bidQuotationService.AddTransportBidQuotation(transportQuote);
         }
         return(View(transportQuote));
     }
     return(RedirectToAction("Index"));
 }
Ejemplo n.º 2
0
 public bool DeleteTransportBidQuotation(TransportBidQuotation item)
 {
     if (item == null)
     {
         return(false);
     }
     _unitOfWork.TransportBidQuotationRepository.Delete(item);
     _unitOfWork.Save();
     return(true);
 }
Ejemplo n.º 3
0
        public List <TransportBidQuotation> GetSecondWinner(int transporterId, int woredaId)// BidId should also be used to filter the data
        {
            var       secondTransporter = 2;
            const int firstTransporter  = 1;
            var       bidQoutation      =
                _unitOfWork.TransportBidQuotationRepository.FindBy(
                    t => t.DestinationID == woredaId && t.TransporterID != transporterId);
            var secondWinner      = new List <TransportBidQuotation>();
            var winnerTransporter = new List <TransportBidQuotation>();

            if (bidQoutation.Count > 0)
            {
                if (bidQoutation.Count == 1)
                {
                    secondTransporter = 1;
                }

                secondWinner = bidQoutation
                               .GroupBy(g => g.TransportBidQuotationID)
                               .OrderByDescending(o => o.Key)
                               .Select(s => new { Qoutation = s.ToList() })
                               .ToList()[secondTransporter - 1].Qoutation;
            }

            //DRMFSS
            var drmfssTransporters = GetDrmfssTransporters().Where(m => m.TransporterID != transporterId);

            foreach (var transporter in drmfssTransporters)
            {
                var drmfssTransporter = new TransportBidQuotation {
                    TransporterID = transporter.TransporterID
                };
                var drmfssTransporterHeaderInfo = new TransportBidQuotationHeader()
                {
                    TransporterId = transporter.TransporterID,
                    Transporter   = _unitOfWork.TransporterRepository.FindById(transporter.TransporterID)
                };

                drmfssTransporter.TransportBidQuotationHeader = drmfssTransporterHeaderInfo;
                secondWinner.Add(drmfssTransporter);
            }



            return(secondWinner);
        }
Ejemplo n.º 4
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));
        }
Ejemplo n.º 5
0
        //[ProcurementAuthorize(operation = ProcurementCheckAccess.Operation.Bid_Planning)]
        public ActionResult SaveBidProposals([DataSourceRequest] DataSourceRequest request, List <PriceQuotationDetail> models)
        {
            foreach (PriceQuotationDetail bidProposal in models)
            {
                if (bidProposal != null && ModelState.IsValid)
                {
                    //var detail = _transportBidQuotationService.FindById(bidProposal.TransportBidQuotationID);
                    var detai = _transportBidQuotationService.FindBy(t =>
                                                                     t.BidID == bidProposal.BidID &&
                                                                     t.SourceID == bidProposal.SourceID &&
                                                                     t.DestinationID == bidProposal.DestinationID &&
                                                                     t.TransporterID == bidProposal.TransporterID);
                    var detail = detai.FirstOrDefault();

                    if (detail != null)
                    {
                        //detail.TransportBidQuotationID = bidProposal.TransportBidQuotationID;
                        detail.BidID = bidProposal.BidID;
                        detail.TransportBidQuotationHeaderID = bidProposal.HeaderId;
                        detail.TransporterID = bidProposal.TransporterID;
                        detail.SourceID      = bidProposal.SourceID;
                        detail.DestinationID = bidProposal.DestinationID;
                        detail.Tariff        = bidProposal.Tariff;
                        detail.Remark        = bidProposal.Remark ?? String.Empty;
                        detail.IsWinner      = false;
                        try
                        {
                            _transportBidQuotationService.UpdateTransportBidQuotation(detail);
                        }
                        catch (Exception e) { }
                    }

                    else
                    {
                        var newProposal = new TransportBidQuotation();
                        //newProposal.TransportBidQuotationID = bidProposal.TransportBidQuotationID;
                        newProposal.BidID = bidProposal.BidID;
                        newProposal.TransportBidQuotationHeaderID = bidProposal.HeaderId;
                        newProposal.TransporterID = bidProposal.TransporterID;
                        newProposal.SourceID      = bidProposal.SourceID;
                        newProposal.DestinationID = bidProposal.DestinationID;
                        newProposal.Tariff        = bidProposal.Tariff;
                        newProposal.Remark        = bidProposal.Remark ?? String.Empty;
                        newProposal.IsWinner      = false;
                        try
                        {
                            _transportBidQuotationService.AddTransportBidQuotation(newProposal);
                        }
                        catch (Exception e) { }
                    }

                    //int region = _adminUnitService.FindById(bidProposal.DestinationID).AdminUnit2.AdminUnit2.AdminUnitID;
                    //var changeable = _transportBidQuotationService.FindBy(t =>
                    //                                                     t.BidID == bidProposal.BidID);


                    //foreach (var transportBidQuotation in changeable)
                    //{
                    //    transportBidQuotation.IsWinner = false;
                    //    _transportBidQuotationService.UpdateTransportBidQuotation(transportBidQuotation);
                    //}
                }
            }
            return(Json(models.ToDataSourceResult(request, ModelState)));
        }
Ejemplo n.º 6
0
 public bool AddTransportBidQuotation(TransportBidQuotation item)
 {
     _unitOfWork.TransportBidQuotationRepository.Add(item);
     _unitOfWork.Save();
     return(true);
 }