Cats.Services.EarlyWarning.ReliefRequisitionService.GenerateRequisition C# (CSharp) Метод

GenerateRequisition() публичный Метод

public GenerateRequisition ( RegionalRequest regionalRequest, List regionalRequestDetails, int commodityId, int zoneId ) : ReliefRequisition
regionalRequest Cats.Models.RegionalRequest
regionalRequestDetails List
commodityId int
zoneId int
Результат Cats.Models.ReliefRequisition
        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;
        }