private TransportRequisitionViewModel BindTransportRequisitionViewModel(TransportRequisition transportRequisition) { string userPreference = _userAccountService.GetUserInfo(HttpContext.User.Identity.Name).DatePreference; TransportRequisitionViewModel transportRequisitionViewModel = null; if (transportRequisition != null) { var transportRequisitionObj = _transportRequisitionService.FindById(transportRequisition.TransportRequisitionID); transportRequisitionViewModel = new TransportRequisitionViewModel(); transportRequisitionViewModel.CertifiedBy = _userAccountService.FindById(transportRequisitionObj.CertifiedBy).FullName; transportRequisitionViewModel.CertifiedDate = transportRequisitionObj.CertifiedDate; transportRequisitionViewModel.DateCertified = transportRequisitionObj.CertifiedDate.ToCTSPreferedDateFormat(userPreference); //EthiopianDate.GregorianToEthiopian(transportRequisition.CertifiedDate); transportRequisitionViewModel.Remark = transportRequisitionObj.Remark; transportRequisitionViewModel.RequestedBy = _userAccountService.FindById(transportRequisitionObj.RequestedBy).FullName; transportRequisitionViewModel.RequestedDate = transportRequisitionObj.RequestedDate; transportRequisitionViewModel.DateRequested = transportRequisitionObj.RequestedDate.ToCTSPreferedDateFormat(userPreference); //EthiopianDate.GregorianToEthiopian( transportRequisition.RequestedDate); transportRequisitionViewModel.Status = _workflowStatusService.GetStatusName(WORKFLOW.TRANSPORT_REQUISITION, transportRequisitionObj.Status); transportRequisitionViewModel.StatusID = transportRequisitionObj.Status; transportRequisitionViewModel.TransportRequisitionID = transportRequisitionObj.TransportRequisitionID; transportRequisitionViewModel.TransportRequisitionNo = transportRequisitionObj.TransportRequisitionNo; transportRequisitionViewModel.Region = _adminUnitService.FindById(transportRequisitionObj.RegionID).Name; transportRequisitionViewModel.Program = _programService.FindById(transportRequisitionObj.ProgramID).Name; } return(transportRequisitionViewModel); }
public bool DeleteTransportRequisition(TransportRequisition transportRequisition) { if (transportRequisition == null) { return(false); } _unitOfWork.TransportRequisitionRepository.Delete(transportRequisition); _unitOfWork.Save(); return(true); }
private void AddToNotification(TransportRequisition transportRequisition) { if (HttpContext.Current == null) { return; } string destinationURl; if (HttpContext.Current.Request.Url.Host == "localhost") { destinationURl = "http://" + HttpContext.Current.Request.Url.Authority + "/Procurement/TransportOrder/NotificationNewRequisitions?recordId=" + transportRequisition.TransportRequisitionID; return; } destinationURl = "http://" + HttpContext.Current.Request.Url.Authority + HttpContext.Current.Request.ApplicationPath + "/Procurement/TransportOrder/NotificationNewRequisitions?recordId=" + transportRequisition.TransportRequisitionID; _notificationService.AddNotificationForProcurementFromLogistics(destinationURl, transportRequisition); }
private TransportRequisition BindTransportRequisition(TransportRequisitionViewModel transportRequisitionViewModel) { string userPreference = _userAccountService.GetUserInfo(HttpContext.User.Identity.Name).DatePreference; TransportRequisition transportRequisition = null; if (transportRequisitionViewModel != null) { transportRequisition = new TransportRequisition(); var firstOrDefault = _userAccountService.FindBy(t => t.UserName == transportRequisitionViewModel.CertifiedBy).FirstOrDefault(); if (firstOrDefault != null) { transportRequisition.CertifiedBy = firstOrDefault.UserProfileID; } transportRequisition.CertifiedDate = transportRequisitionViewModel.CertifiedDate; transportRequisition.CertifiedDate = transportRequisitionViewModel.CertifiedDate; //EthiopianDate.GregorianToEthiopian(transportRequisition.CertifiedDate); transportRequisition.Remark = transportRequisition.Remark; var firstOrDefault1 = _userAccountService.FindBy(t => t.UserName == transportRequisitionViewModel.RequestedBy).FirstOrDefault(); if (firstOrDefault1 != null) { transportRequisition.RequestedBy = firstOrDefault1.UserProfileID; } transportRequisition.RequestedDate = transportRequisitionViewModel.RequestedDate; transportRequisition.RequestedDate = transportRequisitionViewModel.RequestedDate; //EthiopianDate.GregorianToEthiopian( transportRequisition.RequestedDate); transportRequisition.Status = transportRequisitionViewModel.StatusID; transportRequisition.TransportRequisitionID = transportRequisitionViewModel.TransportRequisitionID; transportRequisition.TransportRequisitionNo = transportRequisitionViewModel.TransportRequisitionNo; transportRequisition.RegionID = transportRequisitionViewModel.RegionID; transportRequisition.AdminUnit = _adminUnitService.FindById(transportRequisitionViewModel.RegionID); transportRequisition.ProgramID = transportRequisitionViewModel.ProgramID; transportRequisition.Program = _programService.FindById(transportRequisitionViewModel.ProgramID); } return(transportRequisition); }
public void CanNotificationBeSaved() { var notification = new Notification() { Text = "transport order two", Url = _destinationURl, RecordId = 2, IsRead = false, TypeOfNotification = "New transport order", CreatedDate = DateTime.Now, Id = 1, Application = "Hub Managers" }; var tranportRequsition = new TransportRequisition() { CertifiedBy = 1, CertifiedDate = DateTime.Today, RequestedBy = 1, RequestedDate = DateTime.Today, TransportRequisitionID = 1, TransportRequisitionNo = "TRN-001", Status = 1, Remark = "Remark", }; var hubId = new List <int>() { 1, 2, 3 }; var resultLogistics = _notificationService.AddNotificationForLogistcisFromEarlyWaring("", 1, 1, "reg-001"); var resultProcurement = _notificationService.AddNotificationForProcurementFromLogistics("", tranportRequsition); var resultHubManager = _notificationService.AddNotificationForHubManagersFromTransportOrder("", 1, "trans-001", hubId); Assert.IsTrue(resultLogistics); Assert.IsTrue(resultProcurement); Assert.IsTrue(resultHubManager); }
public bool AddNotificationForProcurementFromLogistics(string destinationURl, TransportRequisition transportRequisition) { try { var notification = new Notification { Text = "Transport Requisition No:" + transportRequisition.TransportRequisitionNo, CreatedDate = DateTime.Now.Date, IsRead = false, Id = 1, RecordId = transportRequisition.TransportRequisitionID, Url = destinationURl, TypeOfNotification = "New Transport Requisition", Application = Application.PROCUREMENT }; AddNotification(notification); return(true); } catch (Exception) { return(false); } }
public static TransportRequisitionViewModel BindTransportRequisitionViewModel(TransportRequisition transportRequisition, List <WorkflowStatus> statuses, string datePrefrence, List <UserInfo> users) { TransportRequisitionViewModel transportRequisitionViewModel = null; if (transportRequisition != null) { transportRequisitionViewModel = new TransportRequisitionViewModel(); transportRequisitionViewModel.CertifiedBy = users.First(t => t.UserProfileID == transportRequisition.CertifiedBy).FullName; transportRequisitionViewModel.CertifiedDate = transportRequisition.CertifiedDate; transportRequisitionViewModel.DateCertified = transportRequisition.CertifiedDate.ToCTSPreferedDateFormat(datePrefrence); //EthiopianDate.GregorianToEthiopian(transportRequisition.CertifiedDate); transportRequisitionViewModel.Remark = transportRequisition.Remark; transportRequisitionViewModel.RequestedBy = users.First(t => t.UserProfileID == transportRequisition.RequestedBy).FullName; transportRequisitionViewModel.RequestedDate = transportRequisition.RequestedDate; transportRequisitionViewModel.DateRequested = transportRequisition.RequestedDate.ToCTSPreferedDateFormat(datePrefrence); //EthiopianDate.GregorianToEthiopian( transportRequisition.RequestedDate); transportRequisitionViewModel.Status = statuses.First(t => t.StatusID == transportRequisition.Status).Description; transportRequisitionViewModel.StatusID = transportRequisition.Status; transportRequisitionViewModel.TransportRequisitionID = transportRequisition.TransportRequisitionID; transportRequisitionViewModel.TransportRequisitionNo = transportRequisition.TransportRequisitionNo; transportRequisitionViewModel.Program = transportRequisition.Program.Name; transportRequisitionViewModel.Month = RequestHelper.MonthName( transportRequisition.TransportRequisitionDetails.FirstOrDefault().ReliefRequisition.Month); transportRequisitionViewModel.Round = transportRequisition.TransportRequisitionDetails.FirstOrDefault().ReliefRequisition.Round; transportRequisitionViewModel.Date = DateTime.Now.ToCTSPreferedDateFormat(datePrefrence); } return(transportRequisitionViewModel); }
public bool CreateTransportRequisition(List <List <int> > programRequisitons, int requestedBy) { if (programRequisitons.Count < 1) { return(false); } foreach (var reliefRequisitions in programRequisitons) { if (reliefRequisitions.Count < 1) { break; } var anyReliefRequisition = _unitOfWork.ReliefRequisitionRepository.FindById(reliefRequisitions.ElementAt(0)); var region = new AdminUnit(); if (anyReliefRequisition.RegionID != null) { region = _unitOfWork.AdminUnitRepository.FindById(anyReliefRequisition.RegionID.Value); } var program = new Program(); if (anyReliefRequisition.ProgramID != null) { program = _unitOfWork.ProgramRepository.FindById(anyReliefRequisition.ProgramID); } var transportRequisition = new TransportRequisition() { Status = (int)TransportRequisitionStatus.Draft, //Draft RequestedDate = DateTime.Today, RequestedBy = requestedBy, //should be current user CertifiedBy = requestedBy, //Should be some user ???? CertifiedDate = DateTime.Today, //should be date cerified TransportRequisitionNo = Guid.NewGuid().ToString(), RegionID = region.AdminUnitID, ProgramID = program.ProgramID }; foreach (var reliefRequisition in reliefRequisitions) { transportRequisition.TransportRequisitionDetails.Add(new TransportRequisitionDetail { RequisitionID = reliefRequisition }); var orignal = _unitOfWork.ReliefRequisitionRepository.Get(t => t.RequisitionID == reliefRequisition). FirstOrDefault(); orignal.Status = (int)ReliefRequisitionStatus.TransportRequisitionCreated; } AddTransportRequisition(transportRequisition); var year = transportRequisition.RequestedDate.Year; transportRequisition.TransportRequisitionNo = string.Format("{0}/{1}/{2}/{3}", program.ShortCode, region.AdminUnitID, transportRequisition.TransportRequisitionID, year); _unitOfWork.Save(); } return(true); }
public bool EditTransportRequisition(TransportRequisition transportRequisition) { _unitOfWork.TransportRequisitionRepository.Edit(transportRequisition); _unitOfWork.Save(); return(true); }
public void Init() { _transportRequisitions = new List <TransportRequisition>(); _reliefRequisitions = new List <int> { 1 }; var unitOfWork = new Mock <IUnitOfWork>(); var unitOfWorkNotify = new Mock <IUnitOfWork>(); _transportRequisition = new TransportRequisition { Status = 1, RequestedDate = DateTime.Today, RequestedBy = 1, CertifiedBy = 1, CertifiedDate = DateTime.Today, Remark = "", TransportRequisitionNo = "REQ-001", TransportRequisitionID = 1, TransportRequisitionDetails = new List <TransportRequisitionDetail>() { new TransportRequisitionDetail { RequisitionID = 1, TransportRequisitionDetailID = 1, TransportRequisitionID = 1 } } }; reliefRequisitions = new List <ReliefRequisition>() { new ReliefRequisition() { RegionID = 1, ProgramID = 1, CommodityID = 1, ZoneID = 2, RequisitionNo = "REQ-001", Round = 1, RegionalRequestID = 1, RequisitionID = 1, Status = 4, AdminUnit = new AdminUnit { AdminUnitID = 2, Name = "Zone1" }, AdminUnit1 = new AdminUnit { AdminUnitID = 1, Name = "Region1" }, Commodity = new Commodity { CommodityID = 1, CommodityCode = "C1", Name = "CSB" }, //HubAllocations = new List<HubAllocation>(){new HubAllocation() // { // HubAllocationID = 1, // HubID = 1, // RequisitionID = 1, // Hub = new Hub // { // HubID = 1, // Name = "Test Hub", // } // }}, ReliefRequisitionDetails = new List <ReliefRequisitionDetail> { new ReliefRequisitionDetail() { RequisitionID = 1, RequisitionDetailID = 1, Amount = 100, CommodityID = 1, FDPID = 1, BenficiaryNo = 10, DonorID = 1, FDP = new FDP { AdminUnitID = 1, FDPID = 1, Name = "FDP1" } }, new ReliefRequisitionDetail() { RequisitionID = 1, RequisitionDetailID = 2, Amount = 50, CommodityID = 1, FDPID = 2, BenficiaryNo = 10, DonorID = 1, FDP = new FDP { AdminUnitID = 1, FDPID = 2, Name = "FDP2" } }, new ReliefRequisitionDetail() { RequisitionID = 1, RequisitionDetailID = 3, Amount = 60, CommodityID = 1, FDPID = 3, BenficiaryNo = 10, DonorID = 1, FDP = new FDP { AdminUnitID = 1, FDPID = 3, Name = "FDP3" } }, new ReliefRequisitionDetail() { RequisitionID = 1, RequisitionDetailID = 4, Amount = 70, CommodityID = 1, FDPID = 2, BenficiaryNo = 10, DonorID = 1, FDP = new FDP { AdminUnitID = 1, FDPID = 4, Name = "FDP4" } } } } }; var _workflowstatuses = new List <WorkflowStatus> { new WorkflowStatus { StatusID = 1, WorkflowID = 2, Description = "Approved", } }; var _hubAllocation = new List <HubAllocation> { new HubAllocation { RequisitionID = 1, HubID = 1, HubAllocationID = 1, Hub = new Models.Hub() { Name = "Hub 1", HubID = 1, } } }; _transportRequisition = new TransportRequisition() { Status = 1, AdminUnit = new AdminUnit { AdminUnitID = 2, Name = "Zone1" }, RequestedBy = 1, CertifiedBy = 1, CertifiedDate = DateTime.Today, RequestedDate = DateTime.Today, TransportRequisitionID = 1, TransportRequisitionNo = "T-001", Remark = "comment" }; var mockReliefRequisitionRepository = new Mock <IGenericRepository <ReliefRequisition> >(); mockReliefRequisitionRepository.Setup( t => t.Get(It.IsAny <Expression <Func <ReliefRequisition, bool> > >(), It.IsAny <Func <IQueryable <ReliefRequisition>, IOrderedQueryable <ReliefRequisition> > >(), It.IsAny <string>())).Returns( (Expression <Func <ReliefRequisition, bool> > perdicate, Func <IQueryable <ReliefRequisition>, IOrderedQueryable <ReliefRequisition> > obrderBy, string prop) => { var result = reliefRequisitions.AsQueryable(); return(result); } ); mockReliefRequisitionRepository.Setup(t => t.FindById(It.IsAny <int>())).Returns((int id) => reliefRequisitions .ToList(). Find (t => t. RequisitionID == id)); unitOfWork.Setup(t => t.ReliefRequisitionRepository).Returns(mockReliefRequisitionRepository.Object); var transportRequisitionReqository = new Mock <IGenericRepository <TransportRequisition> >(); transportRequisitionReqository.Setup(t => t.Add(It.IsAny <TransportRequisition>())).Returns( (TransportRequisition transportRequisiton) => { _transportRequisitions.Add(transportRequisiton); return(true); }); transportRequisitionReqository.Setup(t => t.FindById(It.IsAny <int>())).Returns((int id) => { return (_transportRequisition); }); unitOfWork.Setup(t => t.TransportRequisitionRepository).Returns(transportRequisitionReqository.Object); unitOfWork.Setup(t => t.Save()); var workflowStatusRepository = new Mock <IGenericRepository <WorkflowStatus> >(); workflowStatusRepository.Setup( t => t.Get(It.IsAny <Expression <Func <WorkflowStatus, bool> > >(), It.IsAny <Func <IQueryable <WorkflowStatus>, IOrderedQueryable <WorkflowStatus> > >(), It.IsAny <string>())).Returns(_workflowstatuses); unitOfWork.Setup(t => t.WorkflowStatusRepository).Returns(workflowStatusRepository.Object); var hubAllocationRepository = new Mock <IGenericRepository <HubAllocation> >(); hubAllocationRepository.Setup( t => t.Get(It.IsAny <Expression <Func <HubAllocation, bool> > >(), It.IsAny <Func <IQueryable <HubAllocation>, IOrderedQueryable <HubAllocation> > >(), It.IsAny <string>())).Returns(_hubAllocation); unitOfWork.Setup(t => t.HubAllocationRepository).Returns(hubAllocationRepository.Object); var adminUnitRepository = new Mock <IGenericRepository <AdminUnit> >(); adminUnitRepository.Setup(t => t.FindById(It.IsAny <int>())).Returns(new AdminUnit() { AdminUnitID = 2, Name = "Zone1", AdminUnit2 = new AdminUnit { AdminUnitID = 1, Name = "Region1" } } ); unitOfWork.Setup(t => t.AdminUnitRepository).Returns(adminUnitRepository.Object); var programRepository = new Mock <IGenericRepository <Program> >(); programRepository.Setup(t => t.FindById(It.IsAny <int>())).Returns(new Program { ProgramID = 1, Name = "PSNP", Description = "PSNP Des." }); unitOfWork.Setup(t => t.ProgramRepository).Returns(programRepository.Object); _notificationService = new NotificationService(unitOfWorkNotify.Object); _transportRequisitionService = new TransportRequisitionService(unitOfWork.Object, _notificationService); }