public ActionResult NewRequisiton(List <DataFromGrid> input, int id = 0)
        {
            var requId          = 0;
            var requisistionNos = input.Select(m => m.RequisitionNo);
            var requsitionNo    = _reliefRequisitionService.FindBy(m => requisistionNos.Contains(m.RequisitionNo) && m.RegionalRequestID != id);

            if (requsitionNo.Count > 0)
            {
                var requsisions           = _reliefRequisitionService.GetRequisitionByRequestId(id).ToList();
                var datePref              = _userAccountService.GetUserInfo(HttpContext.User.Identity.Name).DatePreference;
                var existingRequisitionNo = requsitionNo.FirstOrDefault();
                foreach (var reliefRequisitionNew in requsisions)
                {
                    if (reliefRequisitionNew.RequestedDate.HasValue)
                    {
                        reliefRequisitionNew.RequestDatePref   = reliefRequisitionNew.RequestedDate.Value.ToCTSPreferedDateFormat(datePref);
                        reliefRequisitionNew.RegionalRequestId = id;
                    }
                    reliefRequisitionNew.MonthName = RequestHelper.MonthName(reliefRequisitionNew.Month);
                }
                if (existingRequisitionNo != null)
                {
                    ModelState.AddModelError("Errors", String.Format("{0} Requisition No already existed please Change Requisition No", existingRequisitionNo.RequisitionNo));
                }
                return(View(requsisions));
            }


            if (ModelState.IsValid)
            {
                var requisitionNumbers = input.ToDictionary(t => t.Number, t => t.RequisitionNo);
                _reliefRequisitionService.AssignRequisitonNo(requisitionNumbers);
            }
            return(RedirectToAction("Index", "ReliefRequisition"));
        }
        public List <RequestAllocationViewModel> getIndexList(int regionId = 0, int RequisitionID = 0)
        {
            List <ReliefRequisition> req;// = _requisitionService.FindBy(r => r.RegionID == regionId && r.Status == (int)ReliefRequisitionStatus.HubAssigned);

            if (RequisitionID > 0)
            {
                req = _requisitionService.FindBy(r => r.RequisitionID == RequisitionID && r.RegionID == regionId && r.Status == (int)ReliefRequisitionStatus.HubAssigned);
            }
            else
            {
                req = _requisitionService.FindBy(r => r.RegionID == regionId && r.Status == (int)ReliefRequisitionStatus.HubAssigned);
            }
            var result = req.ToList().Select(item => new RequestAllocationViewModel
            {
                Commodity       = item.Commodity.Name,
                RegionName      = item.AdminUnit.Name,
                ZoneName        = item.AdminUnit1.Name,
                RequisitionId   = item.RequisitionID,
                CommodityId     = (int)item.CommodityID,
                Amount          = item.ReliefRequisitionDetails.Sum(a => a.Amount).ToPreferedWeightUnit(),
                HubAllocationID = item.HubAllocations.ToList()[0].HubAllocationID,
                HubName         = item.HubAllocations.ToList()[0].Hub.Name,
                //     SIAllocations=item.ReliefRequisitionDetails.RegionalRequestDetails.First().Fdpid
//                AllocatedAmount = geteAllocatedAmount(item),
//               SIAllocations = getSIAllocations(item.HubAllocations.ToList()[0].ProjectCodeAllocations.ToList()),
                FDPRequests   = getRequestDetail(item),
                FreeSIPCCodes = getSIPCLists(item.RequisitionID, (int)item.CommodityID),
            }).ToList();

            return(result);
        }
Exemple #3
0
        //[HttpPost]
        //public ActionResult Requisitions(IList<SelectFromGrid> input)
        //{

        //    var requisionIds = (from item in input where (item.IsSelected !=null ?((string[])item.IsSelected)[0]: "off")=="on"    select item.Number).ToList();
        //    var req = new List<List<int>>();
        //    req.Add(requisionIds);
        //    return CreateTransportRequisition(req);

        //}

        public ActionResult CreateTransportRequisition(int regionId)
        {
            try

            {
                var requisitions            = _reliefRequisitionService.FindBy(t => t.RegionID == regionId && t.Status == (int)ReliefRequisitionStatus.SiPcAllocationApproved);
                var programs                = (from item in requisitions select item.ProgramID).Distinct().ToList();
                var requisitionToDispatches = new List <List <int> >();
                var currentUser             = UserAccountHelper.GetUser(User.Identity.Name).UserProfileID;
                foreach (var program in programs)
                {
                    var requisitionToDispatche =
                        (from itm in requisitions where itm.ProgramID == program select itm.RequisitionID).ToList();
                    requisitionToDispatches.Add(requisitionToDispatche);
                }
                _transportRequisitionService.CreateTransportRequisition(requisitionToDispatches, currentUser);

                return(RedirectToAction("Index", "TransportRequisition"));//,new {id=(int)TransportRequisitionStatus.Draft});
            }
            catch (Exception exception)
            {
                var log = new Logger();
                log.LogAllErrorsMesseges(exception, _log);
                ModelState.AddModelError("", exception.Message);

                return(RedirectToAction("Main", "DispatchAllocation"));

                throw;
            }
        }
Exemple #4
0
        public ActionResult ApprovedRequisitions([DataSourceRequest] DataSourceRequest request)

        {
            ViewBag.Months = new SelectList(RequestHelper.GetMonthList(), "Id", "Name");
            var previousModelState = TempData["ModelState"] as ModelStateDictionary;

            if (previousModelState != null)
            {
                foreach (KeyValuePair <string, ModelState> kvp in previousModelState)
                {
                    if (!ModelState.ContainsKey(kvp.Key))
                    {
                        ModelState.Add(kvp.Key, kvp.Value);
                    }
                }
            }


            var requisititions       = _reliefRequisitionService.FindBy(r => r.Status == (int)ReliefRequisitionStatus.Approved);
            var requisitionViewModel = HubAllocationViewModelBinder.ReturnRequisitionGroupByReuisitionNo(requisititions);

            if (requisitionViewModel != null)
            {
                var total = requisitionViewModel.Count();
                ViewData["total"] = total;
            }
            else
            {
                return(HttpNotFound());
            }
            //.re _reliefRequisitionDetailService.Get(r => r.ReliefRequisition.Status == 2, null, "ReliefRequisition,Donor");
            return(View(requisitionViewModel.ToList()));
        }
        public ActionResult AllocateProjectCode()
        {
            var previousModelState = TempData["ModelState"] as ModelStateDictionary;

            if (previousModelState != null)
            {
                foreach (KeyValuePair <string, ModelState> kvp in previousModelState)
                {
                    if (!ModelState.ContainsKey(kvp.Key))
                    {
                        ModelState.Add(kvp.Key, kvp.Value);
                    }
                }
            }

            var requisititions       = _requisitionService.FindBy(r => r.Status == (int)ReliefRequisitionStatus.HubAssigned);
            var requisitionViewModel = HubAllocationViewModelBinder.ReturnRequisitionGroupByReuisitionNo(requisititions);


            if (requisitionViewModel != null)
            {
                var total = requisitionViewModel.Count();
                ViewData["total"] = total;
            }
            else
            {
                return(HttpNotFound());
            }

            return(View(requisitionViewModel.ToList()));
        }
        public ActionResult AllocateProjectCode([DataSourceRequest] DataSourceRequest request, int regionId, int status)
        {
            ViewBag.requestStatus = status;
            List <ReliefRequisition> requisititions = null;

            if (regionId == -1 || status == -1)
            {
                return(Json((new List <RequisitionViewModel>()).ToDataSourceResult(request)));
            }
            requisititions = _reliefRequisitionService.FindBy(
                r =>
                r.Status == status && r.RegionID == regionId).OrderByDescending(t => t.RequisitionID).ToList();


            var requisitionViewModel = HubAllocationViewModelBinder.ReturnRequisitionGroupByReuisitionNo(requisititions);

            return(Json(requisitionViewModel.ToDataSourceResult(request)));
        }
        public List <RequestAllocationViewModel> getIndexList(int regionId = 0)
        {
            List <ReliefRequisition> req = _requisitionService.FindBy(r => r.RegionID == regionId && r.Status == (int)ReliefRequisitionStatus.HubAssigned);
            var result = req.ToList().Select(item => new RequestAllocationViewModel
            {
                Commodity       = item.Commodity.Name,
                RegionName      = item.AdminUnit.Name,
                ZoneName        = item.AdminUnit1.Name,
                RequisitionId   = item.RequisitionID,
                CommodityId     = (int)item.CommodityID,
                Amount          = item.ReliefRequisitionDetails.Sum(a => a.Amount),
                HubAllocationID = item.HubAllocations.ToList()[0].HubAllocationID,
                HubName         = item.HubAllocations.ToList()[0].Hub.Name,
                AllocatedAmount = geteAllocatedAmount(item),
                SIAllocations   = getSIAllocations(item.HubAllocations.ToList()[0].ProjectCodeAllocations.ToList()),
                FreeSIPCCodes   = getSIPCLists(item.RequisitionID, (int)item.CommodityID),
            }).ToList();

            return(result);
        }
Exemple #8
0
        public ActionResult CancelChanges(int id)
        {
            var requisitions = _reliefRequisitionService.FindBy(t => t.RegionalRequestID == id);

            foreach (var reliefRequisition in requisitions)
            {
                var deatils = _reliefRequisitionDetailService.FindBy(t => t.RequisitionID == reliefRequisition.RequisitionID);
                foreach (var detail in deatils)
                {
                    _reliefRequisitionDetailService.DeleteReliefRequisitionDetail(detail);
                }
                _reliefRequisitionService.DeleteReliefRequisition(reliefRequisition);
            }

            var request = _regionalRequestService.FindById(id);

            request.Status = (int)RegionalRequestStatus.Approved;
            _regionalRequestService.EditRegionalRequest(request);

            return(RedirectToAction("Details", "Request", new { id = id }));
        }
Exemple #9
0
        public WoredaStockDistributionWithDetailViewModel CheckWoredaDistribution(int woredaID = -1, int planID = -1, int month = -1, int programId = -1)
        {
            if (woredaID == -1 || planID == -1 || month == -1 || programId == -1)
            {
                return(null);
            }
            //var woredaStockDistribution = _utilizationService.FindBy(m => m.WoredaID == woredaID && m.Month == month && m.PlanID == planID).FirstOrDefault();
            var             zoneID          = _commonService.GetZoneID(woredaID);
            var             regionID        = _commonService.GetRegion(zoneID);
            RegionalRequest regionalRequest = null;

            if (programId == (int)Programs.Releif)
            {
                regionalRequest =
                    _regionalRequestService.FindBy(m => m.PlanID == planID && m.Round == month && m.RegionID == regionID)
                    .FirstOrDefault();
            }
            else if (programId == (int)Programs.PSNP)
            {
                regionalRequest = _regionalRequestService.FindBy(m => m.PlanID == planID && m.Month == month && m.RegionID == regionID)
                                  .FirstOrDefault();
            }
            if (regionalRequest != null)
            {
                var requisition =
                    _reliefRequisitionService.FindBy(
                        m => m.RegionalRequestID == regionalRequest.RegionalRequestID && m.ZoneID == zoneID);

                if (requisition != null)
                {
                    var woredaStockDistribution = _utilizationService.FindBy(m => m.WoredaID == woredaID && m.Month == month && m.PlanID == planID).FirstOrDefault();
                    if (woredaStockDistribution == null)
                    {
                        var fdpStockDistribution = _commonService.GetFDPs(woredaID);

                        var woredaDistributionDetailViewModels = new List <WoredaDistributionDetailViewModel>();
                        foreach (var reliefRequisition in requisition)
                        {
                            var detail = GetWoredaStockDistribution(fdpStockDistribution, reliefRequisition);
                            if (detail != null)
                            {
                                woredaDistributionDetailViewModels.AddRange(detail);
                            }
                        }
                        var listOfFdps = new WoredaStockDistributionWithDetailViewModel
                        {
                            WoredaDistributionDetailViewModels = woredaDistributionDetailViewModels,
                        };

                        return(listOfFdps);
                    }

                    var woredaStockDistributionWithDetailViewModel = new WoredaStockDistributionWithDetailViewModel()
                    {
                        WoredaStockDistributionID = woredaStockDistribution.WoredaStockDistributionID,
                        WoredaID                           = woredaStockDistribution.WoredaID,
                        ProgramID                          = woredaStockDistribution.ProgramID,
                        PlanID                             = woredaStockDistribution.PlanID,
                        Month                              = woredaStockDistribution.WoredaStockDistributionID,
                        DirectSupport                      = woredaStockDistribution.DirectSupport,
                        PublicSupport                      = woredaStockDistribution.PublicSupport,
                        ActualBeneficairies                = woredaStockDistribution.ActualBeneficairies,
                        MaleBetween5And18Years             = woredaStockDistribution.MaleBetween5And18Years,
                        FemaleLessThan5Years               = woredaStockDistribution.FemaleLessThan5Years,
                        MaleAbove18Years                   = woredaStockDistribution.MaleAbove18Years,
                        MaleLessThan5Years                 = woredaStockDistribution.MaleLessThan5Years,
                        FemaleAbove18Years                 = woredaStockDistribution.FemaleAbove18Years,
                        FemaleBetween5And18Years           = woredaStockDistribution.FemaleBetween5And18Years,
                        WoredaDistributionDetailViewModels = (from woredaDistributionDetail in woredaStockDistribution.WoredaStockDistributionDetails
                                                              from reliefRequisition in requisition
                                                              where woredaDistributionDetail.CommodityID == reliefRequisition.CommodityID
                                                              let lossReason = woredaDistributionDetail.LossReason
                                                                               where lossReason != null
                                                                               select new WoredaDistributionDetailViewModel()
                        {
                            WoredaStockDistributionDetailID = woredaDistributionDetail.WoredaStockDistributionDetailID,
                            FdpId = woredaDistributionDetail.FdpId,
                            FDP = woredaDistributionDetail.FDP.Name,
                            CommodityID = GetRequisionInfo(reliefRequisition.RequisitionID, woredaDistributionDetail.FdpId).CommodityID,
                            CommodityName = GetRequisionInfo(reliefRequisition.RequisitionID, woredaDistributionDetail.FdpId).CommodityName,
                            AllocatedAmount = GetRequisionInfo(reliefRequisition.RequisitionID, woredaDistributionDetail.FdpId).AllocatedAmount,
                            NumberOfBeneficiaries = GetRequisionInfo(reliefRequisition.RequisitionID, woredaDistributionDetail.FdpId).BeneficaryNumber,
                            //RequisitionDetailViewModel = GetRequisionInfo(reliefRequisition.RequisitionID, woredaDistributionDetail.FdpId),
                            dispatched = GetDispatchAllocation(reliefRequisition.RequisitionNo, woredaDistributionDetail.FDP.FDPID),
                            delivered = GetDelivered(reliefRequisition.RequisitionNo, woredaDistributionDetail.FDP.FDPID),
                            RequistionNo = reliefRequisition.RequisitionNo,
                            Round = reliefRequisition.Round,
                            Month = RequestHelper.MonthName(reliefRequisition.Month),
                            BeginingBalance = woredaDistributionDetail.StartingBalance,
                            EndingBalance = woredaDistributionDetail.EndingBalance,
                            DistributedAmount = woredaDistributionDetail.DistributedAmount,
                            TotalIn = woredaDistributionDetail.TotalIn,
                            TotalOut = woredaDistributionDetail.TotoalOut,
                            LossAmount = woredaDistributionDetail.LossAmount,
                            LossReasonId = (int)lossReason,
                            RequisitionId = woredaDistributionDetail.RequisitionId,
                            DistributionStartDate = woredaDistributionDetail.DistributionStartDate,
                            DistributionEndDate = woredaDistributionDetail.DistributionEndDate
                        }
                                                              ).ToList()
                    };

                    return(woredaStockDistributionWithDetailViewModel);
                }
                return(null);
            }
            return(null);
        }
Exemple #10
0
        public JsonResult RegionalData(int regionID)
        {
            var requests      = _regionalRequestService.FindBy(t => t.RegionID == regionID);
            var requisitions  = _reliefRequisitionService.FindBy(t => t.RegionID == regionID);
            var totalRequests = requests.Count();
            var currentPlan   = _hrdService.FindBy(t => t.Status == 3).FirstOrDefault().PlanID;
            var utilizations  = _utilization.FindBy(t => t.PlanID == currentPlan);

            var sum18  = 0;
            var sum518 = 0;
            var sum5   = 0;
            var female = 0;
            var male   = 0;

            if (utilizations != null)
            {
                foreach (var i in utilizations)
                {
                    sum18  = +(i.FemaleAbove18Years + i.MaleAbove18Years);
                    sum5   = +(i.FemaleLessThan5Years + i.MaleLessThan5Years);
                    sum518 = +(i.FemaleBetween5And18Years + i.MaleBetween5And18Years);
                    female = +(i.FemaleAbove18Years + i.FemaleBetween5And18Years + i.FemaleLessThan5Years);
                    male   = +(i.MaleAbove18Years + i.MaleBetween5And18Years + i.MaleLessThan5Years);
                }
            }


            var draft = (from r in requests
                         where r.Status == 1
                         select r).Count();

            var approved = (from r in requests
                            where r.Status == 2
                            select r).Count();

            var closed = (from r in requests
                          where r.Status == 3
                          select r).Count();

            var federalApp = (from r in requests
                              where r.Status >= 4
                              select r).Count();

            var reqApp = (from r in requisitions
                          where r.Status == 2
                          select r).Count();

            var reqDraft = (from r in requisitions
                            where r.Status == 1
                            select r).Count();

            var reqHub = (from r in requisitions
                          where r.Status >= 3
                          select r).Count();

            var d = new DashboardData();

            if (totalRequests != 0)
            {
                d.ApprovedRequests    = (decimal)approved;
                d.PendingRequests     = (decimal)(draft);
                d.HubAssignedRequests = (decimal)(closed);
                d.FederalApproved     = (decimal)(federalApp);
            }
            if (requisitions.Count() != 0)
            {
                d.ApprovedRequisitions    = ((decimal)(reqApp));
                d.HubAssignedRequisitions = ((decimal)(reqHub));
                d.PendingRequisitions     = ((decimal)(reqDraft));
            }

            d.Above18  = sum18;
            d.Bet5And8 = sum518;
            d.Below5   = sum5;
            d.Female   = female;
            d.Male     = male;

            d.IncomingCommodity  = 25131;
            d.IncomingDispatches = 2142;

            return(Json(d, JsonRequestBehavior.AllowGet));
        }