Exemplo n.º 1
0
        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;
        }
Exemplo n.º 2
0
 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;
 }
Exemplo n.º 3
0
        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;
        }
Exemplo n.º 4
0
 public bool AddHRD(HRD hrd)
 {
     _unitOfWork.HRDRepository.Add(hrd);
     _unitOfWork.Save();
     return true;
 }
Exemplo n.º 5
0
 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);
        }
Exemplo n.º 7
0
        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
                        });
        }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
        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);
        }
Exemplo n.º 10
0
        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);
        }
Exemplo n.º 11
0
 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);
 }
Exemplo n.º 12
0
        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);
        }
Exemplo n.º 13
0
 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);
 }
Exemplo n.º 14
0
        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;
        }
Exemplo n.º 15
0
 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;
 }
Exemplo n.º 16
0
        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)

                    });
        }
Exemplo n.º 17
0
 public bool DeleteHRD(HRD hrd)
 {
     if (hrd == null) return false;
     _unitOfWork.HRDRepository.Delete(hrd);
     _unitOfWork.Save();
     return true;
 }
Exemplo n.º 18
0
        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;
        }