public override IQueryable <DataObject> GetAltKey(BeneficiaryPreferentialCategory dobj, IDataService defDS,
                                                          IDataService syncDS, Source source, ref List <DataObject> arrToUpd,
                                                          ref Dictionary <string, List <DataObject> > arrConformity)
        {
            var leechnost = MapperHelper.GetMaster(typeof(Leechnost), dobj.Beneficiary.Guid,
                                                   defDS.Query <Leechnost>(Leechnost.Views.LeechnostE), syncDS, source, ref arrToUpd, ref arrConformity);
            var date  = (NullableDateTime)dobj.AppointmentDate;
            var lgKat = new LgotKat {
                __PrimaryKey = dobj.PreferentialCategory.Guid
            };

            return(defDS.Query <LgKatLeechnosti>(LgKatLeechnosti.Views.LgKatLeechnostiE).Where(x =>
                                                                                               x.DataNaznacheniia == date &&
                                                                                               x.Leechnost.__PrimaryKey.Equals(leechnost.__PrimaryKey) &&
                                                                                               x.LgotKat.__PrimaryKey.Equals(lgKat.__PrimaryKey)));
        }
        public override void SetMasters(BeneficiaryPreferentialCategory obj, LgKatLeechnosti dobj, List <string> attrs,
                                        IDataService defDS, IDataService syncDS, Source source, ref List <DataObject> arrToUpd,
                                        ref Dictionary <string, List <DataObject> > arrConformity)
        {
            var status = dobj.GetStatus();

            if (obj.Document != null &&
                (status == ObjectStatus.Created ||
                 attrs != null && attrs.Contains(BeneficiaryPreferentialCategory.ConstDocument)))
            {
                dobj.Dokument = (UdostDokument)MapperHelper.GetMaster(typeof(UdostDokument), obj.Document.Guid,
                                                                      defDS.Query <UdostDokument>(UdostDokument.Views.UdostDokumentE), syncDS, source, ref arrToUpd,
                                                                      ref arrConformity);
            }

            if (obj.PreferentialCategory != null &&
                (status == ObjectStatus.Created || attrs != null &&
                 attrs.Contains(BeneficiaryPreferentialCategory.ConstPreferentialCategory)))
            {
                var val = new LgotKat();
                val.SetExistObjectPrimaryKey(obj.PreferentialCategory.Guid);
                defDS.LoadObject(val);
                dobj.LgotKat = val;
            }

            if (status == ObjectStatus.Created ||
                attrs != null && attrs.Contains(BeneficiaryPreferentialCategory.ConstBeneficiary))
            {
                var leechnost = (Leechnost)MapperHelper.GetMaster(typeof(Leechnost), obj.Beneficiary.Guid,
                                                                  defDS.Query <Leechnost>(Leechnost.Views.LeechnostE), syncDS, source, ref arrToUpd,
                                                                  ref arrConformity);
                dobj.Leechnost = leechnost;
            }

            if (obj.ActDisability != null &&
                (status == ObjectStatus.Created ||
                 attrs != null && attrs.Contains(BeneficiaryPreferentialCategory.ConstActDisability)))
            {
                dobj.AktInvalidnosti = null;
            }
        }