private bool SaveNewDonationPlan(DonationViewModel donationViewModel, int siId) { try { var donationHeader = new DonationPlanHeader { AllocationDate = DateTime.Now, CommodityID = donationViewModel.CommodityID, DonorID = donationViewModel.DonorID, ETA = donationViewModel.ETA, IsCommited = false, ProgramID = donationViewModel.ProgramID, ShippingInstructionId = siId, DonatedAmount = donationViewModel.WieghtInMT, CommodityTypeID = donationViewModel.CommodityTypeID }; foreach (var donationDetail in donationViewModel.DonationPlanDetails.Select(donationPlanDetail => new DonationPlanDetail { HubID = donationPlanDetail.HubID, AllocatedAmount = donationPlanDetail.AllocatedAmount, ReceivedAmount = donationPlanDetail.ReceivedAmount, Balance = donationPlanDetail.Balance, DonationPlanHeader = donationHeader })) { _donationPlanDetailService.AddDonationPlanDetail(donationDetail); } _transactionService.PostDonationPlan(donationHeader); return(true); } catch (Exception) { return(false); } }