public TransportBidPlanViewModel CopyToView(TransportBidPlan transportbidplan)
 {
     return new TransportBidPlanViewModel{TransportBidPlanID=transportbidplan.TransportBidPlanID
                                         ,Year=transportbidplan.Year
                                         ,YearHalf=transportbidplan.YearHalf
                                         };
 }
 public bool UpdateTransportBidPlan(TransportBidPlan item)
 {
     if (item == null) return false;
     _unitOfWork.TransportBidPlanRepository.Edit(item);
     _unitOfWork.Save();
     return true;
 }
        public ActionResult Create(TransportBidPlan transportbidplan)
        {
            if (ModelState.IsValid)
            {
                ViewBag.Message = "Invalid Model";
                var transportPlan =_transportBidPlanService.FindBy( m => m.Year == transportbidplan.Year && m.YearHalf == transportbidplan.YearHalf).FirstOrDefault();
                if (transportPlan == null)
                {

                    var woredas = _adminUnitService.FindBy(m => m.AdminUnitTypeID == 4);
                    var psnptransportBidPlanDetail = (from detail in woredas
                                                      where _transportBidPlanDetailService.GetWoredaGroupedPsnpAmount(detail.AdminUnitID)>0
                                                      select new TransportBidPlanDetail()
                                                          {
                                                              DestinationID = detail.AdminUnitID,
                                                              SourceID =
                                                                  _hubService.GetNearestWarehouse(detail.AdminUnitID).
                                                          HubID,
                                                              ProgramID = 2,
                                                              Quantity =
                                                                  _transportBidPlanDetailService.
                                                          GetWoredaGroupedPsnpAmount(detail.AdminUnitID)

                                                          }).ToList();

                    var relieftransportBidPlanDetail = (from detail in woredas
                                                        where _transportBidPlanDetailService.GetHrdCommodityAmount(detail.AdminUnitID)>0
                                                        select new TransportBidPlanDetail()
                                                            {
                                                                DestinationID = detail.AdminUnitID,
                                                                SourceID =
                                                                    _hubService.GetNearestWarehouse(detail.AdminUnitID).
                                                            HubID,
                                                                ProgramID = 1,
                                                                Quantity =
                                                                    _transportBidPlanDetailService.GetHrdCommodityAmount
                                                            (detail.AdminUnitID)
                                                            }).ToList();
                    var transportbidplanDetail = psnptransportBidPlanDetail.Union(relieftransportBidPlanDetail).ToList();
                    transportbidplan.TransportBidPlanDetails = transportbidplanDetail;
                    _transportBidPlanService.AddTransportBidPlan(transportbidplan);
                    return RedirectToAction("Index");
                }
                ModelState.AddModelError("Errors",@"Bid Plan For this Year and Period already Exists");
            }

            loadLookups(transportbidplan);
            return View(transportbidplan);
        }
        public void Init()
        {
            var bidWinner = new List<BidWinner>
            {
                new BidWinner
                    {
                        BidWinnerID = 1,
                        BidID = 1,
                        DestinationID = 23,
                        SourceID = 4,
                        Tariff = 12,
                        Position = 1,
                        Bid = new Bid
                            {
                                BidID = 1,
                                StartDate = new DateTime(12/12/2004),
                                EndDate = new DateTime(12/12/2005),
                                TransportBidPlanID = 1
                            }

                    }
            };
            var bidWinnerService = new Mock<IBidWinnerService>();
            bidWinnerService.Setup(m => m.GetAllBidWinner()).Returns(bidWinner);

            var applicationSetting = new List<ApplicationSetting>
            {
                new ApplicationSetting
                {
                   SettingID = 1,
                   SettingName = "CurrentBid",
                  SettingValue = "1"
                }

            };
            var applicationSettingService = new Mock<IApplicationSettingService>();
            applicationSettingService.Setup(m => m.FindBy(b => b.SettingName == "CurrentBid")).Returns(applicationSetting);

            var workFlowStatus = new List<WorkflowStatus>
                {
                     new WorkflowStatus {
                                          Description = "Draft",
                                          StatusID = 1,
                                          WorkflowID = 8
                                        },
                                  new WorkflowStatus
                                      {
                                          Description = "Approved",
                                          StatusID = 2,
                                          WorkflowID = 8
                                      },
                                  new WorkflowStatus
                                      {
                                          Description = "Signed",
                                          StatusID = 3,
                                          WorkflowID = 8
                                      }
                };
            var workFlowStatusService = new Mock<IWorkflowStatusService>();

            var userAccountService = new Mock<IUserAccountService>();
            userAccountService.Setup(t => t.GetUserInfo(It.IsAny<string>())).Returns(new UserInfo
            {
                UserName = "******",
                DatePreference = "en"
            });

            var bid = new List<Bid>
            {
                new Bid
                    {
                        BidID = 1,
                        StartDate = new DateTime(12/12/2004),
                        EndDate = new DateTime(12/12/2005),
                        TransportBidPlanID = 1
                    },
            new Bid
            {
                        BidID = 2,
                        StartDate = new DateTime(12/12/2004),
                        EndDate = new DateTime(12/12/2005),
                        TransportBidPlanID = 2

            }

            };

            var bidService = new Mock<IBidService>();
            bidService.Setup(m => m.FindById(1)).Returns(new Bid
                {
                    BidID = 1,
                    StartDate = new DateTime(12 / 12 / 2004),
                    EndDate = new DateTime(12 / 12 / 2005),
                    TransportBidPlanID = 1
                });

            var transportBidPlan = new TransportBidPlan
            {

                        TransportBidPlanID = 1,
                        Year = 2012,
                        YearHalf = 1,
                        ProgramID = 1,
                        Program = new Program { ProgramID = 1, Name = "Relief" },
                        TransportBidPlanDetails = new List<TransportBidPlanDetail>
                            {
                                new TransportBidPlanDetail
                                    {
                                        TransportBidPlanDetailID = 1,
                                        BidPlanID = 1,
                                        BidPlan = new TransportBidPlan {TransportBidPlanID = 1,ProgramID = 1,Year = 2012,YearHalf = 2},
                                        ProgramID = 1,
                                        Program = new Program {ProgramID = 1,Name = "Relief"},
                                        SourceID = 25,
                                        Source = new Hub {HubID = 1,Name = "Adama"},
                                        DestinationID = 2,
                                        Destination = new AdminUnit {AdminUnitID = 1,Name = "Admin Unit Name"},
                                        Quantity = 123
                                    },
                                new TransportBidPlanDetail
                                    {
                                        TransportBidPlanDetailID = 2,
                                        BidPlanID = 1,
                                        BidPlan = new TransportBidPlan {TransportBidPlanID = 2,ProgramID = 2,Year = 2012,YearHalf = 2},
                                        ProgramID = 1,
                                        Program = new Program {ProgramID = 1,Name = "PSNP"},
                                        SourceID = 24,
                                        Source = new Hub {HubID = 2,Name = "Kombolecha"},
                                        DestinationID = 3,
                                        Destination = new AdminUnit {AdminUnitID = 3,Name = "Admin Unit Name"},
                                        Quantity = 100
                                    }
                            }

            };

            var transportPlanService = new Mock<ITransportBidPlanService>();
            transportPlanService.Setup(m => m.FindById(It.IsAny<int>())).Returns(transportBidPlan);

            var fakeContext = new Mock<HttpContextBase>();
            var identity = new GenericIdentity("User");
            var principal = new GenericPrincipal(identity, null);
            fakeContext.Setup(t => t.User).Returns(principal);
            var controllerContext = new Mock<ControllerContext>();
            controllerContext.Setup(t => t.HttpContext).Returns(fakeContext.Object);

            _bidAdministrationController = new BidAdministrationController(bidWinnerService.Object, applicationSettingService.Object, workFlowStatusService.Object,
                                                                         userAccountService.Object, bidService.Object, transportPlanService.Object);
        }
 public bool AddTransportBidPlan(TransportBidPlan item)
 {
     _unitOfWork.TransportBidPlanRepository.Add(item);
     _unitOfWork.Save();
     return true;
 }
 public ActionResult UpdateAjax([DataSourceRequest] DataSourceRequest request, TransportBidPlan transportbidplan)
 {
     _transportBidPlanService.UpdateTransportBidPlan(transportbidplan);
     //            transportService.EditTransporter(transporter);
     return Json(ModelState.ToDataSourceResult(), JsonRequestBehavior.AllowGet);
 }
 public bool loadLookups(TransportBidPlan transportbidplan)
 {
     ViewBag.ProgramID = new SelectList(_programService.GetAllProgram(), "ProgramID", "Name", transportbidplan.ProgramID);
     return true;
 }
 public ActionResult Edit(TransportBidPlan transportbidplan)
 {
     if (ModelState.IsValid)
     {
         _transportBidPlanService.UpdateTransportBidPlan(transportbidplan);
         return RedirectToAction("Index");
     }
     loadLookups(transportbidplan);
     return View(transportbidplan);
 }
        public ActionResult DeleteAjax2([DataSourceRequest] DataSourceRequest request, TransportBidPlan transportbidplan)
        {
            if (transportbidplan != null)
            {
                _transportBidPlanService.DeleteById(transportbidplan.TransportBidPlanID);
                //transportService.DeleteTransporter(transporter);
            }

            return Json(ModelState.ToDataSourceResult());
        }
        public ActionResult CreateAjax([DataSourceRequest] DataSourceRequest request, TransportBidPlan transportbidplan)
        {
            if (transportbidplan != null && ModelState.IsValid)
            {
                _transportBidPlanService.AddTransportBidPlan(transportbidplan);
            }

            return Json(new[] { transportbidplan }.ToDataSourceResult(request, ModelState));
        }