/// <summary> /// Constructor. /// </summary> /// <param name="tableName">Table name</param> protected EntityMap(string tableName) { if (string.IsNullOrWhiteSpace(tableName)) //TODO: Use code contracts? { throw new ArgumentNullException("tableName"); } Table(tableName); Id(x => x.Id); if (typeof(IMustHaveTenant).IsAssignableFrom(typeof(TEntity))) { Map(Reveal.Member <TEntity>("TenantId")).Column("TenantId").Not.Nullable().Index(string.Format("tenantid_{0}", tableName)); } if (typeof(IMayHaveTenant).IsAssignableFrom(typeof(TEntity))) { Map(Reveal.Member <TEntity>("TenantId")).Column("TenantId").Nullable(); } //if (typeof(ISoftDelete).IsAssignableFrom(typeof(TEntity))) //{ // Where("IsDeleted = 0"); //TODO: Test with other DBMS then SQL Server //} if (typeof(IMustHaveTenant).IsAssignableFrom(typeof(TEntity))) { ApplyFilter <MustHaveTenantFilter>(); } if (typeof(IMayHaveTenant).IsAssignableFrom(typeof(TEntity))) { ApplyFilter <MayHaveTenantFilter>(); } }
public void Should_return_expression_for_public_property() { var expression = Reveal.Property <StringTarget>("PublicProperty"); Assert.That(expression, Is.Not.Null); Assert.That(ReflectionHelper.GetProperty(expression).ToMember().Name, Is.EqualTo("PublicProperty")); }
private void SlideCommandHandler(object parameter) { Reveal.Stop(); Hide.Stop(); if (parameter is bool) { if (!_shouldShow) { Hide.Begin(); _shouldShow = true; } return; } if (_shouldShow) { Reveal.Begin(); } else { Hide.Begin(); } _shouldShow = !_shouldShow; }
public DeductionMap() { Table("deductions"); Id(x => x.Id); // References<Employee>(Reveal.Member<Deduction>("_employee")); References <Employee>(x => x.Employee); References <Salary>(Reveal.Member <Deduction>("_salary")); Map(Reveal.Member <Deduction>("_amortization")); Map(Reveal.Member <Deduction>("_paid")); Map(x => x.Mode); Map(x => x.hasBalance); Component <MonetaryValue>(x => x.Total, c => { c.Map(x => x.PreciseValue).Column("total"); c.Map(x => x.Code); }).ColumnPrefix("deduction_"); Component <Date>(x => x.DateGranted, c => { c.Map(x => x.Year); c.Map(x => x.Month); c.Map(x => x.Day); }).ColumnPrefix("granted_"); HasMany <DeductionPayment>(Reveal.Member <Deduction>("_payments")); }
public StickerPackMap() { Table("StickerPacks"); Id(x => x.Id).GeneratedBy.Assigned(); Map(x => x.Name).Not.Nullable(); Map(x => x.Alias).Not.Nullable(); Map(x => x.Claps).Not.Nullable(); Map(x => x.CreatedAt).Not.Nullable(); References(x => x.CreatedBy, "CreatedById") .Not.Nullable() .Cascade.Persist() .Cascade.Delete() .LazyLoad(); HasMany <Donation>(Reveal.Member <StickerPack>("Donations")) .Access.CamelCaseField(Prefix.Underscore) .Cascade.AllDeleteOrphan() .ExtraLazyLoad() .Inverse(); HasManyToMany <Tag>(Reveal.Member <StickerPack>("Tags")) .Access.CamelCaseField(Prefix.Underscore) .ExtraLazyLoad() .Cascade.All() .ParentKeyColumn("StickerPackId") .ChildKeyColumn("TagId") .Table("StickerTags_Pivot"); }
public void CanRightOuterJoinCollectionWithRevealAndLambdas() { Reveal.SetDefaultConvention(x => x); UserGroupLinkEntity link = null; GroupEntity group = null; CustomerGroupLinkEntity customerLink = null; CustomerEntity customer = null; FlowQuerySelection <string> groups1 = Query <UserEntity>() .RightOuter.Join(u => u.Groups, () => link) .RightOuter.Join(u => link.Group, () => group) .RightOuter.Join(u => group.Customers, () => customerLink) .RightOuter.Join(u => customerLink.Customer, () => customer) .Distinct() .Select(u => customer.Name); Assert.That(groups1.Count(), Is.EqualTo(4)); FlowQuerySelection <string> groups2 = Query <UserEntity>() .RightOuter.Join(u => u.Groups, () => link, () => link.Id == null) .RightOuter.Join(u => link.Group, () => group, () => group.Id == null) .RightOuter.Join(u => group.Customers, () => customerLink, () => customerLink.Id == null) .RightOuter.Join(u => customerLink.Customer, () => customer, () => customer.Id == null) .Distinct() .Select(u => customer.Name); Assert.That(groups2.Count(), Is.EqualTo(4)); Reveal.ClearDefaultConvention(); }
public ProcessMap() { Table("NTFE_Process"); //HACK:允许由应用设置,增加应用友好 Id(m => m.ID).GeneratedBy.Assigned(); Map(m => m.CreateTime); Map(m => m.FinishTime).Nullable(); Map(m => m.Priority); Map(m => m.Status).CustomType <ProcessStatus>(); Map(m => m.Title).Length(500); Map(m => m.ParentProcessId); //调度标识字段 Map(Reveal.Member <Process>("_chargingBy")).Column("ChargingBy").Length(50); //HACK:由于Component的lazyload在当前NH版本下无效,改为单独维护WorkflowData字段 //Component<Process.InternalWorkflowInstance>(Reveal.Member<Process>("Instance") // , m => m.Map(x => x.Serialized).Column("WorkflowData")) // .LazyLoad(); References(m => m.Originator).Column("OriginatorId").LazyLoad(); References(m => m.ProcessType).Column("ProcessTypeId").LazyLoad(); HasMany <ProcessDataField>(Reveal.Member <Process>("_dataFields")) .Cascade.SaveUpdate() .LazyLoad() .KeyColumn("ProcessId"); }
public void Override(AutoMapping <BasicUser> mapping) { mapping.Map(x => x.FirstName).Nullable(); mapping.Map(x => x.LastName).Nullable(); mapping.Id(x => x.Id).GeneratedBy.HiLo("_uniquekey", "next_hi", "0", string.Format("table_name = '{0}'", "basicusers")); mapping.HasManyToMany <EventType>(Reveal.Property <BasicUser>("eventTypes")) .Table("UserByEventTypes") .ParentKeyColumn("GarmentId") .ChildKeyColumn("EventTypeId") .Cascade.None(); mapping.HasMany <Friend>(Reveal.Property <BasicUser>("friends")).Inverse().Cascade.AllDeleteOrphan(); mapping.HasMany <Friend>(Reveal.Property <BasicUser>("friendsThatInvitedMe")) .KeyColumn("UserId") .Where(string.Format("Status = {0}", (int)FriendStatus.Pending)); mapping.HasMany <Friend>(Reveal.Property <BasicUser>("friendsAccepted")). Where(string.Format("Status = {0}", (int)FriendStatus.Confirmed)); mapping.HasMany <UserFlavor>(Reveal.Property <BasicUser>("userFlavors")) .Cascade.SaveUpdate(); }
public ExpenseReportMap() { Not.LazyLoad(); Id(x => x.Id).GeneratedBy.GuidComb(); Map(x => x.Number).Not.Nullable().Length(5); Map(x => x.Title).Not.Nullable().Length(200); Map(x => x.Description).Not.Nullable().Length(4000); Map(x => x.CreatedDate); Map(x => x.Status).Not.Nullable().CustomType <ExpenseReportStatusType>(); References(x => x.Submitter).Not.Nullable().Column("SubmitterId"); References(x => x.Approver).Column("ApproverId"); HasMany(Reveal.Member <ExpenseReport, IEnumerable <AuditEntry> >("_auditEntries")) .AsList(part => { part.Column("Sequence"); part.Type <int>(); }) .Table("AuditEntry") .Cascade.AllDeleteOrphan() .KeyColumn("ExpenseReportId") .Component(part => { part.References(x => x.Employee).Column("EmployeeId"); part.Map(x => x.ArchivedEmployeeName); part.Map(x => x.Date); part.Map(x => x.BeginStatus).CustomType <ExpenseReportStatusType>(); part.Map(x => x.EndStatus).CustomType <ExpenseReportStatusType>(); }) .Access.CamelCaseField() .Not.LazyLoad(); }
public MontlyBudgetMap() { Id(x => x.Id); Map(Reveal.Member <MontlyBudget>("ExecutionDay")); Map(Reveal.Member <MontlyBudget>("Category")); Map(x => x.Available); }
public HumanSettingMap() { Table("NTFE_Activity"); Map(m => m.SlotCount); Map(m => m.SlotMode).CustomType <HumanSetting.SlotDistributionMode>(); Map(m => m.Url).Length(500); Map(Reveal.Member <HumanSetting>("_actions")).Column("Actions").Length(500); Component(m => m.ActionerRule, m => { m.Map(Reveal.Member <HumanActionerRule>("_scripts")).Column("ActionerRule_Script").Length(500); }); Component(m => m.EscalationRule, m => { m.Map(x => x.ExpirationMinutes).Column("EscalationRule_ExpirationMinutes").Nullable(); m.Map(x => x.NotifyRepeatMinutes).Column("EscalationRule_NotifyRepeatMinutes").Nullable(); m.Map(x => x.NotifyTemplateName).Column("EscalationRule_NotifyTemplateName").Nullable(); m.Map(x => x.GotoActivityName).Column("EscalationRule_GotoActivityName").Nullable(); m.Map(x => x.RedirectTo).Column("EscalationRule_RedirectTo").Nullable(); m.References(x => x.TimeZone).Column("EscalationRule_TimeZoneId").LazyLoad(); }); DiscriminatorValue("human"); }
/// <inheritdoc /> public CaseMap() : base() { Table("case_card"); Id(x => x.Id, "id").GeneratedBy.Assigned(); Map(x => x.Created, "created"); Map(x => x.Updated, "updated"); Map(x => x.ActivatedPlanInstructions, "activated_plan_instructions").Nullable(); Map(Reveal.Member <Case>("_status"), "status").Nullable(); Map(x => x.IndexValue, "index_value").Nullable(); HasMany(x => x.CaseUsers) .Cascade.All().Inverse() .Fetch .Subselect().KeyColumn("case_id"); References(x => x.Type) .Column("case_type_id"); References(x => x.CaseFolder) .Cascade.SaveUpdate() .Column("case_folder_id"); Not.LazyLoad(); }
public EmployeeMappings() { Table("Employees"); Not.LazyLoad(); Id(Reveal.Member <Employee>("EmployeeId")) .GeneratedBy.Identity(); Version(Reveal.Member <Employee>("Version")) .CustomSqlType("rowversion") .CustomType <byte[]>() .Generated.Always(); Map(Reveal.Member <Employee>("Name")); Map(Reveal.Member <Employee>("Address")); HasMany <Contact>(Reveal.Member <Employee>("Contacts")) .KeyColumn("EmployeeId") .Component(c => { c.Map(Reveal.Member <Contact>("Value")) .Column("Contact") .Not.Nullable(); c.Map(Reveal.Member <Contact>("Kind")) .Column("ContactKind") .CustomSqlType("integer") .CustomType <ContactKind>() .Not.Nullable(); }) .Table("Contacts") .Not.LazyLoad(); References <EmployeeType>(Reveal.Member <Employee>("EmployeeType")) .Column("EmployeeTypeId") .Not.Nullable() .Cascade.None(); }
public ProcessTypeMap() { Table("NTFE_ProcessType"); //HACK:ProcessType启用二级缓存,对象属于不可变 Cache.ReadWrite().Region("ProcessTypes"); Id(m => m.ID); Map(m => m.Name).Length(50); Map(m => m.Description).Length(500); Map(m => m.CreateTime); Map(m => m.IsCurrent); Map(m => m.Version); Map(m => m.Group).Column("GroupName").Length(50); Component <ProcessType.WorkflowDefinition>(Reveal.Member <ProcessType>("Workflow") , m => m.Map(x => x.Serialized) .Column("WorkflowData") //narchar(max) https://github.com/ali-ent/NTFE-BPM/issues/1 .CustomType("StringClob")); //HACK:https://github.com/codesharp/infrastructure/blob/master/upgrade.md //.LazyLoad(); HasMany <ActivitySetting>(Reveal.Member <ProcessType>("_settings")) .Cascade.SaveUpdate() .LazyLoad().KeyColumn("ProcessTypeId"); }
private void InitializeApiObjects() { //New API needs to be instantiated here acsrf = new Acsrf(this); ajaxspider = new AjaxSpider(this); ascan = new Ascan(this); authentication = new Authentication(this); authorization = new OWASPZAPDotNetAPI.Generated.Authorization(this); autoupdate = new Autoupdate(this); brk = new Break(this); context = new Context(this); core = new Core(this); forcedUser = new ForcedUser(this); httpSessions = new HttpSessions(this); importLogFiles = new ImportLogFiles(this); parameters = new Params(this); pnh = new Pnh(this); pscan = new Pscan(this); reveal = new Reveal(this); script = new Script(this); search = new Search(this); selenium = new Selenium(this); sessionManagement = new SessionManagement(this); spider = new Spider(this); stats = new Stats(this); users = new Users(this); }
public GroupMap() { Id(p => p.Id).GeneratedBy.Assigned(); Map(p => p.Name).Not.Nullable(); HasManyToMany(p => p.Users) .Access .CamelCaseField() .Table("GroupUser") .ParentKeyColumn("GroupId") .ChildKeyColumn("UserId") .LazyLoad(); HasManyToMany(p => p.Invites) .Access .CamelCaseField() .Table("UserInviteGroup") .ParentKeyColumn("GroupId") .ChildKeyColumn("UserInviteId") .LazyLoad(); Map(p => p.DateCreated).Not.Nullable(); Map(p => p.DateModified).Not.Nullable(); Map(Reveal.Member <Group>("tenantId")).Not.Nullable(); ApplyFilter <MultitenantFilter>("TenantId = :TenantId"); }
/// <summary> /// Searches for a customer who has the specified account. /// </summary> /// <param name="accountNumber">The account number.</param> /// <returns></returns> public ICustomer FindByAccount(string accountNumber) { return(GetSession().QueryOver <CustomerBase>() .Left.JoinQueryOver(Reveal.Member <CustomerBase>("_accounts")) .WhereRestrictionOn(x => ((Account)x).AccountNumber).IsLike(accountNumber) .SingleOrDefault()); }
public static void Postfix(HudManager __instance) { #region add the immortal button reliveButton = new CooldownButton(delegate() { Immortal.onClick(reliveButton); }, (float)1, "Pheonix.Assets.scndchancedone.png", 100f, Vector2.zero, CooldownButton.Category.OnlyPheonix, __instance, (float)0, delegate() { Immortal.onDone(); }); reliveButton.killButtonManager.gameObject.SetActive(false); #endregion #region add the droplet button dropletButton = new CooldownButton(delegate() { Droplit.onClick(dropletButton); }, (float)5, "Pheonix.Assets.commsIcon.png", 100f, Vector2.zero, CooldownButton.Category.OnlyPheonix, __instance, (float)0, delegate() { Droplit.onDone(); }); dropletButton.killButtonManager.SetTarget(PlayerTools.getClosestDeadPlayer(PlayerControl.LocalPlayer)); dropletButton.killButtonManager.gameObject.SetActive(false); #endregion #region add the reveal button flashButton = new CooldownButton(delegate() { Reveal.onClick(flashButton); }, (float)30f, "Pheonix.Assets.revealIcon.png", 100f, new Vector2(1.1f, 0f), CooldownButton.Category.OnlyPheonix, __instance, (float)HarmonyMain.flashDuration.GetValue(), delegate() { Reveal.onDone(); }); flashButton.killButtonManager.gameObject.SetActive(false); #endregion #region add the wrath button wrathButton = new CooldownButton(delegate() { Wrath.onClick(wrathButton); }, (float)15f, "Pheonix.Assets.wrathIcon.png", 100f, new Vector2(0.6f, 1.2f), CooldownButton.Category.OnlyPheonix, __instance, (float)0, delegate() { Wrath.onDone(); }); wrathButton.killButtonManager.gameObject.SetActive(false); #endregion #region add the extinguish button extinguishButton = new CooldownButton(delegate() { Water.onClick(extinguishButton); }, (float)HarmonyMain.extinguishCooldown.GetValue(), "Pheonix.Assets.clenseIcon.png", 100f, Vector2.zero, CooldownButton.Category.OnlyImpostor, __instance, (float)0, delegate() { Water.onDone(); }); extinguishButton.killButtonManager.gameObject.SetActive(false); #endregion }
public ExpenseReportMap() { Not.LazyLoad(); Id(x => x.Id).GeneratedBy.GuidComb(); Map(x => x.Number).Not.Nullable().Length(5); Map(x => x.Title).Not.Nullable().Length(200); Map(x => x.Description).Not.Nullable().Length(4000); Map(x => x.Status).Not.Nullable().CustomType <ExpenseReportStatusType>(); // New property mappings Map(x => x.MilesDriven).Column("MilesDriven"); Map(x => x.Created).Column("Created"); Map(x => x.FirstSubmitted).Column("FirstSubmitted"); Map(x => x.LastSubmitted).Column("LastSubmitted"); Map(x => x.LastWithdrawn).Column("LastWithdrawn"); Map(x => x.LastCancelled).Column("LastCancelled"); Map(x => x.LastApproved).Column("LastApproved"); Map(x => x.LastDeclined).Column("LastDeclined"); Map(x => x.Total).Column("Total"); References(x => x.Submitter).Column("SubmitterId"); References(x => x.Approver).Column("ApproverId"); HasMany(Reveal.Member <ExpenseReport, IEnumerable <AuditEntry> >("_auditEntries")) .AsList(part => { part.Column("Sequence"); part.Type <int>(); }) .Table("AuditEntry") .Cascade.AllDeleteOrphan() .KeyColumn("ExpenseReportId") .Component(part => { part.References(x => x.Employee).Column("EmployeeId"); part.Map(x => x.EmployeeName).Length(200); part.Map(x => x.Date); part.Map(x => x.EndStatus).CustomType <ExpenseReportStatusType>(); part.Map(x => x.BeginStatus).CustomType <ExpenseReportStatusType>(); }) .Access.CamelCaseField() .Not.LazyLoad(); HasMany(Reveal.Member <ExpenseReport, IEnumerable <Expense> >("_expenses")) .AsList(part => { part.Column("Sequence"); part.Type <int>(); }) .Table("Expense") .Cascade.AllDeleteOrphan() .KeyColumn("ExpenseReportId") .Component(part => { part.Map(x => x.Description); part.Map(x => x.Amount); }) .Access.CamelCaseField() .Not.LazyLoad(); }
public HumanActivityInstanceMap() { Table("NTFE_ActivityInstance"); Map(m => m.ReferredBookmarkName).Length(50); Map(Reveal.Member <HumanActivityInstance>("_actioners")).Column("Actioners"); Map(Reveal.Member <HumanActivityInstance>("_alreadyActioners")).Column("AlreadyActioners"); DiscriminatorValue("human"); }
public void Override(FluentNHibernate.Automapping.AutoMapping <Page> mapping) { mapping.HasMany <Link>(x => x.Links) .Access.CamelCaseField(Prefix.Underscore) .Cascade.AllDeleteOrphan() .Inverse(); mapping.Map(Reveal.Member <Page>("InnerHtml")).Length(10000); //Lenght > 4000 => nvarchar(max) }
public void Should_throw_on_invalid_name() { var ex = Assert.Throws <UnknownPropertyException>(() => Reveal.Property <StringTarget>("UnknownProperty"), "Could not find property 'UnknownProperty' on '" + typeof(StringTarget).FullName + "'"); ex.Property.ShouldEqual("UnknownProperty"); ex.Type.ShouldEqual(typeof(StringTarget)); }
public MovieMap() { Id(x => x.Id); DiscriminateSubClassesOnColumn("LicensingModel"); Map(x => x.Name); //Map(x => x.LicensingModel).CustomType<int>(); Map(Reveal.Member <Movie>("LicensingModel")).CustomType <int>(); }
public void Override(AutoMapping <Entity> mapping) { mapping.Component(x => x.Component, c => { c.Map(Reveal.Member <Component>("fieldName1"), "columnName1"); c.Map(Reveal.Member <Component>("fieldName2"), "columnName2"); c.Map(Reveal.Member <Component>("fieldName3"), "columnName3"); }); }
public void SecondReveal(int i_Row, int i_Col) { m_GameBoard.Expose(i_Row, i_Col); if (Reveal != null) { Reveal.Invoke(i_Row, i_Col); } }
public CatMap() { Id(i => i.Id).GeneratedBy.Identity(); HasMany <Vaccination>(Reveal.Member <Cat>("_vaccinations")).Cascade.All().Inverse(); HasMany <CatRecord>(Reveal.Member <Cat>("_catRecords")).Cascade.All().Inverse(); HasMany <CatEvent>(Reveal.Member <Cat>("_domainEvents")).Cascade.All().Inverse(); Map(i => i.Neutered); Map(i => i.Name); }
public WorkingDayMap() { Table("NTFE_TimeZone_WorkingDay"); Id(m => m.ID); Map(m => m.Date); Map(m => m.DayOfWeek).CustomType <DayOfWeek?>(); Map(m => m.Description); Map(Reveal.Member <WorkingDay>("_hours")).Column("WorkingHours"); }
public void Can_use_references_using_string_name_on_private_property() { new MappingTester <StringTarget>() .ForMapping(map => { map.Id(x => x.Id); map.References(Reveal.Member <StringTarget>("PrivateObject")); }) .Element("class/many-to-one").HasAttribute("name", "PrivateObject"); }
public void CanCreateRevealerUsingConventionDelegate() { IRevealer revealer = Reveal.CreateRevealer(s => "L" + s); Assert.That(revealer.Reveal <UserEntity>(x => x.Password), Is.EqualTo("LPassword")); IRevealer <UserEntity> revealerOfUser = Reveal.CreateRevealer <UserEntity>(s => "L" + s); Assert.That(revealerOfUser.Reveal(x => x.Password), Is.EqualTo("LPassword")); }
public PayrollReportMap() { Table("payroll_reports"); Id(x => x.Id); Map(x => x.Month); Map(x => x.Year); Map(x => x.MonthlyUnit); Map(x => x.Total); HasManyToMany <PayrollRecord>(Reveal.Member <PayrollReport>("_records")).Cascade.All(); }
/// <summary> /// Second step in committing a new chain. Only run this if CommitChain was successful. /// </summary> /// <param name="c">Chain to be added</param> /// <returns>Boolean true/false for success/failure</returns> public static bool RevealChain(ChainType c) { var r = new Reveal(); var b = Entries.MarshalBinary(c.FirstEntry); r.Entry = Arrays.ByteArrayToHex(b); var json = JsonConvert.SerializeObject(r); var byteJson = Encoding.ASCII.GetBytes(json); var req = new RestRequest("/reveal-chain/", Method.POST); req.RequestFormat = DataFormat.Json; req.AddParameter("application/json", json, ParameterType.RequestBody); var resp = StaticValues.clientWallet.Execute(req); Console.WriteLine("RevealChain Resp = " + resp.StatusCode); //TODO: Remove if (resp.StatusCode != HttpStatusCode.OK) { throw new FactomChainException("Chain Reveal Failed. Message: " + resp.ErrorMessage); } return true; }
/// <summary> /// Second and final step in adding an entry to a chain on the factom blockchain /// </summary> /// <param name="entry">Entry to be added</param> /// <returns>Boolean true/false for success/failure</returns> public static bool RevealEntry(DataStructs.EntryData entry) { var rev = new Reveal(); var marshaledEntry = Entries.MarshalBinary(entry); rev.Entry = Arrays.ByteArrayToHex(marshaledEntry); var req = new RestRequest("/reveal-entry/", Method.POST); var json = JsonConvert.SerializeObject(rev); Console.WriteLine("RE Json = " + json); req.RequestFormat = DataFormat.Json; req.AddParameter("application/json", json, ParameterType.RequestBody); IRestResponse resp = StaticValues.clientWallet.Execute<RestRequest>(req); Console.WriteLine("RevealEntry Resp = " + resp.StatusCode + "|" + resp.StatusCode); if (resp.StatusCode != HttpStatusCode.OK) { throw new FactomEntryException("Entry Reveal Failed. Message: " + resp.ErrorMessage); } return true; }