/// <summary> /// Сотрудники, которых необходимо уведомить о сроке договора. /// </summary> /// <param name="contract">Договор.</param> /// <returns>Список сотрудников.</returns> public virtual List <IUser> GetNotificationPerformers(IContractBase contract) { var performer = contract.ResponsibleEmployee ?? Employees.As(contract.Author); var performers = new List <IUser>() { }; if (performer == null) { return(performers); } var manager = Docflow.PublicFunctions.Module.Remote.GetManager(performer); var performerPersonalSetting = Docflow.PublicFunctions.PersonalSetting.GetPersonalSettings(performer).MyContractsNotification; if (performerPersonalSetting == true) { performers.Add(performer); } if (manager != null) { var managerPersonalSetting = Docflow.PublicFunctions.PersonalSetting.GetPersonalSettings(manager).MySubordinatesContractsNotification; if (managerPersonalSetting == true) { performers.Add(manager); } } return(performers); }
public static string GetContractNamePart(IContractBase contract) { if (contract == null) { return(string.Empty); } return(contract.AccessRights.CanRead() ? GetNamePartByContract(contract) : Functions.ContractBase.Remote.GetNamePartByContractIgnoreAccessRights(contract.Id)); }
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))); }
/// <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()); }