public List <Sungero.Domain.Shared.IEntity> GetChangedBankAccountsFromSyncDateRemote(List <Guid> entityTypeGuids, int processedEntitiesCount, int entitiesCountForProcessing, string extEntityType, string systemId) { using (var session = new Domain.Session()) { var entities = new List <Sungero.Domain.Shared.IEntity>().AsQueryable(); foreach (var entityTypeGuid in entityTypeGuids) { entities = entities.Union(this.GetChangedEntities(session, entityTypeGuid, extEntityType, systemId)); } entities = entities.Where(x => Counterparties.Is(x) && Counterparties.As(x).Status == Sungero.Parties.Counterparty.Status.Active && Counterparties.As(x).Bank != null && !string.IsNullOrEmpty(Counterparties.As(x).Account)); var entitiesBatch = entities .Skip(processedEntitiesCount) .Take(entitiesCountForProcessing) .ToList(); return(entitiesBatch); } }
public async Task <ActionResult <Counterparties> > PostCounterparties(Counterparties counterparties) { _context.Counterparties.Add(counterparties); await _context.SaveChangesAsync(); return(CreatedAtAction("GetCounterparties", new { id = counterparties.CounterpartyId }, counterparties)); }
public async Task <IActionResult> PutCounterparties(int id, Counterparties counterparties) { if (id != counterparties.CounterpartyId) { return(BadRequest()); } _context.Entry(counterparties).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CounterpartiesExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public override bool CanAddChildEntity(Sungero.Domain.Client.CanExecuteChildCollectionActionArgs e) { var root = Counterparties.As(e.RootEntity); return((root != null && _all == root.ExchangeBoxes) ? false : base.CanAddChildEntity(e)); }
public override bool CanDeleteChildEntity(Sungero.Domain.Client.CanExecuteChildCollectionActionArgs e) { // Дизейбл грида абонентских ящиков. var root = Counterparties.As(e.RootEntity); return((root != null && _all == root.ExchangeBoxes) ? false : base.CanDeleteChildEntity(e)); }
public void UpdateView() { var counterparties = _counterpartyRepository.GetEntities(); Counterparties.Clear(); foreach (var counterparty in counterparties) { Counterparties.Add(counterparty); } }
public static List <ICounterparty> GetDuplicateCounterparties(string tin, string trrc, string name, int?excludedCounterpartyId, bool excludeClosed) { var counterparties = Counterparties.GetAll(); if (excludedCounterpartyId.HasValue) { counterparties = counterparties.Where(x => x.Id != excludedCounterpartyId.Value); } return(GetDuplicateCounterparties(counterparties, tin, trrc, name, excludeClosed)); }
public static string GetEmailByTinTrrc(string tin, string trrc) { var counterparties = Counterparties.GetAll().Where(c => c.TIN == tin).ToList(); if (!string.IsNullOrWhiteSpace(trrc)) { counterparties = counterparties.Where(t => Companies.Is(t) && Companies.As(t).TRRC == trrc).ToList(); } var counterparty = counterparties.FirstOrDefault(); return(counterparty != null ? counterparty.Email : string.Empty); }
public static List <ICounterparty> GetExchangeCounterparty(Sungero.Company.IBusinessUnit businessUnit) { // TODO Пока отправляем только тем, с кем установлен обмен. var parties = Counterparties.GetAll() .Where(x => x.ExchangeBoxes.Any(b => Equals(b.Status, Sungero.Parties.CounterpartyExchangeBoxes.Status.Active) && b.IsDefault == true)) .ToList(); if (businessUnit != null) { parties = parties.Where(x => x.ExchangeBoxes.Any(b => Equals(b.Box.BusinessUnit, businessUnit))).ToList(); } return(parties); }
public static List <ICounterparty> FindCounterparty(string uuid, string tin, string trrc, string sysid) { // Найти контрагента среди синхронизированных ранее. if (!string.IsNullOrWhiteSpace(uuid)) { var linkedIds = Commons.PublicFunctions.Module.GetExternalEntityLinks(uuid, sysid).Select(x => x.EntityId).ToList(); var result = Counterparties.GetAll().Where(x => linkedIds.Contains(x.Id)); if (result.Any()) { return(result.ToList()); } } // Найти контрагентов, удовлетворяющих критериям ИНН/КПП, если не найдено синхронизированных ранее. return(GetDuplicateCounterparties(tin, trrc, string.Empty, null, false)); }
public int GetChangedBankAccountsFromSyncDateRemoteCount(List <Guid> entityTypeGuids, string extEntityType, string systemId) { using (var session = new Domain.Session()) { var totalCount = 0; foreach (var entityTypeGuid in entityTypeGuids) { var entities = this.GetChangedEntities(session, entityTypeGuid, extEntityType, systemId).ToList(); totalCount += entities.Where(x => Counterparties.Is(x) && Counterparties.As(x).Status == Sungero.Parties.Counterparty.Status.Active && Counterparties.As(x).Bank != null && !string.IsNullOrEmpty(Counterparties.As(x).Account)) .Count(); } return(totalCount); } }
public override IQueryable <T> Filtering(IQueryable <T> query, Sungero.Domain.FilteringEventArgs e) { if (_filter != null) { if (_filter.Company || _filter.Person || _filter.Bank) { query = query.Where(x => (_filter.Company && Companies.Is(x)) || (_filter.Person && People.Is(x)) || (_filter.Bank && Banks.Is(x))); } if (_filter.Responsible != null) { query = query.Where(x => Counterparties.Is(x) && Equals(_filter.Responsible, Counterparties.As(x).Responsible)); } } // Исключение системного контрагента - "По списку рассылки". var distributionListCounterparty = Parties.PublicFunctions.Counterparty.Remote.GetDistributionListCounterparty(); return(query.Where(x => !Equals(x, distributionListCounterparty))); }
public IQueryable <ICounterparty> CounterpartiesAvailableForExchange() { return(Counterparties.GetAll(x => x.CanExchange == true)); }
public static ICounterparty FindCounterpartyByOrganizationId(ExchangeCore.IBusinessUnitBox box, string organizationId) { return(Counterparties.GetAll().Where(c => c.ExchangeBoxes.Any(b => Equals(b.Box, box) && b.OrganizationId == organizationId)).FirstOrDefault()); }