public ReliefRequisition GenerateRequisition(RegionalRequest regionalRequest, List<RegionalRequestDetail> regionalRequestDetails, int commodityId, int zoneId)
{
var relifRequisition = new ReliefRequisition()
{
//TODO:Please Include Regional Request ID in Requisition
RegionalRequestID = regionalRequest.RegionalRequestID,
Round = regionalRequest.Round,
Month = regionalRequest.Month,
ProgramID = regionalRequest.ProgramId,
CommodityID = commodityId,
RequestedDate = regionalRequest.RequistionDate,
RationID = regionalRequest.RationID
//TODO:Please find another way how to specify Requistion No
,
RequisitionNo = Guid.NewGuid().ToString(),
RegionID = regionalRequest.RegionID,
ZoneID = zoneId,
Status = (int)ReliefRequisitionStatus.Draft,
//RequestedBy =itm.RequestedBy,
//ApprovedBy=itm.ApprovedBy,
//ApprovedDate=itm.ApprovedDate,
};
foreach (var regionalRequestDetail in regionalRequestDetails)
{
decimal contengency = 0;
if (regionalRequestDetail.RegionalRequest.Contingency)
contengency = (regionalRequestDetail.RequestDetailCommodities.Sum(a => a.Amount) * (decimal).05);
var relifRequistionDetail = new ReliefRequisitionDetail();
var commodity = regionalRequestDetail.RequestDetailCommodities.First(t => t.CommodityID == commodityId);
relifRequistionDetail.DonorID = regionalRequest.DonorID;
relifRequistionDetail.FDPID = regionalRequestDetail.Fdpid;
relifRequistionDetail.BenficiaryNo = regionalRequestDetail.Beneficiaries;
relifRequistionDetail.CommodityID = commodity.CommodityID;
relifRequistionDetail.Amount = commodity.Amount + contengency;
relifRequisition.ReliefRequisitionDetails.Add(relifRequistionDetail);
}
return relifRequisition;
}