コード例 #1
0
        List <RfqViewModel> getViewModelList(int BidPlanID, int RegionID)
        {
            TransportBidPlan bidPlan = _transportBidPlanService.FindById(BidPlanID);

            List <TransportBidPlanDetail> regionalPlan = _transportBidPlanDetailService.FindBy(t => t.BidPlanID == BidPlanID && t.Destination.AdminUnit2.AdminUnit2.AdminUnitID == RegionID);

            var regionalPlanSorted =
                (from planDetail in regionalPlan
                 orderby planDetail.Source.Name, planDetail.Destination.AdminUnit2.Name, planDetail.DestinationID, planDetail.ProgramID
                 select planDetail

                ).ToList();


            List <RfqViewModel> regionPlanDistinct = (from rg in regionalPlanSorted

                                                      select new RfqViewModel
            {
                SourceWarehouse = rg.Source.Name,
                DestinationZone = rg.Destination.AdminUnit2.Name,
                RegionName = rg.Destination.AdminUnit2.AdminUnit2.Name,
                DestinationWoreda = rg.Destination.Name,
                Quantity = rg.Quantity
            })

                                                     .GroupBy(rg => new { rg.SourceWarehouse, rg.DestinationZone, rg.DestinationWoreda })

                                                     .Select(s => s.FirstOrDefault()).ToList();

            return(regionPlanDistinct);
        }
コード例 #2
0
 public TransportBidPlanViewModel CopyToView(TransportBidPlan transportbidplan)
 {
     return(new TransportBidPlanViewModel {
         TransportBidPlanID = transportbidplan.TransportBidPlanID
         , Year = transportbidplan.Year
         , YearHalf = transportbidplan.YearHalf
     });
 }
コード例 #3
0
        public FileResult Print(int bidID, int regionID)
        {
            var datePref   = _userAccountService.GetUserInfo(HttpContext.User.Identity.Name).DatePreference;
            var reportPath = Server.MapPath("~/Report/Procurment/RFQ.rdlc");

            var bid    = _bidService.FindById(bidID);
            var planID = bid.TransportBidPlanID;


            TransportBidPlan bidPlan = _transportBidPlanService.FindById(planID);

            List <TransportBidPlanDetail> regionalPlan = _transportBidPlanDetailService.FindBy(t => t.BidPlanID == planID && t.Destination.AdminUnit2.AdminUnit2.AdminUnitID == regionID);

            var totalReliefAmount = regionalPlan.Where(m => m.ProgramID == 1).Sum(m => m.Quantity);
            var totalPsnpAmount   = regionalPlan.Where(m => m.ProgramID == 2).Sum(m => m.Quantity);
            var rfqDetail         = (from transportBidPlanDetail in regionalPlan
                                     select new RfqPrintViewModel
            {
                Source = transportBidPlanDetail.Source.Name,
                Zone = transportBidPlanDetail.Destination.AdminUnit2.Name,
                Woreda = transportBidPlanDetail.Destination.Name,
                WoredaID = transportBidPlanDetail.DestinationID,
                Region = transportBidPlanDetail.Destination.AdminUnit2.AdminUnit2.Name,
                BidReference = bid.BidNumber,
                ProgramID = transportBidPlanDetail.ProgramID,
                Quantity = transportBidPlanDetail.Quantity / 10,
                BidOpeningdate = bid.OpeningDate.ToCTSPreferedDateFormat(datePref),
                BidOpeningTime = bid.startTime
            }
                                     ).Where(m => m.Quantity > 0)
                                    .GroupBy(ac => new
            {
                ac.Woreda,
                ac.Source,
                ac.Region,
                ac.Zone
            })
                                    .Select(ac => new RfqPrintViewModel
            {
                Source         = ac.Key.Source,
                Zone           = ac.Key.Zone,
                Woreda         = ac.Key.Woreda,
                Region         = ac.Key.Region,
                BidReference   = bid.BidNumber,
                Quantity       = ac.Sum(m => m.Quantity),
                ReliefAmount   = totalReliefAmount / 10,
                PsnpAmount     = totalPsnpAmount / 10,
                BidOpeningdate = bid.OpeningDate.ToCTSPreferedDateFormat(datePref),
                BidOpeningTime = bid.startTime
            });
            var reportData = rfqDetail;

            var dataSourceName = "RFQDataset";
            var result         = ReportHelper.PrintReport(reportPath, reportData, dataSourceName);

            return(File(result.RenderBytes, result.MimeType));
        }
コード例 #4
0
 public bool DeleteTransportBidPlan(TransportBidPlan item)
 {
     if (item == null)
     {
         return(false);
     }
     _unitOfWork.TransportBidPlanRepository.Delete(item);
     _unitOfWork.Save();
     return(true);
 }
コード例 #5
0
 public ActionResult Edit(TransportBidPlan transportbidplan)
 {
     if (ModelState.IsValid)
     {
         _transportBidPlanService.UpdateTransportBidPlan(transportbidplan);
         return(RedirectToAction("Index"));
     }
     loadLookups(transportbidplan);
     return(View(transportbidplan));
 }
コード例 #6
0
        //
        // GET: /Procurement/TransportBidPlan/Details/5

        public ActionResult Details(int id = 0)
        {
            TransportBidPlan transportbidplan = fetchFromDB(id);

            if (transportbidplan == null)
            {
                return(HttpNotFound());
            }
            return(View(transportbidplan));
        }
コード例 #7
0
        //
        // GET: /Procurement/TransportBidPlan/Details/5

        public ActionResult WarehouseSelection(int id = 0)
        {
            TransportBidPlan transportbidplan = fetchFromDB(id);

            ViewBag.WarehouseID      = _hubService.GetAllHub();
            @ViewBag.bidPlan         = transportbidplan;
            ViewBag.RegionCollection = _adminUnitService.FindBy(t => t.AdminUnitTypeID == 2);
            List <WarehouseProgramViewModel> table = GetWoredaWarehouseProgram(id, 0);

            return(View(table));
        }
コード例 #8
0
        //
        // GET: /Procurement/TransportBidPlan/Edit/5

        public ActionResult Edit(int id = 0)
        {
            TransportBidPlan transportbidplan = fetchFromDB(id);

            if (transportbidplan == null)
            {
                return(HttpNotFound());
            }
            loadLookups(transportbidplan);

            return(View(transportbidplan));
        }
コード例 #9
0
        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));
        }
コード例 #10
0
        public ActionResult Details(int BidID = 0)
        {
            //ViewBag.RegionID = new SelectList(_adminUnitService.GetAllAdminUnit(), "AdminUnitID", "Name", RegionID);
            var datePref = _userAccountService.GetUserInfo(HttpContext.User.Identity.Name).DatePreference;
            var bid      = _bidService.FindById(BidID);

            if (bid == null)
            {
                return(HttpNotFound());
            }
            var RegionID = bid.RegionID;
            var r        = _adminUnitService.FindById(bid.RegionID);

            ViewBag.SelectedRegion = r.Name;


            ViewBag.BidID    = new SelectList(_bidService.GetAllBid(), "BidID", "BidNumber", BidID);
            ViewBag.RegionID = new SelectList(_adminUnitService.FindBy(t => t.AdminUnitTypeID == 2), "AdminUnitID", "Name", RegionID);


            var bidPlanID = bid.TransportBidPlanID;

            ViewBag.BidReference = bid.BidNumber;
            ViewBag.OpeningDate  = bid.OpeningDate.ToCTSPreferedDateFormat(datePref);
            ViewBag.bid          = BidID;
            ViewBag.reg          = RegionID;

            TransportBidPlan bidPlan = _transportBidPlanService.FindById(bidPlanID);

            List <TransportBidPlanDetail> regionalPlan = _transportBidPlanDetailService.FindBy(t => t.BidPlanID == bidPlanID && t.Destination.AdminUnit2.AdminUnit2.AdminUnitID == RegionID);

            var regionalPlanSorted =
                (from planDetail in regionalPlan
                 orderby planDetail.Source.Name, planDetail.Destination.AdminUnit2.Name, planDetail.DestinationID, planDetail.ProgramID
                 select planDetail

                ).ToList();


            var regionPlanDistinct = (from rg in regionalPlanSorted

                                      select new RfqViewModel()
            {
                SourceWarehouse = rg.Source.Name,
                DestinationZone = rg.Destination.AdminUnit2.Name,
                DestinationWoreda = rg.Destination.Name,
                RegionName = rg.Destination.AdminUnit2.AdminUnit2.Name,
                Quantity = rg.Quantity / 10,
            }
                                      ).Where(m => m.Quantity > 0)
                                     .GroupBy(ac => new
            {
                ac.DestinationWoreda,
                ac.SourceWarehouse,
                ac.RegionName,
                ac.DestinationZone
            })
                                     .Select(ac => new RfqViewModel
            {
                SourceWarehouse   = ac.Key.SourceWarehouse,
                DestinationZone   = ac.Key.DestinationZone,
                DestinationWoreda = ac.Key.DestinationWoreda,
                RegionName        = ac.Key.RegionName,
                Quantity          = ac.Sum(m => m.Quantity)
            });

            ViewBag.regionalPlanSorted = regionalPlanSorted;
            ViewBag.regionPlanDistinct = regionPlanDistinct;

            ViewBag.BidPlan        = bidPlan;
            ViewBag.region         = RegionID;
            ViewBag.total          = regionPlanDistinct.Sum(m => m.Quantity);
            ViewBag.bidOpeningTime = bid.startTime;
            return(View(bidPlan));
        }
コード例 #11
0
        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);
        }
コード例 #12
0
 public bool AddTransportBidPlan(TransportBidPlan item)
 {
     _unitOfWork.TransportBidPlanRepository.Add(item);
     _unitOfWork.Save();
     return(true);
 }
コード例 #13
0
 public bool loadLookups(TransportBidPlan transportbidplan)
 {
     ViewBag.ProgramID = new SelectList(_programService.GetAllProgram(), "ProgramID", "Name", transportbidplan.ProgramID);
     return(true);
 }
コード例 #14
0
        public TransportBidPlan fetchFromDB(int id)
        {
            TransportBidPlan transportbidplan = _transportBidPlanService.FindById(id);

            return(transportbidplan);
        }
コード例 #15
0
        public ActionResult CreateAjax([DataSourceRequest] DataSourceRequest request, TransportBidPlan transportbidplan)
        {
            if (transportbidplan != null && ModelState.IsValid)
            {
                _transportBidPlanService.AddTransportBidPlan(transportbidplan);
            }

            return(Json(new[] { transportbidplan }.ToDataSourceResult(request, ModelState)));
        }
コード例 #16
0
        public ActionResult UpdateAjax([DataSourceRequest] DataSourceRequest request, TransportBidPlan transportbidplan)
        {
            _transportBidPlanService.UpdateTransportBidPlan(transportbidplan);
//            transportService.EditTransporter(transporter);
            return(Json(ModelState.ToDataSourceResult(), JsonRequestBehavior.AllowGet));
        }
コード例 #17
0
        public ActionResult DeleteAjax2([DataSourceRequest] DataSourceRequest request, TransportBidPlan transportbidplan)
        {
            if (transportbidplan != null)
            {
                _transportBidPlanService.DeleteById(transportbidplan.TransportBidPlanID);
                //transportService.DeleteTransporter(transporter);
            }

            return(Json(ModelState.ToDataSourceResult()));
        }