public bool AddHRD(int year, int userID, int seasonID, int rationID, int planID) { var woredas = _unitOfWork.AdminUnitRepository.FindBy(m => m.AdminUnitTypeID == 4); var hrd = new HRD() { Year = year, CreatedBY = userID, SeasonID = seasonID, RationID = rationID, PlanID = planID, CreatedDate = DateTime.Now, PublishedDate = DateTime.Now, Status = (int?) HRDStatus.Draft }; var hrdDetails = (from detail in woredas select new HRDDetail { WoredaID = detail.AdminUnitID, StartingMonth = 1, NumberOfBeneficiaries = 0, DurationOfAssistance = 0 }).ToList(); hrd.HRDDetails = hrdDetails; _unitOfWork.HRDRepository.Add(hrd); _unitOfWork.Save(); return true; }
public bool AddHRDFromAssessment(HRD hrd) { _unitOfWork.HRDRepository.Add(hrd); _unitOfWork.Save(); var plan=_unitOfWork.PlanRepository.FindById(hrd.PlanID); plan.Status = (int) PlanStatus.HRDCreated; _unitOfWork.PlanRepository.Edit(plan); _unitOfWork.Save(); return true; }
public static List<HRDCompareViewModel> BindHRDCompareViewModel(HRD hrdOriginal, HRD hrdRefrence, int filterRegion) { var hrdCompareViewModels = new List<HRDCompareViewModel>(); if (hrdOriginal == null) return hrdCompareViewModels; if (!hrdOriginal.HRDDetails.Any()) return hrdCompareViewModels; foreach (var hrdDetail in hrdOriginal.HRDDetails.Where(t => t.AdminUnit.AdminUnit2.AdminUnit2.AdminUnitID == filterRegion)) { var hrdCompareViewModel = new HRDCompareViewModel(); hrdCompareViewModel.Year = hrdOriginal.Year; hrdCompareViewModel.SeasonId = hrdOriginal.SeasonID.HasValue ? hrdOriginal.SeasonID.Value : 0; hrdCompareViewModel.Season = hrdOriginal.SeasonID.HasValue ? hrdOriginal.Season.Name : string.Empty; hrdCompareViewModel.RationId = hrdOriginal.RationID; hrdCompareViewModel.DurationOfAssistance = hrdDetail.DurationOfAssistance; hrdCompareViewModel.BeginingMonth = hrdDetail.StartingMonth; hrdCompareViewModel.Beneficiaries = hrdDetail.NumberOfBeneficiaries; hrdCompareViewModel.ZoneId = hrdDetail.AdminUnit.AdminUnit2.AdminUnitID; hrdCompareViewModel.Zone = hrdDetail.AdminUnit.AdminUnit2.Name; hrdCompareViewModel.RegionId = hrdDetail.AdminUnit.AdminUnit2.AdminUnit2.AdminUnitID; hrdCompareViewModel.Region = hrdDetail.AdminUnit.AdminUnit2.AdminUnit2.Name; hrdCompareViewModel.WoredaId = hrdDetail.WoredaID; hrdCompareViewModel.Woreda = hrdDetail.AdminUnit.Name; hrdCompareViewModel.StartingMonth = RequestHelper.MonthName(hrdDetail.StartingMonth); if (hrdRefrence != null) { var hrdReferenceDetail = hrdRefrence.HRDDetails.FirstOrDefault(t => t.WoredaID == hrdDetail.WoredaID); if (hrdReferenceDetail != null) { hrdCompareViewModel.RefrenceDuration = hrdReferenceDetail.DurationOfAssistance; hrdCompareViewModel.BeginingMonthReference = hrdReferenceDetail.StartingMonth; hrdCompareViewModel.BeneficiariesRefrence = hrdReferenceDetail.NumberOfBeneficiaries; hrdCompareViewModel.StartingMonthReference = RequestHelper.MonthName(hrdReferenceDetail.StartingMonth); } } hrdCompareViewModels.Add(hrdCompareViewModel); } return hrdCompareViewModels; }
public bool AddHRD(HRD hrd) { _unitOfWork.HRDRepository.Add(hrd); _unitOfWork.Save(); return true; }
public bool EditHRD(HRD hrd) { _unitOfWork.HRDRepository.Edit(hrd); _unitOfWork.Save(); return true; }
public void ShouldPostHRDPlanTransaction() { //Act var hrd = new HRD() { HRDID = 1, Year = 2014, CreatedDate = DateTime.Now, PublishedDate = DateTime.Now, RationID = 1, PlanID = 1, Ration = new Ration() { RationID = 1, CreatedDate = DateTime.Now, IsDefaultRation = true, RefrenceNumber = "Ration-Default", RationDetails = new List<RationDetail>() { new RationDetail() { RationDetailID = 1, RationID =1, CommodityID = 1, Amount = 20, }, new RationDetail() { RationDetailID = 2, RationID =1, CommodityID = 2, Amount = 20, } }, }, HRDDetails = new List<HRDDetail>() { new HRDDetail() { HRDDetailID = 1, HRDID = 1, WoredaID = 3, NumberOfBeneficiaries = 123, DurationOfAssistance = 6, StartingMonth = 6, AdminUnit = new AdminUnit() { AdminUnitID = 3, Name = "Woreda1", AdminUnitTypeID = 4, AdminUnit2 = new AdminUnit() { AdminUnitID = 2, Name = "Zone1", AdminUnitTypeID = 3, AdminUnit2 = new AdminUnit() { AdminUnitID = 1, Name = "Region1", AdminUnitTypeID = 2, } } } } } }; var ration = new Ration() { RationID = 1, CreatedDate = DateTime.Now, IsDefaultRation = true, RefrenceNumber = "Ration-Default", RationDetails = new List<RationDetail>() { new RationDetail() { RationDetailID = 1, RationID =1, CommodityID = 1, Amount = 20, }, new RationDetail() { RationDetailID = 2, RationID =1, CommodityID = 2, Amount = 20, } } }; var result = _accountTransactionService.PostHRDPlan(hrd, ration); //Assert Assert.IsInstanceOf<List<Models.Transaction>>(result); }
private IEnumerable<RegionalSummaryViewModel> GetSummary(HRD hrd) { var details = hrd.HRDDetails; //var hrd = _hrdService.FindById(id); //details.First().HRD; var cerealCoefficient = hrd.Ration.RationDetails.First(m => m.Commodity.CommodityID == 1).Amount; var blendFoodCoefficient = hrd.Ration.RationDetails.First(m => m.Commodity.CommodityID == 2).Amount; var pulseCoefficient = hrd.Ration.RationDetails.First(m => m.Commodity.CommodityID == 3).Amount; var oilCoefficient = hrd.Ration.RationDetails.First(m => m.Commodity.CommodityID == 4).Amount; ViewBag.SeasonID = hrd.Season.Name; ViewBag.Year = hrd.Year; var groupedTotal = from detail in details group detail by detail.AdminUnit.AdminUnit2.AdminUnit2 into regionalDetail select new { Region = regionalDetail.Key, NumberOfBeneficiaries = regionalDetail.Sum(m => m.NumberOfBeneficiaries), Duration = regionalDetail.Sum(m => (m.NumberOfBeneficiaries * m.DurationOfAssistance)) }; return (from total in groupedTotal select new RegionalSummaryViewModel { RegionName = total.Region.Name, NumberOfBeneficiaries = total.NumberOfBeneficiaries, Cereal = cerealCoefficient * total.Duration, BlededFood = blendFoodCoefficient * total.Duration, Oil = oilCoefficient * total.Duration, Pulse = pulseCoefficient * total.Duration }); }
public ActionResult Create(HRD hrd) { var year = hrd.Year; var userID = _needAssessmentService.GetUserProfileId(HttpContext.User.Identity.Name); var seasonID = hrd.SeasonID.HasValue ? hrd.SeasonID.Value:1; var rationID = hrd.RationID; var planName = hrd.Plan.PlanName; var startDate = hrd.Plan.StartDate; var firstDayOfTheMonth = startDate.AddDays(1 - startDate.Day); var endDate = firstDayOfTheMonth.AddMonths(hrd.Plan.Duration).AddDays(-1); if (ModelState.IsValid) { var existingPlan = _planService.FindBy(m => m.PlanName == planName && m.ProgramID==1).FirstOrDefault(); if (existingPlan!=null) { ModelState.AddModelError("Errors", @"HRD Name already Exists Please Change HRD Name"); } else { try { _planService.AddHRDPlan(planName, firstDayOfTheMonth, endDate); var plan = _planService.FindBy(m => m.PlanName == planName).FirstOrDefault(); var planID = plan.PlanID; _hrdService.AddHRD(year, userID, seasonID, rationID, planID); return RedirectToAction("Index"); } catch (Exception exception) { var log = new Logger(); log.LogAllErrorsMesseges(exception, _log); ModelState.AddModelError("Errors", @"Unable To Create New HRD"); //ViewBag.Error = "HRD for this Season and Year already Exists"; } } } ViewBag.Year = hrd.Year; ViewBag.RationID = new SelectList(_rationService.GetAllRation(), "RationID", "RefrenceNumber", hrd.RationID = 1); ViewBag.SeasonID = new SelectList(_seasonService.GetAllSeason(), "SeasonID", "Name"); return View(hrd); }
public ActionResult Edit(HRD hrd) { var userid = UserAccountHelper.GetUser(HttpContext.User.Identity.Name).UserProfileID; hrd.CreatedBY = userid; if (ModelState.IsValid) { _hrdService.EditHRD(hrd); return RedirectToAction("Index"); } return View(hrd); }
public ActionResult CreateHRD(HRD hrd) { DateTime dateCreated = DateTime.Now; DateTime DatePublished = DateTime.Now; hrd.CreatedDate = dateCreated; hrd.PublishedDate = DatePublished; hrd.Status = 1; if (ModelState.IsValid) { try { var userid = _needAssessmentService.GetUserProfileId(HttpContext.User.Identity.Name); var woredas = _adminUnitService.FindBy(m => m.AdminUnitTypeID == 4); hrd.CreatedBY = userid; var hrdDetails = (from detail in woredas select new HRDDetail { WoredaID = detail.AdminUnitID, StartingMonth = 1, NumberOfBeneficiaries = _needAssessmentDetailService.GetNeedAssessmentBeneficiaryNoFromPlan( hrd.PlanID, detail.AdminUnitID), DurationOfAssistance = _needAssessmentDetailService.GetNeedAssessmentMonthsFromPlan( hrd.PlanID, detail.AdminUnitID) }).ToList(); hrd.HRDDetails = hrdDetails; _hrdService.AddHRDFromAssessment(hrd); return RedirectToAction("Index"); } catch (Exception exception) { var log = new Logger(); log.LogAllErrorsMesseges(exception, _log); ModelState.AddModelError("Errors", "Unable to create hrd form the given need Assessment"); //ViewBag.Error = "HRD for this Season and Year already Exists"; } } ViewBag.Year = hrd.Year; ViewBag.RationID = new SelectList(_rationService.GetAllRation(), "RationID", "RefrenceNumber", hrd.RationID = 1); ViewBag.SeasonID = new SelectList(_seasonService.GetAllSeason(), "SeasonID", "Name"); return View(hrd); }
public ActionResult CreateHRD(int id) { var plan = _hrdService.GetPlan(id); var hrd = new HRD(); ViewBag.Year = DateTime.Today.Year; ViewBag.RationID = new SelectList(_rationService.GetAllRation(), "RationID", "RefrenceNumber", hrd.RationID = 1); ViewBag.SeasonID = new SelectList(_seasonService.GetAllSeason(), "SeasonID", "Name"); hrd.PlanID = plan.PlanID; return View(hrd); }
public ActionResult Create(HRD hrd) { //DateTime dateCreated = DateTime.Now; //DateTime DatePublished = DateTime.Now; //hrd.CreatedDate = dateCreated; //hrd.PublishedDate = DatePublished; //hrd.Status = 1; var year = hrd.Year; var userID = _needAssessmentService.GetUserProfileId(HttpContext.User.Identity.Name); var seasonID = hrd.SeasonID.HasValue ? hrd.SeasonID.Value:0; var rationID = hrd.RationID; var planName = hrd.Plan.PlanName; var startDate = hrd.Plan.StartDate; var endDate = hrd.Plan.EndDate; if (ModelState.IsValid) { try { //var userid = _needAssessmentService.GetUserProfileId(HttpContext.User.Identity.Name); //var woredas = _adminUnitService.FindBy(m => m.AdminUnitTypeID == 4); //var seasonID = hrd.SeasonID; _planService.AddHRDPlan(planName, startDate, endDate); var plan=_planService.FindBy(m => m.PlanName == planName).FirstOrDefault(); var planID = plan.PlanID; _hrdService.AddHRD(year, userID, seasonID, rationID, planID); //hrd.CreatedBY = userid; //var hrdDetails = (from detail in woredas // select new HRDDetail // { // WoredaID = detail.AdminUnitID, // StartingMonth = 1, // //NumberOfBeneficiaries = _needAssessmentDetailService.GetNeedAssessmentBeneficiaryNo(hrd.Year, (int)seasonID, detail.AdminUnitID), // //DurationOfAssistance = _needAssessmentDetailService.GetNeedAssessmentMonths(hrd.Year, (int)seasonID, detail.AdminUnitID) // NumberOfBeneficiaries = 0, // //_needAssessmentDetailService.GetNeedAssessmentBeneficiaryNoFromPlan(hrd.PlanID,detail.AdminUnitID), // DurationOfAssistance = 0 // //_needAssessmentDetailService.GetNeedAssessmentMonthsFromPlan(hrd.PlanID,detail.AdminUnitID) // }).ToList(); //hrd.HRDDetails = hrdDetails; //_hrdService.AddHRD(hrd); return RedirectToAction("Index"); } catch (Exception exception) { var log = new Logger(); log.LogAllErrorsMesseges(exception, _log); ModelState.AddModelError("Errors", "Unable To Create New HRD"); //ViewBag.Error = "HRD for this Season and Year already Exists"; } } ViewBag.Year = hrd.Year; ViewBag.RationID = new SelectList(_rationService.GetAllRation(), "RationID", "RefrenceNumber", hrd.RationID = 1); ViewBag.SeasonID = new SelectList(_seasonService.GetAllSeason(), "SeasonID", "Name"); return View(hrd); }
public ActionResult Create() { var hrd = new HRD(); // hrd.HRDDetails = new List<HRDDetail>(); ViewBag.Year = DateTime.Today.Year; ViewBag.RationID = new SelectList(_rationService.GetAllRation(), "RationID", "RefrenceNumber", hrd.RationID = 1); ViewBag.NeedAssessmentID = new SelectList(_needAssessmentService.GetAllNeedAssessmentHeader().Where(m => m.NeedAssessment.NeedAApproved == true), "NAHeaderId", "NeedACreatedDate"); ViewBag.PlanID = new SelectList(_hrdService.GetPlans(), "PlanID", "PlanName"); ViewBag.SeasonID = new SelectList(_seasonService.GetAllSeason(), "SeasonID", "Name"); return View(hrd); }
public List<Models.Transaction> PostHRDPlan(HRD hrd, Ration ration) { List<Models.Transaction> entries = new List<Models.Transaction>(); List<int> regionalBenCount = new List<int>(); ration = hrd.Ration; int RegionID=0; for (int r = 0; r < 12; r++) { regionalBenCount.Add(0); } foreach (HRDDetail fdp in hrd.HRDDetails) { for (int r = 0; r < fdp.DurationOfAssistance; r++) { regionalBenCount[r] += (int)fdp.NumberOfBeneficiaries; RegionID = fdp.AdminUnit.AdminUnit2.AdminUnit2.AdminUnitID; } } for (int r = 0; r < 12; r++) { int noben = regionalBenCount[r]; if (noben > 0) { Guid transactionGroupID = Guid.NewGuid(); DateTime transactionDate = DateTime.Now; _unitOfWork.TransactionGroupRepository.Add(new TransactionGroup() { PartitionID = 0, TransactionGroupID = transactionGroupID }); foreach (RationDetail rd in ration.RationDetails) { decimal amount = (rd.Amount/1000)*noben; var entry2 = new Models.Transaction { RegionID = RegionID, CommodityID = rd.CommodityID, Round = r + 1, ProgramID = TransactionConstants.Constants.HRD_PROGRAM_ID, QuantityInUnit = amount, UnitID = 1, QuantityInMT = amount, LedgerID = Cats.Models.Ledger.Constants.REQUIRMENT_DOCUMENT_PALN, // previously 200 TransactionDate = transactionDate, TransactionGroupID = transactionGroupID, PlanId = hrd.PlanID, TransactionID = Guid.NewGuid(), }; var entry1 = new Models.Transaction { RegionID = RegionID, CommodityID = rd.CommodityID, Round = r + 1, ProgramID = TransactionConstants.Constants.HRD_PROGRAM_ID, QuantityInUnit = -amount, UnitID = 1, QuantityInMT = -amount, LedgerID = Cats.Models.Ledger.Constants.REQUIRMENT_DOCUMENT, //previously 100 TransactionDate = transactionDate, TransactionGroupID = transactionGroupID, PlanId = hrd.PlanID, TransactionID = Guid.NewGuid(), }; _unitOfWork.TransactionRepository.Add(entry1); _unitOfWork.TransactionRepository.Add(entry2); entries.Add(entry1); entries.Add(entry2); //hrd.TransactionGroupID = transactionGroupID; //_unitOfWork.HRDRepository.Edit(hrd); _unitOfWork.Save(); } } } return entries; }
private IEnumerable<CompareHrdViewModel> CompareHRDSummary(HRD hrd) { if (hrd!=null) { decimal totalBeneficary =1; if ( hrd.HRDDetails.Sum(m => m.NumberOfBeneficiaries)>0) { totalBeneficary = hrd.HRDDetails.Sum(m => m.NumberOfBeneficiaries); } var groupedTotal = from detail in hrd.HRDDetails group detail by detail.AdminUnit.AdminUnit2.AdminUnit2 into regionalDetail select new { Region = regionalDetail.Key, NumberOfBeneficiaries = regionalDetail.Sum(m => m.NumberOfBeneficiaries) }; return (from total in groupedTotal select new CompareHrdViewModel { Region = total.Region.Name, BeneficiaryNumber = total.NumberOfBeneficiaries, Percentage =(decimal) (total.NumberOfBeneficiaries*100.0) /totalBeneficary }); } return null; }
private IEnumerable<HRDDetailViewModel> GetHRDDetails(HRD hrd) { var hrdDetails = hrd.HRDDetails; var rationDetails = _rationService.FindById(hrd.RationID).RationDetails; return (from hrdDetail in hrdDetails select new HRDDetailViewModel() { HRDDetailID = hrdDetail.HRDDetailID, HRDID = hrdDetail.HRDID, WoredaID = hrdDetail.WoredaID, Zone = hrdDetail.AdminUnit.AdminUnit2.Name, Region = hrdDetail.AdminUnit.AdminUnit2.AdminUnit2.Name, Woreda = hrdDetail.AdminUnit.Name, NumberOfBeneficiaries = hrdDetail.NumberOfBeneficiaries, //(int)GetTotalBeneficiaries(hrdDetail.HRDID, hrdDetail.AdminUnit.AdminUnit2.AdminUnit2.AdminUnitID), StartingMonth = hrdDetail.StartingMonth, DurationOfAssistance = hrdDetail.DurationOfAssistance, //Cereal = (hrdDetail.DurationOfAssistance) * (hrdDetail.NumberOfBeneficiaries) * (rationDetails.Single(m => m.CommodityID == 1).Amount), //Pulse = (hrdDetail.DurationOfAssistance) * (hrdDetail.NumberOfBeneficiaries) * (rationDetails.Single(m => m.CommodityID == 2).Amount), //BlendedFood = (hrdDetail.DurationOfAssistance) * (hrdDetail.NumberOfBeneficiaries) * (rationDetails.Single(m => m.CommodityID == 3).Amount), //Oil = (hrdDetail.DurationOfAssistance) * (hrdDetail.NumberOfBeneficiaries) * (rationDetails.Single(m => m.CommodityID == 4).Amount) }); }
public bool DeleteHRD(HRD hrd) { if (hrd == null) return false; _unitOfWork.HRDRepository.Delete(hrd); _unitOfWork.Save(); return true; }
public List<Models.Transaction> PostHRDPlan(HRD hrd, Ration ration) { List<Models.Transaction> entries = new List<Models.Transaction>(); List<int> regionalBenCount = new List<int>(); ration = hrd.Ration; int RegionID=0; for (int r = 0; r < 12; r++) { regionalBenCount.Add(0); } foreach (HRDDetail fdp in hrd.HRDDetails) { for (int r = 0; r < fdp.DurationOfAssistance; r++) { regionalBenCount[r] += (int)fdp.NumberOfBeneficiaries; RegionID = fdp.AdminUnit.AdminUnit2.AdminUnit2.AdminUnitID; } } for (int r = 0; r < 12; r++) { int noben = regionalBenCount[r]; if (noben > 0) { foreach (RationDetail rd in ration.RationDetails) { decimal amount = rd.Amount * noben; Models.Transaction entry2 = new Models.Transaction { RegionID = RegionID, CommodityID = rd.CommodityID, Round = r + 1, ProgramID = 2, QuantityInUnit = -amount, UnitID = 1, QuantityInMT = -amount, LedgerID = 200 }; Models.Transaction entry1 = new Models.Transaction { RegionID = RegionID, CommodityID = rd.CommodityID, Round = r + 1, ProgramID = 2, QuantityInUnit = amount, UnitID = 1, QuantityInMT = amount, LedgerID = 100 }; entries.Add(entry1); entries.Add(entry2); } } } return entries; }