public static CorporationDescription Get(long corporationEid) { const string selectCommandText = @"select name,taxrate,wallet,publicprofile,privateprofile,defaultcorp,nick,founder,creation,m.memberid,am.allianceEID,color from corporations c left join corporationmembers m on m.corporationeid=c.eid and (m.role & @ceorole) > 0 left join alliancemembers am on am.corporationEID=c.eid where eid = @eid"; var record = Db.Query().CommandText(selectCommandText) .SetParameter("@ceorole", (int)CorporationRole.CEO) .SetParameter("@eid", corporationEid) .ExecuteSingleRow(); if (record == null) { return(None); } var description = new CorporationDescription { eid = corporationEid, name = record.GetValue <string>(0), taxRate = record.GetValue <int>(1), wallet = record.GetValue <double>(2), publicProfile = null, privateProfile = null, isDefault = record.GetValue <bool>(5), nick = record.GetValue <string>(6), founder = record.GetValue <int?>(7), creation = record.GetValue <DateTime>(8), CEO = Character.Get(record.GetValue <int>(9)), allianceEID = record.GetValue <long?>(10), color = record.GetValue <int?>(11), }; if (!record.IsDBNull(3)) { description.publicProfile = new GenxyString(record.GetValue <string>(3)).ToDictionary(); } if (!record.IsDBNull(4)) { description.privateProfile = new GenxyString(record.GetValue <string>(4)).ToDictionary(); } return(description); }
public static PrivateCorporation Create(CorporationDescription corporationDescription) { var container = SystemContainer.GetByName(k.es_private_corporation); return((PrivateCorporation)Create(EntityDefault.GetByName(DefinitionNames.PRIVATE_CORPORATION), container, corporationDescription, EntityIDGenerator.Random)); }
protected static Corporation Create(EntityDefault entityDefault, SystemContainer container, CorporationDescription corporationDescription, EntityIDGenerator generator) { var corporation = Factory.Create(entityDefault, generator); corporation.Parent = container.Eid; corporation.Save(); const string insertCommandText = @"insert into corporations (eid, name, nick, wallet, taxrate, publicProfile, privateProfile,defaultcorp, founder) values (@eid, @name, @nick, @wallet, @taxrate, @publicProfile, @privateProfile,@defaultcorp,@founder)"; Db.Query().CommandText(insertCommandText) .SetParameter("@eid", corporation.Eid) .SetParameter("@name", corporationDescription.name) .SetParameter("@nick", corporationDescription.nick) .SetParameter("@wallet", 0) .SetParameter("@taxrate", corporationDescription.taxRate) .SetParameter("@publicProfile", GenxyConverter.Serialize((Dictionary <string, object>)corporationDescription.publicProfile)) .SetParameter("@privateProfile", GenxyConverter.Serialize((Dictionary <string, object>)corporationDescription.privateProfile)) .SetParameter("@defaultCorp", corporationDescription.isDefault).SetParameter("@founder", corporationDescription.founder) .ExecuteNonQuery().ThrowIfEqual(0, ErrorCodes.SQLInsertError); return((Corporation)corporation); }