public ActionResult GetDataListAjax([DataSourceRequest] DataSourceRequest request, int id = 0) { IEnumerable <Cats.Models.RegionalPSNPPlanDetail> filledData = new List <RegionalPSNPPlanDetail>(); IEnumerable <PSNPPlanDetailView> allFDPData = new List <PSNPPlanDetailView>(); RegionalPSNPPlan plan = _regionalPSNPPlanService.FindById(id); if (plan != null) { IEnumerable <AdminUnit> allWoredas = _adminUnitService.FindBy(m => m.AdminUnitTypeID == 4); filledData = plan.RegionalPSNPPlanDetails; allFDPData = from woreda in allWoredas join plandetail in filledData on woreda.AdminUnitID equals plandetail.PlanedWoredaID select new PSNPPlanDetailView { //FDPID = fdp.FDPID, //FDPName = fdp.Name, WoredaID = woreda.AdminUnitID, WoredaName = woreda.Name, ZoneID = woreda.AdminUnit2.AdminUnitID, ZoneName = woreda.AdminUnit2.Name, RegionName = woreda.AdminUnit2.AdminUnit2.Name, RegionalPSNPPlanDetailID = plandetail.RegionalPSNPPlanDetailID, BeneficiaryCount = plandetail.BeneficiaryCount, RegionalPSNPPlanID = plan.RegionalPSNPPlanID, FoodRatio = plandetail.FoodRatio, CashRatio = plandetail.CashRatio, StartingMonthName = RequestHelper.MonthName(plandetail.StartingMonth) }; } return(Json(allFDPData.ToDataSourceResult(request), JsonRequestBehavior.AllowGet)); }
private IEnumerable <PSNPPlanDetailView> getDetailView(int id = 0) { IEnumerable <Cats.Models.RegionalPSNPPlanDetail> filledData = new List <RegionalPSNPPlanDetail>(); IEnumerable <PSNPPlanDetailView> allFDPData = new List <PSNPPlanDetailView>(); RegionalPSNPPlan plan = _regionalPSNPPlanService.FindById(id); if (plan != null) { ViewBag.PsnpPlan = plan; filledData = plan.RegionalPSNPPlanDetails; IEnumerable <AdminUnit> allWoredas = _adminUnitService.FindBy(m => m.AdminUnitTypeID == 4); allFDPData = from woreda in allWoredas join plandetail in filledData on woreda.AdminUnitID equals plandetail.PlanedWoredaID into fdpBeneficiary from fdb in fdpBeneficiary.DefaultIfEmpty(new RegionalPSNPPlanDetail { RegionalPSNPPlanID = plan.RegionalPSNPPlanID }) select new PSNPPlanDetailView { //FDPID = fdp.FDPID, //FDPName = fdp.Name, WoredaID = woreda.AdminUnitID, WoredaName = woreda.Name, ZoneID = woreda.AdminUnit2.AdminUnitID, ZoneName = woreda.AdminUnit2.Name, RegionalPSNPPlanDetailID = fdb.RegionalPSNPPlanDetailID, BeneficiaryCount = fdb.BeneficiaryCount, RegionalPSNPPlanID = fdb.RegionalPSNPPlanID, FoodRatio = fdb.FoodRatio, CashRatio = fdb.CashRatio }; } return(allFDPData); }
public ActionResult Edit(RegionalPSNPPlan regionalpsnpplan) { if (ModelState.IsValid) { _regionalPSNPPlanService.UpdateRegionalPSNPPlan(regionalpsnpplan); return(RedirectToAction("Index")); } LoadLookups(); return(View(regionalpsnpplan)); }
// // GET: /PSNP/RegionalPSNPPlan/Delete/5 public ActionResult Delete(int id = 0) { RegionalPSNPPlan regionalpsnpplan = _regionalPSNPPlanService.FindById(id); if (regionalpsnpplan == null) { return(HttpNotFound()); } return(View(regionalpsnpplan)); }
public bool DeleteRegionalPSNPPlan(RegionalPSNPPlan item) { if (item == null) { return(false); } _unitOfWork.RegionalPSNPPlanRepository.Delete(item); _unitOfWork.Save(); return(true); }
// // GET: /PSNP/RegionalPSNPPlan/Edit/5 public ActionResult Edit(int id = 0) { LoadLookups(); RegionalPSNPPlan regionalpsnpplan = _regionalPSNPPlanService.FindById(id); if (regionalpsnpplan == null) { return(HttpNotFound()); } return(View(regionalpsnpplan)); }
public void PostPSNP(RegionalPSNPPlan plan) { try { var ration = _rationService.FindBy(r => r.RationID == plan.RationID).FirstOrDefault(); _transactionService.PostPSNPPlan(plan, ration); } catch (Exception ex) { _log.Error("Error in posting psnp:", new Exception(ex.Message)); } }
public ActionResult promotWorkflow(int id, int nextState) { RegionalPSNPPlan item = _regionalPSNPPlanService.FindById(id); item.StatusID = nextState; _regionalPSNPPlanService.UpdateRegionalPSNPPlan(item); if (item.StatusID == (int)Cats.Models.Constant.PSNPWorkFlow.Completed) { PostPSNP(item); } return(RedirectToAction("Index")); }
public ActionResult Create(RegionalPSNPPlan regionalpsnpplan) { var planName = regionalpsnpplan.Plan.PlanName; var startDate = regionalpsnpplan.Plan.StartDate; var firstDayOfTheMonth = startDate.AddDays(1 - startDate.Day); var endDate = firstDayOfTheMonth.AddMonths(regionalpsnpplan.Duration).AddDays(-1); UserProfile user = _userProfileService.GetUser(User.Identity.Name); if (ModelState.IsValid) { _regionalPSNPPlanService.AddPsnpPlan(planName, firstDayOfTheMonth, endDate); var plan = _planService.Get(m => m.PlanName == planName, null, "Program").FirstOrDefault(); regionalpsnpplan.Plan = plan; //check if this psnp plan exitsts for this year and Plan var exists = plan != null && _regionalPSNPPlanService.DoesPsnpPlanExistForThisRegion(plan.PlanID, regionalpsnpplan.Year); if (!exists) { int BP_PSNP = _ApplicationSettingService.getPSNPWorkflow(); if (BP_PSNP != 0) { BusinessProcessState createdstate = new BusinessProcessState { DatePerformed = DateTime.Now, PerformedBy = "System", Comment = "Created workflow for PSNP Plan" }; var psnpPlan = _regionalPSNPPlanService.CreatePsnpPlan(regionalpsnpplan.Year, regionalpsnpplan.Duration, regionalpsnpplan.RationID, regionalpsnpplan.StatusID, plan.PlanID, user.UserProfileID); //_planService.ChangePlanStatus(regionalpsnpplan.PlanId); BusinessProcess bp = _BusinessProcessService.CreateBusinessProcess(BP_PSNP, regionalpsnpplan. RegionalPSNPPlanID, "PSNP", createdstate); psnpPlan.StatusID = bp.BusinessProcessID; _regionalPSNPPlanService.UpdateRegionalPSNPPlan(psnpPlan); return(RedirectToAction("Index")); } ViewBag.ErrorMessage1 = "The workflow assosiated with PSNP planning doesnot exist."; ViewBag.ErrorMessage2 = "Please make sure the workflow is created and configured."; } LoadLookups(); ModelState.AddModelError("Errors", @"PSNP plan already made for this period and plan Name."); return(View(regionalpsnpplan)); } LoadLookups(); return(View(regionalpsnpplan)); }
public RegionalPSNPPlan CreatePsnpPlan(int year, int duration, int ration, int statusID, int planID, int userId) { var psnp = new RegionalPSNPPlan() { PlanId = planID, Year = year, Duration = duration, RationID = ration, StatusID = statusID, User = userId }; _unitOfWork.RegionalPSNPPlanRepository.Add(psnp); _unitOfWork.Save(); return(psnp); }
public ActionResult PostHRD(int RegionalPSNPPlanID, int RationID) { // IEnumerable<Cats.Models.Transaction> list = (IEnumerable<Cats.Models.Transaction>)_accountTransactionService.GetAllTransaction(); loadLookups(); RegionalPSNPPlan plan = _regionalPSNPPlanService.FindById(RegionalPSNPPlanID); Ration ration = _rationService.FindById(RationID); List <Cats.Models.Transaction> list = _accountTransactionService.PostPSNPPlan(plan, ration); ViewBag.SelectedPSNPPlan = plan; ViewBag.SelectedRation = ration; // IEnumerable<RationDetail> rationdetails = ration.RationDetails; return(View(list)); }
public bool UpdatePsnpPlan(int year, int duration, int ration, int statusID, int planID) { var psnp = new RegionalPSNPPlan() { PlanId = planID, Year = year, Duration = duration, RationID = ration, StatusID = statusID }; _unitOfWork.RegionalPSNPPlanRepository.Edit(psnp); _unitOfWork.Save(); return(true); }
public ActionResult Index(int id = 0) { RegionalPSNPPlan plan = _regionalPSNPPlanService.FindById(id); if (plan == null) { return(RedirectToAction("Index", "RegionalPSNPPlan")); } // IEnumerable<PSNPPlanDetailView> allFDPData = new List<PSNPPlanDetailView>(); var preferedweight = _userAccountService.GetUserInfo(HttpContext.User.Identity.Name).PreferedWeightMeasurment; var dt = GetTransposedPSNPPlan(id, preferedweight); ViewBag.PsnpPlan = plan; UserProfile user = _userProfileService.GetUser(User.Identity.Name); ViewBag.plan_user = plan.User; ViewBag.current_user = user.UserProfileID; return(View(dt)); }
private List <BeneficiaryInfo> PSNPToRequest(RegionalPSNPPlan plan, int regionID, int month) { List <BeneficiaryInfo> benficiaries = new List <BeneficiaryInfo>(); foreach (var psnpPlan in plan.RegionalPSNPPlanDetails.Where(m => m.StartingMonth <= month)) { List <FDP> WoredaFDPs = _unitOfWork.FDPRepository.FindBy(w => w.AdminUnitID == psnpPlan.PlanedWoredaID && w.AdminUnit.AdminUnit2.AdminUnit2.AdminUnitID == regionID); ICollection <BeneficiaryInfo> woredaBeneficiaries = (from FDP fdp in WoredaFDPs select new BeneficiaryInfo { FDPID = fdp.FDPID, FDPName = fdp.Name, Beneficiaries = 0 }) .ToList(); benficiaries.AddRange(woredaBeneficiaries); } return(benficiaries); }
public ActionResult GetListAjax([DataSourceRequest] DataSourceRequest request, int id = 0) { IEnumerable <Cats.Models.RegionalPSNPPlanDetail> filledData = new List <RegionalPSNPPlanDetail>(); IEnumerable <PSNPPlanDetailView> allFDPData = new List <PSNPPlanDetailView>(); RegionalPSNPPlan plan = _regionalPSNPPlanService.FindById(id); if (plan != null) { ViewBag.PsnpPlan = plan; filledData = plan.RegionalPSNPPlanDetails; var woredas = _adminUnitService.FindBy(m => m.AdminUnitTypeID == 4); //IEnumerable<FDP> allFDPs = _FDPService.GetAllFDP(); allFDPData = from woreda in woredas join plandetail in filledData on woreda.AdminUnitID equals plandetail.PlanedWoredaID into fdpBeneficiary from fdb in fdpBeneficiary.DefaultIfEmpty(new RegionalPSNPPlanDetail { RegionalPSNPPlanID = plan.RegionalPSNPPlanID }) select new PSNPPlanDetailView { //FDPID = fdp.FDPID, //FDPName = fdp.Name, WoredaID = woreda.AdminUnitID, WoredaName = woreda.Name, ZoneID = woreda.AdminUnit2.AdminUnitID, ZoneName = woreda.AdminUnit2.Name, RegionalPSNPPlanDetailID = fdb.RegionalPSNPPlanDetailID, BeneficiaryCount = fdb.BeneficiaryCount, RegionalPSNPPlanID = fdb.RegionalPSNPPlanID, FoodRatio = fdb.FoodRatio, CashRatio = fdb.CashRatio, RegionName = woreda.AdminUnit2.AdminUnit2.Name, SartingMonth = fdb.StartingMonth, Contingency = fdb.Contingency }; } return(Json(allFDPData.ToDataSourceResult(request), JsonRequestBehavior.AllowGet)); }
public ActionResult Edit(int id = 0) { if (id == 0) { return(RedirectToAction("Index", "RegionalPSNPPlan")); } IEnumerable <Cats.Models.RegionalPSNPPlanDetail> filledData = new List <RegionalPSNPPlanDetail>(); IEnumerable <PSNPPlanDetailView> allFDPData = new List <PSNPPlanDetailView>(); RegionalPSNPPlan plan = _regionalPSNPPlanService.FindById(id); ViewData["Month"] = RequestHelper.GetMonthList(); UserProfile user = _userProfileService.GetUser(User.Identity.Name); if (plan != null) { ViewBag.PsnpPlan = plan; filledData = plan.RegionalPSNPPlanDetails; IEnumerable <PSNPPlanDetailView> allFDPs = getRegionFDPs(id); allFDPData = toViewModel(filledData, allFDPs); ViewBag.plan_user = plan.User; ViewBag.current_user = user.UserProfileID; } return(View(allFDPData)); }
public HRDPSNPPlanInfo PlanToRequest(HRDPSNPPlan plan) { //if (CheckDurationOfAssisstance(plan)) //{ HRDPSNPPlanInfo result = new HRDPSNPPlanInfo(); List <BeneficiaryInfo> beneficiaryInfos = new List <BeneficiaryInfo>(); result.HRDPSNPPlan = plan; if (plan.ProgramID == (int)Programs.PSNP) { RegionalPSNPPlan psnpplan = _unitOfWork.RegionalPSNPPlanRepository.FindBy(r => r.PlanId == plan.PSNPPlanID).FirstOrDefault(); if (psnpplan != null) { //TODO:Uncomment this (if PSNP case team Users change their mind and want to get previous request information instead of planned information) var lastPsnpRequest = _unitOfWork.RegionalRequestRepository.FindBy(r => r.RegionID == plan.RegionID && r.ProgramId == (int)Programs.PSNP && r.PlanID == plan.PSNPPlanID).LastOrDefault(); if (lastPsnpRequest != null) { result.HRDPSNPPlan.RationID = psnpplan.RationID; result.HRDPSNPPlan.Contingency = lastPsnpRequest.Contingency; var noOfPsnprequests = _unitOfWork.RegionalRequestRepository.FindBy(r => r.RegionID == plan.RegionID && r.ProgramId == (int)Programs.PSNP && r.PlanID == plan.PSNPPlanID).Count; var psnpApplicationWoredas = (from psnpDetail in psnpplan.RegionalPSNPPlanDetails where psnpDetail.PlanedWoreda.AdminUnit2.AdminUnit2.AdminUnitID == plan.RegionID && psnpDetail.FoodRatio > noOfPsnprequests select psnpDetail.PlanedWoredaID).ToList(); beneficiaryInfos = LastReliefRequest(lastPsnpRequest, psnpApplicationWoredas); } else { result.HRDPSNPPlan.RationID = psnpplan.RationID; result.HRDPSNPPlan.Contingency = psnpplan.RegionalPSNPPlanDetails.Any( t => t.StartingMonth == result.HRDPSNPPlan.Month && t.Contingency); beneficiaryInfos = PSNPToRequest(psnpplan, plan.RegionID, plan.Month); } } } else if (plan.ProgramID == (int)Programs.Releif) { HRD hrd = _unitOfWork.HRDRepository.FindBy(r => r.PlanID == plan.PlanID).LastOrDefault(); if (hrd != null) { var lastRequest = _unitOfWork.RegionalRequestRepository.FindBy( r => r.RegionID == plan.RegionID && r.ProgramId == (int)Programs.Releif && r.PlanID == plan.PlanID). LastOrDefault(); if (lastRequest != null) { result.HRDPSNPPlan.RationID = hrd.RationID; var requests = _unitOfWork.RegionalRequestRepository.FindBy( r => r.RegionID == plan.RegionID && r.ProgramId == 1 && r.PlanID == plan.PlanID); var numberOfRequestsPerRegion = requests.Count; var applicableWoredas = (from detail in hrd.HRDDetails where detail.AdminUnit.AdminUnit2.AdminUnit2.AdminUnitID == plan.RegionID //&& detail.DurationOfAssistance > numberOfRequestsPerRegion select detail.WoredaID).ToList(); beneficiaryInfos = LastReliefRequest(lastRequest, applicableWoredas); // var lastRequestDetail = LastReliefRequest(lastRequest); } else { result.HRDPSNPPlan.RationID = hrd.RationID; List <HRDDetail> hrddetail = (from woreda in hrd.HRDDetails where woreda.AdminUnit.AdminUnit2.AdminUnit2.AdminUnitID == plan.RegionID && woreda.DurationOfAssistance > 0 select woreda).ToList(); beneficiaryInfos = HRDToRequest(hrddetail); } } } else { //if program is IDPS List <BeneficiaryInfo> benficiaries = new List <BeneficiaryInfo>(); List <AdminUnit> woredas = new List <AdminUnit>(); var zones = _unitOfWork.AdminUnitRepository.FindBy( w => w.AdminUnitTypeID == 3 && w.ParentID == plan.RegionID); foreach (var zone in zones) { AdminUnit zone1 = zone; woredas.AddRange(_unitOfWork.AdminUnitRepository.FindBy(w => w.ParentID == zone1.AdminUnitID)); } //var foreach (var woreda in woredas) { AdminUnit woreda1 = woreda; List <FDP> WoredaFDPs = _unitOfWork.FDPRepository.FindBy(w => w.AdminUnitID == woreda1.AdminUnitID); ICollection <BeneficiaryInfo> woredabeneficiaries = (from FDP fdp in WoredaFDPs select new BeneficiaryInfo { FDPID = fdp.FDPID, FDPName = fdp.Name, Beneficiaries = 0 }). ToList(); benficiaries.AddRange(woredabeneficiaries); } //beneficiaryInfos = benficiaries; //beneficiaryInfos = null; } result.BeneficiaryInfos = beneficiaryInfos; return(result); //} //return null; }
public bool AddRegionalPSNPPlan(RegionalPSNPPlan item) { _unitOfWork.RegionalPSNPPlanRepository.Add(item); _unitOfWork.Save(); return(true); }