private void SendNotification(ReliefRequisition requisition) { try { string destinationURl; if (Request.Url.Host != null) { if (Request.Url.Host == "localhost") { destinationURl = "http://" + Request.Url.Authority + "/Logistics/DispatchAllocation/IndexFromNotification?paramRegionId=" + requisition.RegionID + "&recordId=" + requisition.RequisitionID; return; } destinationURl = "http://" + Request.Url.Authority + Request.ApplicationPath + "/Logistics/DispatchAllocation/IndexFromNotification?paramRegionId=" + requisition.RegionID + "&recordId=" + requisition.RequisitionID; _notificationService.AddNotificationForLogistcisFromEarlyWaring(destinationURl, requisition.RequisitionID, (int)requisition.RegionID, requisition.RequisitionNo); } } catch (Exception) { throw; } }
public decimal geteAllocatedAmount(ReliefRequisition req) { List <Cats.Models.ProjectCodeAllocation> pcAllocations = req.HubAllocations.ToList()[0].ProjectCodeAllocations.ToList(); var siAllocation = pcAllocations.Where(item => item.SINumberID != null).Sum(item => item.Amount_FromSI); var pcAllocation = pcAllocations.Where(item => item.ProjectCodeID != null).Sum(item => item.Amount_FromProject); return((decimal)(siAllocation + pcAllocation)); }
public ActionResult Requisition_Destroy([DataSourceRequest] DataSourceRequest request, ReliefRequisition reliefRequisition) { if (reliefRequisition != null) { _reliefRequisitionDetailService.DeleteById(reliefRequisition.RequisitionID); } return(Json(ModelState.ToDataSourceResult())); }
public bool DeleteReliefRequisition(ReliefRequisition reliefRequisition) { if (reliefRequisition == null) { return(false); } _unitOfWork.ReliefRequisitionRepository.Delete(reliefRequisition); _unitOfWork.Save(); return(true); }
public JsonResult updateRequisitionStatus(int regionId, int requisitionId) { ReliefRequisition req = _requisitionService.FindById(requisitionId); req.Status = 4; _requisitionService.EditReliefRequisition(req); List <RequestAllocationViewModel> list = getIndexList(regionId); return(Json(list, JsonRequestBehavior.AllowGet)); }
public JsonResult updateRequisitionStatus(int RequisitionId) { ReliefRequisition req = _requisitionService.FindById(RequisitionId); if (req.Status == 3) { var tnx = _transactionService.PostSIAllocation(RequisitionId); } List <RequestAllocationViewModel> list = getIndexList((int)req.RegionID, RequisitionId); /* * List<RequestAllocationViewModel> list = new List<RequestAllocationViewModel> ();*/ return(Json(list, JsonRequestBehavior.AllowGet)); }
public List <FDPRequestViewModel> getRequestDetail(ReliefRequisition Request) { var result = Request.ReliefRequisitionDetails.ToList().Select(item => new FDPRequestViewModel { RequisitionId = Request.RequisitionID, RequestDetailId = item.RequisitionDetailID, FDPId = item.FDPID, FDPName = item.FDP.Name, Name = item.FDP.Name, RequestedAmount = item.Amount.ToPreferedWeightUnit(), WoredaId = item.FDP.AdminUnitID, WoredaName = item.FDP.AdminUnit.Name, Commodity = item.Commodity.Name, Allocations = ToAllocationViewModel(item.SIPCAllocations.ToList()) }).ToList(); return(result); }
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 static ReliefRequisitionViewModel BindReliefRequisitionViewModel(ReliefRequisition reliefRequisition, List <WorkflowStatus> statuses, string datePref) { var requisition = new ReliefRequisitionViewModel(); requisition.ProgramID = reliefRequisition.ProgramID; requisition.Program = reliefRequisition.Program.Name; requisition.Region = reliefRequisition.AdminUnit.Name; requisition.RequisitionNo = reliefRequisition.RequisitionNo; requisition.RegionID = reliefRequisition.RegionID; requisition.RegionalRequestID = reliefRequisition.RegionalRequestID; if (reliefRequisition.RequestedDate.HasValue) { requisition.RequestedDateEt = reliefRequisition.RequestedDate.Value.ToCTSPreferedDateFormat(datePref); } //); requisition.Round = reliefRequisition.Round; requisition.Status = statuses.Find(t => t.WorkflowID == (int)WORKFLOW.RELIEF_REQUISITION && t.StatusID == reliefRequisition.Status.Value).Description; requisition.RequestedDate = reliefRequisition.RequestedDate.Value; requisition.StatusID = reliefRequisition.Status; requisition.RequisitionID = reliefRequisition.RequisitionID; requisition.CommodityID = reliefRequisition.CommodityID; requisition.ZoneID = reliefRequisition.ZoneID; requisition.Zone = reliefRequisition.AdminUnit1.Name; requisition.Commodity = reliefRequisition.Commodity.Name; requisition.Month = RequestHelper.MonthName(reliefRequisition.Month); requisition.RequestRefNo = reliefRequisition.RegionalRequest != null ? reliefRequisition.RegionalRequest.ReferenceNumber : "Transfer/Swap Requisition"; if (reliefRequisition.RationID != null && reliefRequisition.RationID > 0) { requisition.RationID = (int)reliefRequisition.RationID; } else if (reliefRequisition.RegionalRequest != null && reliefRequisition.RegionalRequest.Ration != null) { requisition.Ration = reliefRequisition.RegionalRequest.Ration.RefrenceNumber; requisition.RationID = reliefRequisition.RegionalRequest.RationID; } return(requisition); }
public ActionResult Assign(int reqId, double remaining, double totalAssigned) { var previousModelState = TempData["ModelState"] as ModelStateDictionary; if (previousModelState != null) { foreach (KeyValuePair <string, ModelState> kvp in previousModelState) { if (!ModelState.ContainsKey(kvp.Key)) { ModelState.Add(kvp.Key, kvp.Value); } } } var hubId = _hubAllocationService.GetAllocatedHubId(reqId); ReliefRequisition listOfRequsitions = _requisitionService.Get(r => r.RequisitionID == reqId).SingleOrDefault(); List <LedgerService.AvailableShippingCodes> freeSICodes = _ledgerService.GetFreeSICodesByCommodity(hubId, (int)listOfRequsitions.CommodityID); List <LedgerService.AvailableProjectCodes> freePCCodes = _ledgerService.GetFreePCCodesByCommodity(hubId, (int)listOfRequsitions.CommodityID); ViewBag.FreeSICodes = freeSICodes; ViewBag.FreePCCodes = freePCCodes; ViewBag.SI = new SelectList(freeSICodes, "siCodeId", "SIcode"); ViewBag.PC = new SelectList(freePCCodes, "pcCodeId", "PCcode"); // ViewBag.SI = new SelectList(_shippingInstructionService.GetAllShippingInstruction(), "ShippingInstructionID", "Value"); ViewBag.Total = totalAssigned; //ViewBag.PC = new SelectList(_projectCodeService.GetAllProjectCode(), "ProjectCodeID", "Value"); ViewBag.RequetedAmount = Math.Round(listOfRequsitions.ReliefRequisitionDetails.Sum(a => a.Amount)); ViewBag.Hub = _hubAllocationService.GetAllocatedHub(reqId); ViewBag.ReqId = listOfRequsitions.RequisitionID; ViewBag.Remaining = Math.Round(remaining); return(View()); }
public bool EditReliefRequisition(ReliefRequisition reliefRequisition) { _unitOfWork.ReliefRequisitionRepository.Edit(reliefRequisition); _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); }
private List <WoredaDistributionDetailViewModel> GetWoredaStockDistribution(IEnumerable <FDP> fdps, ReliefRequisition reliefRequisition) { return((from fdp in fdps from detail in reliefRequisition.ReliefRequisitionDetails where fdp.FDPID == detail.FDPID select new WoredaDistributionDetailViewModel() { FdpId = fdp.FDPID, FDP = fdp.Name, DistributedAmount = 0, RequistionNo = reliefRequisition.RequisitionNo, Round = reliefRequisition.Round, Month = RequestHelper.MonthName(reliefRequisition.RegionalRequest.Month), CommodityID = detail.CommodityID, CommodityName = detail.Commodity.Name, AllocatedAmount = detail.Amount, NumberOfBeneficiaries = detail.BenficiaryNo, dispatched = GetDispatchAllocation(reliefRequisition.RequisitionNo, fdp.FDPID), delivered = GetDelivered(reliefRequisition.RequisitionNo, fdp.FDPID), RequisitionId = reliefRequisition.RequisitionID, TotalIn = _utilizationService.GetTotalIn(fdp.FDPID, (int)reliefRequisition.RequisitionID) != 0 ? _utilizationService.GetTotalIn(fdp.FDPID, (int)reliefRequisition.RequisitionID) : 0, //RequisitionDetailViewModel = new RequisitionDetailViewModel() // { // CommodityID = detail.CommodityID, // CommodityName = detail.Commodity.Name, // AllocatedAmount = detail.Amount, // BeneficaryNumber = detail.BenficiaryNo // }, //GetRequisionInfo(reliefRequisition.RequisitionID, fdp.FDPID) }).ToList()); //return (from fdp in fdps // select new WoredaDistributionDetailViewModel() // { // FdpId = fdp.FDPID, // FDP = fdp.Name, // DistributedAmount = 0, // }).ToList(); }
private List <WoredaDistributionDetailViewModel> GetWoredaStockDistributionDetail(IEnumerable <WoredaStockDistributionDetail> woredaStockDistributionDetails, ReliefRequisition requisition) { return((from woredaStockDistributionDetail in woredaStockDistributionDetails select new WoredaDistributionDetailViewModel() { FdpId = woredaStockDistributionDetail.FdpId, FDP = woredaStockDistributionDetail.FDP.Name, WoredaStockDistributionID = woredaStockDistributionDetail.WoredaStockDistributionID, WoredaStockDistributionDetailID = woredaStockDistributionDetail.WoredaStockDistributionDetailID, DistributedAmount = woredaStockDistributionDetail.DistributedAmount, BeginingBalance = woredaStockDistributionDetail.StartingBalance, EndingBalance = woredaStockDistributionDetail.EndingBalance, TotalIn = woredaStockDistributionDetail.TotalIn, TotalOut = woredaStockDistributionDetail.TotoalOut, LossAmount = woredaStockDistributionDetail.LossAmount, RequistionNo = requisition.RequisitionNo, Round = requisition.Round, Month = RequestHelper.MonthName(requisition.RegionalRequest.Month), CommodityName = requisition.Commodity.Name, RequisitionDetailViewModel = GetRequisionInfo(requisition.RequisitionID, woredaStockDistributionDetail.FdpId) }).ToList()); }