public bool EditHubAllocation(HubAllocation hubAllocation) { _unitOfWork.HubAllocationRepository.Edit(hubAllocation); var requisition = _unitOfWork.ReliefRequisitionRepository.FindBy(r => r.RequisitionID == hubAllocation.RequisitionID).Single(); requisition.Status = 3; _unitOfWork.Save(); return(true); }
public bool DeleteHubAllocation(HubAllocation hubAllocation) { if (hubAllocation == null) { return(false); } _unitOfWork.HubAllocationRepository.Delete(hubAllocation); _unitOfWork.Save(); return(true); }
public void AddHubAllocations(IEnumerable <Allocation> allocations, int userProfileId) { foreach (var appRequisition in allocations) { var newHubAllocation = new HubAllocation { AllocatedBy = userProfileId, RequisitionID = appRequisition.ReqId, AllocationDate = DateTime.Now.Date, ReferenceNo = "001", HubID = appRequisition.HubId }; AddHubAllocation(newHubAllocation); } }
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); }