Esempio n. 1
0
        //
        // GET: /Transporter/Details/5

        public virtual ViewResult Details(int id)
        {
            Transporter transporter = _transporterService.FindById(id);

            // Transporter transporter = repository.Transporter.FindById(id);
            return(View(transporter));
        }
Esempio n. 2
0
        //
        // GET: /Procurement/Transporter/Details/5

        public ActionResult Details(int id = 0)
        {
            Transporter transporter = transportService.FindById(id);

            if (transporter == null)
            {
                return(HttpNotFound());
            }
            return(View(transporter));
        }
Esempio n. 3
0
        public JsonResult AcceptJob(int id)
        {
            int          iduser       = Convert.ToInt32(Session["user"].ToString());
            transportJob transportJob = transportService.FindById(id);

            if (transportJob == null)
            {
                throw new ArgumentNullException(nameof(transportJob));
            }
            // transportJob transportJob = db.TransportJobs.Find(id);
            transportJob.Status        = "Started";
            transportJob.DateDeDebut   = DateTime.Now;
            transportJob.transporterID = iduser;
            transportService.Update(transportJob);
            // db.TransportJobs.Attach(transportJob);
            //db.Entry(transportJob).State = EntityState.Modified;

            /*  try
             * {
             *    db.SaveChanges();
             *    // Your code...
             *    // Could also be before try if you know the exception occurs in SaveChanges
             *
             *
             * }
             * catch (DbEntityValidationException e)
             * {
             *    foreach (var eve in e.EntityValidationErrors)
             *    {
             *        System.Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
             *            eve.Entry.Entity.GetType().Name, eve.Entry.State);
             *        foreach (var ve in eve.ValidationErrors)
             *        {
             *            System.Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
             *                ve.PropertyName, ve.ErrorMessage);
             *        }
             *    }
             *
             * }*/

            return(Json(new { transportJob.id, transportJob.Status, transportJob.DateDeDebut }));
        }
Esempio n. 4
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);
        }
Esempio n. 5
0
 public ActionResult ShowAllAgreements(int transporterID)
 {
     ViewBag.TransporterID   = transporterID;
     ViewBag.TransporterName = _transporterService.FindById(transporterID).Name;
     return(View());
 }
Esempio n. 6
0
        public List <BidWinnerViewingModel> ReadWoredasWithBidWinners(int bidID, int regionID, int rank, int hubID = 0)
        {
            List <BidWinner> bidWinners;

            if (hubID == 0)
            {
                bidWinners = _bidWinnerService.Get(t => t.AdminUnit.AdminUnit2.AdminUnit2.AdminUnitID == regionID && t.BidID == bidID &&
                                                   t.Position == rank && t.Status == 1, null, "Transporter,AdminUnit, AdminUnit.AdminUnit2").ToList();
            }
            else
            {
                bidWinners = _bidWinnerService.Get(t => t.AdminUnit.AdminUnit2.AdminUnit2.AdminUnitID == regionID && t.BidID == bidID &&
                                                   t.Position == rank && t.Status == 1 && t.SourceID == hubID, null, "Transporter,AdminUnit, AdminUnit.AdminUnit2").ToList();
            }

            //var enumerable = bidWinners as List<BidWinner> ?? bidWinners.ToList();
            var bw = (from bidWinner in bidWinners
                      group bidWinner by new
            {
                Woreda = bidWinner.AdminUnit.Name,
                Zone = bidWinner.AdminUnit.AdminUnit2.Name,
                bidWinner.DestinationID,
                Hub = bidWinner.Hub.Name,
                bidWinner.SourceID,
                bidWinner.Tariff,
                bidWinner.BidID,
                bidWinner.Position
            }
                      into gr
                      select new
            {
                DestinationID = gr.Key.DestinationID,
                Zone = gr.Key.Zone,
                Woreda = gr.Key.Woreda,
                SourceID = gr.Key.SourceID,
                Hub = gr.Key.Hub,
                Tariff = gr.Key.Tariff,
                BidID = gr.Key.BidID,
                Position = gr.Key.Position,
                TransporterIDs = gr.Select(t => t.TransporterID).ToList(),
            }
                      );

            var bidWinnersList = bw.ToList();

            var result = new List <BidWinnerViewingModel>();

            foreach (var bidWinner in bidWinnersList)
            {
                var n = new BidWinnerViewingModel();
                n.SourceWarehouse = bidWinner.Hub.ToString();
                n.SourceId        = bidWinner.SourceID.ToString();
                n.Zone            = bidWinner.Zone.ToString();
                n.Woreda          = bidWinner.Woreda.ToString();
                n.DestinationId   = bidWinner.DestinationID.ToString();
                n.WinnerTariff    = bidWinner.Tariff.ToString();
                n.Rank            = bidWinner.Position.ToString();
                n.BidID           = bidWinner.BidID.ToString();
                foreach (var transporter in bidWinner.TransporterIDs)
                {
                    n.TransporterID.Add(transporter.ToString());
                    n.TransporterName.Add(_transporterService.FindById(transporter).Name);
                }
                result.Add(n);
            }
            return(result);
        }
Esempio n. 7
0
        public ActionResult ChangeTransporters([DataSourceRequest] DataSourceRequest request, List <SubstituteTransporterOrder> listOfSubTransporterOrders, int changedTransportOrderID)
        {
            var changedTransportOrderObj = _transportOrderService.FindById(changedTransportOrderID);
            var returnedObj = new List <TransportOrder>();

            foreach (var subTransporterOrders in listOfSubTransporterOrders)
            {
                var transporterCount = subTransporterOrders.TransportersStandingList.Count();

                foreach (var transporter in subTransporterOrders.TransportersStandingList)
                {
                    changedTransportOrderObj = _transportOrderService.FindById(changedTransportOrderID);
                    var transporterObj = _transporterService.FindById(transporter.TransporterID);
                    var transportOrder =
                        _transportOrderService.Get(t => t.TransporterID == transporterObj.TransporterID &&
                                                   t.StatusID == (int)TransportOrderStatus.Draft).
                        FirstOrDefault();
                    if (transportOrder != null)
                    {
                        foreach (var transportOrderDetail in changedTransportOrderObj.TransportOrderDetails.ToList())
                        {
                            if (transportOrderDetail.FDP.AdminUnitID == subTransporterOrders.WoredaID)
                            {
                                var transportOrderDetailObj = new TransportOrderDetail
                                {
                                    CommodityID       = transportOrderDetail.CommodityID,
                                    FdpID             = transportOrderDetail.FdpID,
                                    RequisitionID     = transportOrderDetail.RequisitionID,
                                    QuantityQtl       = transportOrderDetail.QuantityQtl.ToPreferedWeightUnit() / transporterCount,
                                    TariffPerQtl      = transportOrderDetail.TariffPerQtl,
                                    SourceWarehouseID = transportOrderDetail.Hub.HubID,
                                    //transportOrderDetailObj.ZoneID = transportOrderDetail.ReliefRequisition.ZoneID;
                                };
                                transportOrder.TransportOrderDetails.Add(transportOrderDetailObj);
                                _transportOrderService.EditTransportOrder(transportOrder);
                            }
                        }

                        returnedObj.Add(transportOrder);
                    }
                    else
                    {
                        var transportOrderObj = new TransportOrder
                        {
                            TransporterID            = transporter.TransporterID,
                            OrderDate                = DateTime.Today,
                            TransportOrderNo         = Guid.NewGuid().ToString(),
                            OrderExpiryDate          = DateTime.Today.AddDays(10),
                            BidDocumentNo            = "BID-DOC-No",
                            PerformanceBondReceiptNo = "PERFORMANCE-BOND-NO",
                            ContractNumber           = Guid.NewGuid().ToString(),
                            TransporterSignedDate    = DateTime.Today,
                            RequestedDispatchDate    = DateTime.Today,
                            ConsignerDate            = DateTime.Today,
                            StatusID  = (int)TransportOrderStatus.Draft,
                            StartDate = DateTime.Today,
                            EndDate   = DateTime.Today.AddDays(10),
                        };
                        _transportOrderService.AddTransportOrder(transportOrderObj);
                        var transporterName = _transporterService.FindById(transportOrderObj.TransporterID).Name;
                        transportOrderObj.TransportOrderNo = string.Format("TRN-ORD-{0}", transportOrderObj.TransportOrderID);
                        transportOrderObj.ContractNumber   = string.Format("{0}/{1}/{2}/{3}", "LTCD", DateTime.Today.Day, DateTime.Today.Year, transporterName.Substring(0, 2));
                        _transportOrderService.EditTransportOrder(transportOrderObj);
                        //var transportOrderDetailList = subTransporterOrders.TransportOrderDetails;
                        foreach (var transportOrderDetail in changedTransportOrderObj.TransportOrderDetails.ToList())
                        {
                            if (transportOrderDetail.FDP.AdminUnitID == subTransporterOrders.WoredaID)
                            {
                                var transportOrderDetailObj = new TransportOrderDetail
                                {
                                    TransportOrderID = transportOrderObj.TransportOrderID,
                                    CommodityID      = transportOrderDetail.CommodityID,
                                    FdpID            = transportOrderDetail.FdpID,
                                    RequisitionID    = transportOrderDetail.RequisitionID,
                                    QuantityQtl      =
                                        transportOrderDetail.QuantityQtl.ToPreferedWeightUnit() / transporterCount,
                                    TariffPerQtl      = transportOrderDetail.TariffPerQtl,
                                    SourceWarehouseID = transportOrderDetail.Hub.HubID
                                };
                                //transportOrderDetail.ZoneID = reliefRequisitionDetail.ReliefRequisition.ZoneID;
                                _transportOrderDetailService.AddTransportOrderDetail(transportOrderDetailObj);
                            }
                        }

                        returnedObj.Add(transportOrderObj);
                    }
                }
            }
            changedTransportOrderObj.StatusID = (int)TransportOrderStatus.Failed;
            _transportOrderService.EditTransportOrder(changedTransportOrderObj);
            return(RedirectToAction("Index", "TransportOrder", returnedObj));
            //return Json(returnedObj.ToDataSourceResult(request), JsonRequestBehavior.AllowGet);
        }