/// <summary> /// Проверить акт на дубли. /// </summary> /// <param name="contractStatement">Акт.</param> /// <param name="businessUnit">НОР.</param> /// <param name="registrationNumber">Рег. номер.</param> /// <param name="registrationDate">Дата регистрации.</param> /// <param name="counterparty">Контрагент.</param> /// <param name="leadingDocument">Ведущий документ.</param> /// <returns>Признак дублей.</returns> public static bool HaveDuplicates(IContractStatement contractStatement, Sungero.Company.IBusinessUnit businessUnit, string registrationNumber, DateTime?registrationDate, Sungero.Parties.ICounterparty counterparty, Docflow.IOfficialDocument leadingDocument) { if (contractStatement == null || businessUnit == null || string.IsNullOrWhiteSpace(registrationNumber) || registrationDate == null || counterparty == null || leadingDocument == null) { return(false); } return(Functions.ContractStatement.Remote.GetDuplicates(contractStatement, businessUnit, registrationNumber, registrationDate, counterparty, leadingDocument) .Any()); }
public Structures.ApprovalRulesConsolidatedReport.TableLine CreateTableLine(string reportSessionId, Sungero.Company.IBusinessUnit businessUnit, Sungero.Company.IDepartment department, Sungero.Docflow.IDocumentGroupBase category, Sungero.Docflow.IApprovalRuleBase rule, Sungero.Core.Enumeration flow, string documentKind, string documentParentType, Dictionary <Sungero.Core.Enumeration, string> localizedValueCash) { var line = Structures.ApprovalRulesConsolidatedReport.TableLine.Create(); line.BusinessUnit = businessUnit != null ? businessUnit.Name : string.Empty; line.Department = department != null ? department.Name : string.Empty; line.ReportSessionId = reportSessionId; line.Relation = department != null && businessUnit != null && Equals(department.BusinessUnit, businessUnit) ? "+" : string.Empty; line.Category = category != null ? category.Name : string.Empty; if (rule != null) { line.ApprovalRule = rule.Name; line.ApprovalRuleId = rule.Id; line.ApprovalRulePriority = rule.Priority; line.ApprovalRuleUrl = Hyperlinks.Get(rule); line.Status = localizedValueCash[rule.Status.Value]; } line.DocumentFlow = localizedValueCash[flow]; line.DocumentKind = documentKind; line.DocumentParentType = documentParentType; return(line); }
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 IQueryable <IContractBase> GetDuplicates(IContractBase contract, Sungero.Company.IBusinessUnit businessUnit, string registrationNumber, DateTime?registrationDate, Sungero.Parties.ICounterparty counterparty) { return(ContractBases.GetAll() .Where(l => Equals(contract.DocumentKind, l.DocumentKind)) .Where(l => Equals(businessUnit, l.BusinessUnit)) .Where(l => registrationDate == l.RegistrationDate) .Where(l => registrationNumber == l.RegistrationNumber) .Where(l => Equals(counterparty, l.Counterparty)) .Where(l => !Equals(contract, l))); }
public static IQueryable <IContractStatement> GetDuplicates(IContractStatement contractStatement, Sungero.Company.IBusinessUnit businessUnit, string registrationNumber, DateTime?registrationDate, Sungero.Parties.ICounterparty counterparty, Docflow.IOfficialDocument leadingDocument) { return(ContractStatements.GetAll() .Where(l => Equals(contractStatement.DocumentKind, l.DocumentKind)) .Where(l => Equals(businessUnit, l.BusinessUnit)) .Where(l => registrationDate == l.RegistrationDate) .Where(l => registrationNumber == l.RegistrationNumber) .Where(l => Equals(counterparty, l.Counterparty)) .Where(l => Equals(leadingDocument, l.LeadingDocument)) .Where(l => !Equals(contractStatement, l))); }
/// <summary> /// Проверить договор на дубли. /// </summary> /// <param name="contract">Договор.</param> /// <param name="businessUnit">Наша организация.</param> /// <param name="registrationNumber">Номер договора.</param> /// <param name="registrationDate">Дата договора.</param> /// <param name="counterparty">Контрагент.</param> /// <returns>Признак наличия дублей.</returns> public static bool HaveDuplicates(IContractBase contract, Sungero.Company.IBusinessUnit businessUnit, string registrationNumber, DateTime?registrationDate, Sungero.Parties.ICounterparty counterparty) { if (contract == null || businessUnit == null || string.IsNullOrWhiteSpace(registrationNumber) || registrationDate == null || counterparty == null) { return(false); } return(Functions.ContractBase.Remote.GetDuplicates(contract, businessUnit, registrationNumber, registrationDate, counterparty) .Any()); }
public List <Structures.ApprovalRulesConsolidatedReport.TableLine> CreateTableDataLines(IEnumerable <IApprovalRuleBase> rules, string reportSessionId, Sungero.Company.IBusinessUnit businessUnit, Sungero.Company.IDepartment department, Sungero.Docflow.IDocumentGroupBase category, Sungero.Core.Enumeration flow, string documentKind, string documentParentType, Dictionary <Sungero.Core.Enumeration, string> localizedValueCash) { var result = new List <Structures.ApprovalRulesConsolidatedReport.TableLine>(); if (!rules.Any()) { var line = this.CreateTableLine(reportSessionId, businessUnit, department, category, null, flow, documentKind, documentParentType, localizedValueCash); result.Add(line); } foreach (var rule in rules) { var line = this.CreateTableLine(reportSessionId, businessUnit, department, category, rule, flow, documentKind, documentParentType, localizedValueCash); result.Add(line); } return(result); }