public PagedResultDto <TransferDto> GetTransfers(TransferFilter input) { var query = transferRepository.GetAll().Where(x => !x.IsDelete); // filter by value if (input.AssetId != null) { query = query.Where(x => x.AssetId.ToLower().Equals(input.AssetId)); } var totalCount = query.Count(); // sorting if (!string.IsNullOrWhiteSpace(input.Sorting)) { query = query.OrderBy(input.Sorting); } // paging var items = query.PageBy(input).ToList(); // result return(new PagedResultDto <TransferDto>( totalCount, items.Select(item => ObjectMapper.Map <TransferDto>(item)).ToList())); }
/// <summary> /// query transaction info /// </summary> /// <returns></returns> public async Task <PageList <TransferInfo> > QueryTransfers(TransferFilter filter) { using var db = new TrackDB(); var result = db.FindTransfer(filter) as PageList <TransferInfo>; return(result); }
public virtual IEnumerable assets() { TransferFilter filter = Filter.Current; PXSelectBase <FixedAsset> cmd = new PXSelectJoin <FixedAsset, InnerJoin <FADetailsTransfer, On <FixedAsset.assetID, Equal <FADetailsTransfer.assetID> >, InnerJoin <Branch, On <FixedAsset.branchID, Equal <Branch.branchID> >, LeftJoin <Account, On <FixedAsset.fAAccountID, Equal <Account.accountID> >, LeftJoin <FALocationHistory, On <FALocationHistory.assetID, Equal <FADetailsTransfer.assetID>, And <FALocationHistory.revisionID, Equal <FADetailsTransfer.locationRevID> > > > > > >, Where <FADetailsTransfer.status, NotEqual <FixedAssetStatus.hold>, And <FADetailsTransfer.status, NotEqual <FixedAssetStatus.disposed>, And <FADetailsTransfer.status, NotEqual <FixedAssetStatus.reversed> > > > >(this); if (filter.PeriodID != null) { cmd.WhereAnd <Where <FADetailsTransfer.transferPeriodID, IsNull, Or <FADetailsTransfer.transferPeriodID, LessEqual <Current <TransferFilter.periodID> > > > >(); } if (PXAccess.FeatureInstalled <FeaturesSet.multipleCalendarsSupport>() || filter.OrganizationID != null) { cmd.WhereAnd <Where <Branch.organizationID, Equal <Current <TransferFilter.organizationID> > > >(); } if (filter.BranchFrom != null) { cmd.WhereAnd <Where <FixedAsset.branchID, Equal <Current <TransferFilter.branchFrom> > > >(); } if (filter.DepartmentFrom != null) { cmd.WhereAnd <Where <FALocationHistory.department, Equal <Current <TransferFilter.departmentFrom> > > >(); } if (filter.ClassFrom != null) { cmd.WhereAnd <Where <FixedAsset.classID, Equal <Current <TransferFilter.classFrom> > > >(); } int startRow = PXView.StartRow; int totalRows = 0; List <PXFilterRow> newFilters = new List <PXFilterRow>(); foreach (PXFilterRow f in PXView.Filters) { if (f.DataField.ToLower() == "status") { f.DataField = "FADetailsTransfer__Status"; } newFilters.Add(f); } List <object> list = cmd.View.Select(PXView.Currents, null, PXView.Searches, PXView.SortColumns, PXView.Descendings, newFilters.ToArray(), ref startRow, PXView.MaximumRows, ref totalRows); PXView.StartRow = 0; return(list); }
public void TransferFilter_RowSelected(PXCache sender, PXRowSelectedEventArgs e) { TransferFilter filter = (TransferFilter)e.Row; if (filter == null) { return; } Assets.SetProcessDelegate(delegate(List <FixedAsset> list) { Transfer(filter, list); }); Assets.SetProcessEnabled(string.IsNullOrEmpty(filter.PeriodID) == false && (filter.BranchTo != null || filter.DepartmentTo != null)); Assets.SetProcessAllEnabled(string.IsNullOrEmpty(filter.PeriodID) == false && (filter.BranchTo != null || filter.DepartmentTo != null)); }
public IEnumerable <Transfer> GetMany(TransferFilter transferFilter) { FilterDefinition <Transfer> filter = Builders <Transfer> .Filter.Empty; List <FilterDefinition <Transfer> > ops = new List <FilterDefinition <Transfer> >(10); if (!transferFilter.Id.Equals(Guid.Empty)) { ops.Add(Builders <Transfer> .Filter.Eq(x => x.Id, transferFilter.Id)); } if (!string.IsNullOrEmpty(transferFilter.DestinationAccountNumber)) { ops.Add(Builders <Transfer> .Filter.Eq(x => x.DestinationAccountNumber, transferFilter.DestinationAccountNumber)); } if (transferFilter.DestinationLinkingBankId != Guid.Empty) { ops.Add(Builders <Transfer> .Filter.Eq(x => x.DestinationLinkingBankId, transferFilter.DestinationLinkingBankId)); } if (!string.IsNullOrEmpty(transferFilter.SourceAccountNumber)) { ops.Add(Builders <Transfer> .Filter.Eq(x => x.SourceAccountNumber, transferFilter.SourceAccountNumber)); } if (transferFilter.SourceLinkingBankId != Guid.Empty) { ops.Add(Builders <Transfer> .Filter.Eq(x => x.SourceLinkingBankId, transferFilter.SourceLinkingBankId)); } ops.Add(Builders <Transfer> .Filter.Eq(x => x.IsConfirmed, transferFilter.IsConfirmed)); if (ops.Count > 0) { filter = Builders <Transfer> .Filter.And(ops); } SortDefinition <Transfer> sort = null; FindOptions <Transfer, Transfer> options = null; options = new FindOptions <Transfer, Transfer>() { Sort = sort }; var task = _Collection.Find(filter); return(task.ToEnumerable()); }
public virtual IEnumerable assets() { TransferFilter filter = Filter.Current; PXSelectBase <FixedAsset> cmd = new PXSelectJoin <FixedAsset, InnerJoin <FADetailsTransfer, On <FixedAsset.assetID, Equal <FADetailsTransfer.assetID> >, LeftJoin <Account, On <FixedAsset.fAAccountID, Equal <Account.accountID> >, LeftJoin <FALocationHistory, On <FALocationHistory.assetID, Equal <FADetailsTransfer.assetID>, And <FALocationHistory.revisionID, Equal <FADetailsTransfer.locationRevID> > > > > >, Where <FADetailsTransfer.status, NotEqual <FixedAssetStatus.hold>, And <FADetailsTransfer.status, NotEqual <FixedAssetStatus.disposed> > > >(this); if (filter.PeriodID != null) { cmd.WhereAnd <Where <FADetailsTransfer.transferPeriodID, IsNull, Or <FADetailsTransfer.transferPeriodID, LessEqual <Current <TransferFilter.periodID> > > > >(); } if (filter.BranchFrom != null) { cmd.WhereAnd <Where <FixedAsset.branchID, Equal <Current <TransferFilter.branchFrom> > > >(); } if (filter.DepartmentFrom != null) { cmd.WhereAnd <Where <FALocationHistory.department, Equal <Current <TransferFilter.departmentFrom> > > >(); } if (filter.ClassFrom != null) { cmd.WhereAnd <Where <FixedAsset.classID, Equal <Current <TransferFilter.classFrom> > > >(); } int startRow = 0; int totalRows = 0; List <PXFilterRow> newFilters = new List <PXFilterRow>(); foreach (PXFilterRow f in PXView.Filters) { if (f.DataField.ToLower() == "status") { f.DataField = "FADetailsTransfer__Status"; } newFilters.Add(f); } // Full select - first page, query cache - next pages. SQL command is very difficult to part select for each page. List <object> list = cmd.View.Select(PXView.Currents, null, PXView.Searches, PXView.SortColumns, PXView.Descendings, newFilters.ToArray(), ref startRow, 0, ref totalRows); return(list); }
protected virtual void _(Events.FieldUpdated <TransferFilter.organizationID> e) { TransferFilter filter = e.Row as TransferFilter; if (filter != null && filter.OrganizationID != null) { Organization organization = PXSelectReadonly <Organization, Where <Organization.organizationID, Equal <Required <Organization.organizationID> > > > .Select(this, filter.OrganizationID); if (organization.OrganizationType == OrganizationTypes.WithoutBranches) { e.Cache.SetDefaultExt <TransferFilter.branchFrom>(filter); e.Cache.SetDefaultExt <TransferFilter.branchTo>(filter); } } }
/// <summary> /// Получить список транзакций кошелька, за указанный период времени. Период времени должен быть не больше трёх месяцев. /// </summary> public List <Transfer> GetTransfers(DateTime startTime, DateTime finishTime) { var transferFilter = new TransferFilter(purse, startTime.AddHours(wmServerTimeDifference), finishTime.AddHours(wmServerTimeDifference)); try { var transferRegister = transferFilter.Submit(); return(transferRegister.TransferList); } catch (Exception ex) { Logger.Error( string.Format("GetTransfers() - Не удалось получить список транзакций с сервера WebMoney кошелька {0} за период времени {1} от до {2}", purse.ToString(), startTime, finishTime), ex); return(null); } }
public IEnumerable <ITransfer> SelectTransfers(string purse, DateTime fromTime, DateTime toTime) { if (null == purse) { throw new ArgumentNullException(nameof(purse)); } var request = new TransferFilter(Purse.Parse(purse), fromTime, toTime) { Initializer = Session.AuthenticationService.ObtainInitializer() }; TransferRegister response; try { response = request.Submit(); } catch (WmException exception) { throw new ExternalServiceException(exception.Message, exception); } return(response.TransferList.Select(t => { var transfer = new BusinessObjects.Transfer(Session.CurrentIdentifier, t.PrimaryId, t.SecondaryId, t.SourcePurse.ToString(), t.TargetPurse.ToString(), t.Amount, t.Commission, ConvertFrom.ApiTypeToContractType(t.TransferType), t.Description, t.Partner, t.Rest, t.CreateTime.ToUniversalTime(), t.UpdateTime.ToUniversalTime()) { InvoiceId = t.InvoiceId, OrderId = t.OrderId, PaymentId = t.PaymentId, ProtectionPeriod = t.Period, Locked = t.IsLocked, Description = !string.IsNullOrEmpty(t.Description) ? t.Description : "[empty]" }; return transfer; })); }
/// <summary> /// Reads the specified start. /// </summary> /// <param name="range">The range.</param> public void Read(DateRange range) { TransferFilter transferFilter = new TransferFilter(_purse, range.From, range.To); var transactions = transferFilter.Submit(); if (transactions == null || transactions.Length == 0) { return; } //Incomment transfers transactions = transactions.Where(e => e.TargetPurse == _purse).OrderBy(e => e.CreateTime).ToArray(); var last = _manager.GetLast(); if (last.Count > 0) { transactions = transactions.Where(e => e.CreateTime > last[0].Date).ToArray(); } foreach (var transfer in transactions) { Store(transfer); } }
protected virtual void DoTransfer(TransferFilter filter, List <FixedAsset> list) { DocumentList <FARegister> created = new DocumentList <FARegister>(this); foreach (FixedAsset asset in list) { FADetails det = PXSelect <FADetails, Where <FADetails.assetID, Equal <Current <FixedAsset.assetID> > > > .SelectSingleBound(this, new object[] { asset }); FALocationHistory location = PXSelect <FALocationHistory, Where <FALocationHistory.assetID, Equal <Current <FADetails.assetID> >, And <FALocationHistory.revisionID, Equal <Current <FADetails.locationRevID> > > > > .SelectSingleBound(this, new object[] { det }); int? destClassID = filter.ClassTo ?? asset.ClassID; int? destBranchID = filter.BranchTo ?? location.LocationID; string destDeptID = string.IsNullOrEmpty(filter.DepartmentTo) ? location.Department : filter.DepartmentTo; if (location.LocationID != destBranchID || location.Department != destDeptID || asset.ClassID != destClassID) { FADetails copy_det = (FADetails)Details.Cache.CreateCopy(det); FALocationHistory copy_loc = (FALocationHistory)Lochist.Cache.CreateCopy(location); copy_loc.RevisionID = ++copy_det.LocationRevID; copy_loc.LocationID = destBranchID; copy_loc.Department = destDeptID; copy_loc.PeriodID = filter.PeriodID; copy_loc.TransactionDate = filter.TransferDate; copy_loc.Reason = filter.Reason; TransactionEntry.SegregateRegister(this, (int)destBranchID, FARegister.origin.Transfer, null, filter.TransferDate, "", created); Details.Update(copy_det); location = Lochist.Insert(copy_loc); if (asset.ClassID != destClassID) { asset.ClassID = destClassID; AssetSelect.Cache.Update(asset); } FARegister reg = Register.Current; AssetProcess.TransferAsset(this, asset, location, ref reg); } } if (Register.Current != null && created.Find(Register.Current) == null) { created.Add(Register.Current); } Actions.PressSave(); if (fasetup.Current.AutoReleaseTransfer == true) { SelectTimeStamp(); PXLongOperation.StartOperation(this, delegate { AssetTranRelease.ReleaseDoc(created, false); }); } else if (created.Count > 0) { AssetTranRelease graph = CreateInstance <AssetTranRelease>(); AssetTranRelease.ReleaseFilter fltr = (AssetTranRelease.ReleaseFilter)graph.Filter.Cache.CreateCopy(graph.Filter.Current); fltr.Origin = FARegister.origin.Transfer; graph.Filter.Update(fltr); graph.SelectTimeStamp(); Dictionary <string, string> parameters = new Dictionary <string, string>(); for (int i = 0; i < created.Count; ++i) { FARegister reg = created[i]; reg.Selected = true; graph.FADocumentList.Update(reg); graph.FADocumentList.Cache.SetStatus(reg, PXEntryStatus.Updated); graph.FADocumentList.Cache.IsDirty = false; parameters["FARegister.RefNbr" + i] = reg.RefNbr; } parameters["PeriodFrom"] = FinPeriodIDFormattingAttribute.FormatForDisplay(filter.PeriodID); parameters["PeriodTo"] = FinPeriodIDFormattingAttribute.FormatForDisplay(filter.PeriodID); parameters["Mode"] = "U"; PXReportRequiredException reportex = new PXReportRequiredException(parameters, "FA642000", "Preview"); throw new PXRedirectWithReportException(graph, reportex, "Release FA Transaction"); } }
public static void Transfer(TransferFilter filter, List <FixedAsset> list) { TransferProcess graph = PXGraph.CreateInstance <TransferProcess>(); graph.DoTransfer(filter, list); }
public static void UpdateTransferStatus(DateTime startDate, List<Transfer> transfers) { startDate = (DateTime.Now - startDate).Days > 88 ? DateTime.Now.AddMonths(-3) : startDate; TransferFilter tf = new TransferFilter(Purse.Parse(Configuration.Purse), WmDateTime.Parse(startDate.ToString("dd.MM.yyyy HH:mm:ss")), WmDateTime.Parse(DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss"))); ExistentTransfer[] eoi = tf.Submit(); if (eoi != null) { foreach (ExistentTransfer inv in eoi) { Transfer t = transfers.Where(p => p.TransferId == (int)inv.TransferId).SingleOrDefault(); if (t != null) { GT.BO.Implementation.BillingSystem.WebMoneyTransfer wm = new GT.BO.Implementation.BillingSystem.WebMoneyTransfer(); wm.TransferId = t.TransferId; wm.Description = inv.Description; wm.TargetPurse = inv.TargetPurse.ToString(); wm.SourcePurse = inv.SourcePurse != null ? inv.SourcePurse.Number.ToString() : null; wm.WmInvoiceId = (int)inv.Id; wm.WmTransferId = (int)inv.TransferId; wm.TransDate = ((DateTime)inv.UpdateTime).ToUniversalTime(); wm.RetCode = 0; WebMoneyTransferFacade.Add(wm); BillingSystemFacade.CompleteTransfer(t.TransferId); transfers.Remove(t); if (t.Commission != t.Commission) { MailMessage m = new MailMessage(SmtpManager.Instance.Config.SupportEmail, SmtpManager.Instance.Config.Email4Errors, "WEB MONEY ERROR COMMISSION", String.Format("TransferId = {0}; WebMoneyId = {1}", t.TransferId, wm.Id)); SmtpManager.Instance.Send(m); } } } } }
private void переносToolStripMenuItem_Click(object sender, EventArgs e) { Filters filter = new TransferFilter(); backgroundWorker1.RunWorkerAsync(filter); }
public PagedResultDto <TransferDto> GetTransfersByFilter(TransferFilter transferFilter) { return(transferAppService.GetTransfers(transferFilter)); }