public override bool Equivilant(IBusinessUnit comparing) { MockDataUnit holder; if ((holder = comparing as MockDataUnit) != null){ return holder.key == key && base.Equivilant(comparing); } return false; }
public static IRegistrationSetting GetSettingByParams(Enumeration?settingType, IBusinessUnit businessUnit, IDocumentKind documentKind, IDepartment department) { var settings = GetAvailableSettingsByParams(settingType, businessUnit, documentKind, department); return(settings.OrderByDescending(r => r.Priority).FirstOrDefault()); }
/*-- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- | Subroutine: Equivilant +-- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- */ public virtual bool Equivilant(IBusinessUnit comparing) { MockBusinessUnit boxed; if ((boxed = (comparing as MockBusinessUnit)) != null){ return ( boxed.attrTwo == null && boxed.attrTwo == null ) || ( boxed.attrTwo != null && attrTwo != null && boxed.attrTwo.Equals(attrTwo) ); } return false; }
private List <IDepartment> GetFilteredDepartments(IBusinessUnit businessUnit, bool?filterDepartmentsForBusinessUnits) { var departments = Sungero.Company.PublicFunctions.Department.Remote.GetDepartments() .Where(d => d.Status == Sungero.CoreEntities.DatabookEntry.Status.Active); // Подразделения фильтруются по НОР. if (filterDepartmentsForBusinessUnits == true && businessUnit != null) { return(departments .Where(d => Equals(d.BusinessUnit, businessUnit)) .ToList()); } // Подразделения не фильтруются по НОР. return(departments.ToList()); }
public static IQueryable <IRegistrationSetting> GetAvailableSettingsByParams(Enumeration?settingType, IBusinessUnit businessUnit, IDocumentKind documentKind, IDepartment department) { var activeStatus = CoreEntities.DatabookEntry.Status.Active; var settings = RegistrationSettings.GetAllCached(r => r.Status == activeStatus && r.SettingType == settingType && r.DocumentRegister.Status == activeStatus); settings = businessUnit != null? settings.Where(r => r.BusinessUnits.Any(o => o.BusinessUnit.Equals(businessUnit)) || !r.BusinessUnits.Any()) : settings.Where(r => !r.BusinessUnits.Any()); settings = documentKind != null? settings.Where(r => r.DocumentKinds.Any(o => o.DocumentKind.Equals(documentKind)) || !r.DocumentKinds.Any()) : settings.Where(r => !r.DocumentKinds.Any()); settings = department != null? settings.Where(r => r.Departments.Any(o => o.Department.Equals(department)) || !r.Departments.Any()) : settings.Where(r => !r.Departments.Any()); return(settings); }
public virtual bool Equivilant(IBusinessUnit comparing) { return false; //Will never be business equivilant. }
public virtual bool Equivilant(IBusinessUnit comparing) { return false; }
public virtual bool Equivilant(IBusinessUnit comparing) { return false; //Never equivilant (no unique attributes) }
public override bool Equivilant(IBusinessUnit comparing) { return this.MatchingKeyAndType<DAddress>(comparing); }
public static List <IDocumentRegister> GetDocumentRegistersByParams(IDocumentKind kind, IBusinessUnit unit, IDepartment department, Enumeration?settingType, bool forCurrentUser) { // Результат сразу замыкается в ToList, так как иначе не транслируется в SQL, если вызывать на сервере. // Все журналы, указанные в настройках регистрации. var documentRegistersWithRegistrationSettings = RegistrationSettings .GetAllCached(s => s.Status == CoreEntities.DatabookEntry.Status.Active && s.SettingType == Docflow.RegistrationSetting.SettingType.Registration) .Select(s => s.DocumentRegister) .ToList(); // Все журналы, кроме указанных в настройках регистрации. var documentRegistersWithoutRegistrationSettings = DocumentRegisters.GetAll() .Where(l => !documentRegistersWithRegistrationSettings.Contains(l)); // Журналы, подходящие по непротиворечивым настройкам. var documentRegistersBySettings = Functions.RegistrationSetting .GetAvailableSettingsByParams(settingType, unit, kind, department) .Select(s => s.DocumentRegister) .ToList(); // Журналы настроек регистрации, подходящих для текущего документа. var documentRegistersByRegistrationSettings = Functions.RegistrationSetting .GetAvailableSettingsByParams(Docflow.RegistrationSetting.SettingType.Registration, unit, kind, department) .Select(s => s.DocumentRegister) .ToList(); // Получить все журналы по настройкам. documentRegistersByRegistrationSettings.AddRange(documentRegistersBySettings); // Фильтруем журналы по документопотоку. Только журналы регистрации. var result = Functions.DocumentRegister.GetFilteredDocumentRegisters(kind.DocumentFlow.Value, true, forCurrentUser) .Where(a => documentRegistersByRegistrationSettings.Contains(a) || documentRegistersWithoutRegistrationSettings.Contains(a)).ToList(); // Для резервирования добавить настройки резервирования в обход проверки доступности журнала группе регистрации. // Делопроизводитель должен иметь возможность резервировать номер в документе, который не сможет зарегистрировать. if (settingType == Docflow.RegistrationSetting.SettingType.Reservation) { result.AddRange(documentRegistersBySettings); } return(result.Distinct().ToList()); }
public virtual bool Equivilant(IBusinessUnit comparing) { //Will never be equivilant to other business units (No unique attributes) return false; }
public virtual bool Equivilant(IBusinessUnit comparing) { return false; //Never equivilant at this layer. }
public override IQueryable <ISignatureSetting> GetSignatureSetting(IBusinessUnit businessUnit, IDocumentKind kind, double?minAmount, List <Company.IDepartment> departments) { return(this.GetSignatureSettingWithoutDocumentFlowFilter(businessUnit, kind, minAmount, departments) .Where(s => s.DocumentFlow == Docflow.SignatureSetting.DocumentFlow.Contracts || s.DocumentFlow == Docflow.SignatureSetting.DocumentFlow.All)); }