public ActionResult Allocation_Destroy([DataSourceRequest] DataSourceRequest request, ReliefRequisitionDetail reliefRequisitionDetail) { if (reliefRequisitionDetail != null) { _reliefRequisitionDetailService.DeleteById(reliefRequisitionDetail.RequisitionDetailID); } return(Json(ModelState.ToDataSourceResult())); }
public bool DeleteReliefRequisitionDetail(ReliefRequisitionDetail reliefRequisitionDetail) { if (reliefRequisitionDetail == null) { return(false); } _unitOfWork.ReliefRequisitionDetailRepository.Delete(reliefRequisitionDetail); _unitOfWork.Save(); return(true); }
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); }
public ActionResult Edit(ReliefRequisition reliefrequisition, FormCollection collection) { if (ModelState.IsValid) { var requisition = _reliefRequisitionService.FindById(reliefrequisition.RequisitionID); if (requisition.ReliefRequisitionDetails.Count > 0) { foreach (var oldRequisitionDetail in requisition.ReliefRequisitionDetails) { var commodityAmount = (decimal)0.00; if (reliefrequisition.RationID != null) { var detail = oldRequisitionDetail; var ration = _rationDetailService.FindBy(t => t.RationID == (int)reliefrequisition.RationID && t.CommodityID == detail.CommodityID).FirstOrDefault(); if (ration != null) { commodityAmount = ration.Amount / 1000; } } var newRequisitionDetail = new ReliefRequisitionDetail() { RequisitionID = oldRequisitionDetail.RequisitionID, RequisitionDetailID = oldRequisitionDetail.RequisitionDetailID, CommodityID = oldRequisitionDetail.CommodityID, BenficiaryNo = oldRequisitionDetail.BenficiaryNo, Amount = oldRequisitionDetail.BenficiaryNo * commodityAmount, FDPID = oldRequisitionDetail.FDPID, DonorID = oldRequisitionDetail.DonorID, Contingency = oldRequisitionDetail.Contingency }; //oldRequisitionDetail.Amount = oldRequisitionDetail.BenficiaryNo*commodityAmount; _reliefRequisitionDetailService.DeleteById(oldRequisitionDetail.RequisitionDetailID); _reliefRequisitionDetailService.AddReliefRequisitionDetail(newRequisitionDetail); } } requisition.RationID = reliefrequisition.RationID; requisition.RequisitionNo = reliefrequisition.RequisitionNo; requisition.RequestedDate = reliefrequisition.RequestedDate; _reliefRequisitionService.EditReliefRequisition(requisition); return(RedirectToAction("Index", "ReliefRequisition")); } return(View(reliefrequisition)); }
public bool EditReliefRequisitionDetail(ReliefRequisitionDetail reliefRequisitionDetail) { _unitOfWork.ReliefRequisitionDetailRepository.Edit(reliefRequisitionDetail); _unitOfWork.Save(); return(true); }
public bool CreateRequisitonForTransfer(Transfer transfer) { if (transfer != null) { var fdp = _unitOfWork.FDPRepository.FindBy(m => m.HubID == transfer.DestinationHubID).FirstOrDefault(); if (fdp != null) { List <LedgerService.AvailableShippingCodes> availableSINumbers = new List <LedgerService.AvailableShippingCodes>(); var relifRequisition = new ReliefRequisition() { //RegionalRequestID = regionalRequest.RegionalRequestID, //Round = regionalRequest.Round, Month = transfer.CreatedDate.Month, ProgramID = transfer.ProgramID, CommodityID = transfer.CommodityID, RequestedDate = transfer.CreatedDate, //RationID = regionalRequest.RationID RequisitionNo = Guid.NewGuid().ToString(), RegionID = fdp.AdminUnit.AdminUnit2.AdminUnit2.AdminUnitID, ZoneID = fdp.AdminUnit.AdminUnit2.AdminUnitID, Status = (int)ReliefRequisitionStatus.Draft, }; _unitOfWork.ReliefRequisitionRepository.Add(relifRequisition); var relifRequistionDetail = new ReliefRequisitionDetail(); relifRequistionDetail.DonorID = 1; relifRequistionDetail.FDPID = fdp.FDPID; relifRequistionDetail.BenficiaryNo = 0; //since there is no need of benficiaryNo on transfer relifRequistionDetail.CommodityID = transfer.CommodityID; relifRequistionDetail.Amount = transfer.Quantity; relifRequisition.ReliefRequisitionDetails.Add(relifRequistionDetail); // save hub allocation var hubAllocation = new HubAllocation { AllocatedBy = 1, RequisitionID = relifRequisition.RequisitionID, AllocationDate = transfer.CreatedDate, ReferenceNo = "001", HubID = transfer.SourceHubID }; _unitOfWork.HubAllocationRepository.Add(hubAllocation); //relifRequisition.RequisitionNo = String.Format("REQ-{0}", relifRequisition.RequisitionID); relifRequisition.RequisitionNo = transfer.ReferenceNumber; relifRequisition.Status = (int)ReliefRequisitionStatus.HubAssigned; if (transfer.Commodity.ParentID == null) { availableSINumbers = GetFreeSICodesByCommodity(transfer.SourceHubID, transfer.CommodityID); } else { availableSINumbers = GetFreeSICodesByCommodityChild(transfer.SourceHubID, transfer.CommodityID); } var siNumberExist = availableSINumbers.Any(availableShippingCode => availableShippingCode.siCodeId == transfer.ShippingInstructionID); if (!siNumberExist) { return(false); } _unitOfWork.Save(); SIPCAllocation allocation = new SIPCAllocation { Code = transfer.ShippingInstructionID, AllocatedAmount = transfer.Quantity, AllocationType = "SI", RequisitionDetailID = relifRequistionDetail.RequisitionDetailID }; _unitOfWork.SIPCAllocationRepository.Add(allocation); relifRequisition.Status = (int)ReliefRequisitionStatus.ProjectCodeAssigned; relifRequisition.RequisitionNo = String.Format("REQ-{0}", relifRequisition.RequisitionID); _unitOfWork.Save(); if (!PostSIAllocation(relifRequisition.RequisitionID, transfer.CommoditySourceID)) { return(false); } return(true); } } return(false); }
public static ReliefRequisitionDetailViewModel BindReliefRequisitionDetailViewModel(ReliefRequisitionDetail reliefRequisitionDetail, decimal RationAmount) { decimal?contingencyValue = 0; // Calculate contingency of the saved value is Null if (reliefRequisitionDetail != null && reliefRequisitionDetail.ReliefRequisition.RegionalRequestID != null) { if (reliefRequisitionDetail.ReliefRequisition.RegionalRequest.Contingency) { contingencyValue = (reliefRequisitionDetail.Amount.ToPreferedWeightUnit() * (decimal)0.05); } } return(new ReliefRequisitionDetailViewModel() { Zone = reliefRequisitionDetail.ReliefRequisition.AdminUnit1.Name, Woreda = reliefRequisitionDetail.FDP.AdminUnit.Name, FDP = reliefRequisitionDetail.FDP.Name, Donor = reliefRequisitionDetail.DonorID.HasValue ? reliefRequisitionDetail.Donor.Name : "-", Commodity = reliefRequisitionDetail.Commodity.Name, BenficiaryNo = reliefRequisitionDetail.BenficiaryNo, Amount = reliefRequisitionDetail.Amount.ToPreferedWeightUnit(), RequisitionID = reliefRequisitionDetail.RequisitionID, RequisitionDetailID = reliefRequisitionDetail.RequisitionDetailID, CommodityID = reliefRequisitionDetail.CommodityID, FDPID = reliefRequisitionDetail.FDPID, DonorID = reliefRequisitionDetail.DonorID, RationAmount = RationAmount, Contingency = contingencyValue, IsContengency = reliefRequisitionDetail.ReliefRequisition.RegionalRequestID.HasValue && reliefRequisitionDetail.ReliefRequisition.RegionalRequest.Contingency, Total = (decimal)(reliefRequisitionDetail.Amount.ToPreferedWeightUnit() - contingencyValue) //_GetCommodityRation(reliefRequisitionDetail.RequisitionID,reliefRequisitionDetail.CommodityID); // GetCommodityRation(reliefRequisitionDetail.RequisitionID,reliefRequisitionDetail.CommodityID) }); }