// update all object members on a row in table based on primary key // links: // docLink: http://sql2x.org/documentationLink/ce75e72e-fb16-4f4e-a2e6-dbd079dfa206 public void Update(CrudeDefaultUserContract contract) { var data = new CrudeDefaultUserData(); ContractToData(contract, data); data.Update(); }
// update all object members on a row in table based on primary key, on a transaction // the transaction and or connection state is not changed in any way other than what SqlClient does to it. // it is the callers responsibility to commit or rollback the transaction // links: // docLink: http://sql2x.org/documentationLink/b798ad6b-f4b8-466a-9086-6588a814fcf3 public void Update(CrudeDefaultUserContract contract, SqlConnection connection, SqlTransaction transaction) { var data = new CrudeDefaultUserData(); ContractToData(contract, data); data.Update(connection, transaction); }
// insert all object members as a new row in table // links: // docLink: http://sql2x.org/documentationLink/75aad010-e6aa-4f19-a6e5-597456aa20d8 public void Insert(CrudeDefaultUserContract contract) { var data = new CrudeDefaultUserData(); ContractToData(contract, data); data.Insert(); }
// copy all rows from a List of SOAP Contracts to a List of serialized data objects // links: // docLink: http://sql2x.org/documentationLink/1c6c6b9c-e201-4590-8c69-d38a0ad2a9f7 public static void ContractListToDataList(List <CrudeDefaultUserContract> contractList, List <CrudeDefaultUserData> dataList) { foreach (CrudeDefaultUserContract contract in contractList) { var data = new CrudeDefaultUserData(); CrudeDefaultUserService.ContractToData(contract, data); dataList.Add(data); } }
public CrudeDefaultUserContract FetchByDefaultUserName(string defaultUserName) { var dataAccessLayer = new CrudeDefaultUserData(); var contract = new CrudeDefaultUserContract(); dataAccessLayer.FetchByDefaultUserName(defaultUserName); DataToContract(dataAccessLayer, contract); return(contract); }
// fetch by Primary key into current object // links: // docLink: http://sql2x.org/documentationLink/bbab4791-c9e7-49bf-90d5-fca19b1fedaa // parameters: // defaultUserId: primary key of table default_user public CrudeDefaultUserContract FetchByDefaultUserId(System.Guid defaultUserId) { var dataAccessLayer = new CrudeDefaultUserData(); var contract = new CrudeDefaultUserContract(); dataAccessLayer.FetchByDefaultUserId(defaultUserId); DataToContract(dataAccessLayer, contract); return(contract); }
// copy all columns from a SOAP Contract to a serialized data object // links: // docLink: http://sql2x.org/documentationLink/10700d38-2227-4021-be12-2f4f206f5dd9 public static void ContractToData(CrudeDefaultUserContract contract, CrudeDefaultUserData data) { data.DefaultUserId = contract.DefaultUserId; data.DefaultUserCode = contract.DefaultUserCode; data.DefaultUserName = contract.DefaultUserName; data.Email = contract.Email; data.Password = contract.Password; data.DefaultStateRcd = contract.DefaultStateRcd; data.CreatedByDefaultUserId = contract.CreatedByDefaultUserId; data.DateTime = contract.DateTime; data.LastActivityDateTime = contract.LastActivityDateTime; }
// copy all columns from a serialized data object to a SOAP Contract // links: // docLink: http://sql2x.org/documentationLink/7553d6dd-da65-4a72-84c8-81f2f99ef4f5 public static void DataToContract(CrudeDefaultUserData data, CrudeDefaultUserContract contract) { contract.DefaultUserId = data.DefaultUserId; contract.DefaultUserCode = data.DefaultUserCode; contract.DefaultUserName = data.DefaultUserName; contract.Email = data.Email; contract.Password = data.Password; contract.DefaultStateRcd = data.DefaultStateRcd; contract.CreatedByDefaultUserId = data.CreatedByDefaultUserId; contract.DateTime = data.DateTime; contract.LastActivityDateTime = data.LastActivityDateTime; }
// copy all rows from a List of serialized data objects to a List of SOAP Contracts, // with a limit on number of returned rows and order by columns, starting at a specific row // links: // docLink: http://sql2x.org/documentationLink/3fe9f1b3-97b6-4f58-a0f2-adfcbd973bfc public List <CrudeDefaultUserContract> FetchAllWithLimitAndOffset(int limit, int offset) { var list = new List <CrudeDefaultUserContract>(); List <CrudeDefaultUserData> dataList = CrudeDefaultUserData.FetchAllWithLimitAndOffset(limit, offset); foreach (CrudeDefaultUserData crudeDefaultUser in dataList) { var contract = new CrudeDefaultUserContract(); DataToContract(crudeDefaultUser, contract); list.Add(contract); } return(list); }
// copy all rows from a List of serialized data objects in CrudeDefaultUserData to a List of SOAP Contracts // links: // docLink: http://sql2x.org/documentationLink/9204c68e-93b8-4c77-af3c-3181985ff75f public List <CrudeDefaultUserContract> FetchAll() { var list = new List <CrudeDefaultUserContract>(); List <CrudeDefaultUserData> dataList = CrudeDefaultUserData.FetchAll(); foreach (CrudeDefaultUserData crudeDefaultUser in dataList) { var contract = new CrudeDefaultUserContract(); DataToContract(crudeDefaultUser, contract); list.Add(contract); } return(list); }
// fetch all rows from table into new List of Contracts, filtered by any column // links: // docLink: http://sql2x.org/documentationLink/ce01ef4a-5cd0-4e51-b211-9c0a15b791a0 public List <CrudeDefaultUserContract> FetchWithFilter(System.Guid defaultUserId, string defaultUserCode, string defaultUserName, string email, string password, string defaultStateRcd, System.Guid createdByDefaultUserId, System.DateTime dateTime, System.DateTime lastActivityDateTime) { var list = new List <CrudeDefaultUserContract>(); List <CrudeDefaultUserData> dataList = CrudeDefaultUserData.FetchWithFilter( defaultUserId: defaultUserId, defaultUserCode: defaultUserCode, defaultUserName: defaultUserName, email: email, password: password, defaultStateRcd: defaultStateRcd, createdByDefaultUserId: createdByDefaultUserId, dateTime: dateTime, lastActivityDateTime: lastActivityDateTime ); foreach (CrudeDefaultUserData data in dataList) { var crudeDefaultUserContract = new CrudeDefaultUserContract(); DataToContract(data, crudeDefaultUserContract); list.Add(crudeDefaultUserContract); } return(list); }
/// <summary> /// Add an activity /// </summary> /// <param name="userId">User who triggered the activity</param> public void AddActivity( Guid userId, string userActivityTypeRcd, string activityNote, string originatingAddress ) { CrudeDefaultUserActivityData defaultUserActivity = new CrudeDefaultUserActivityData { DefaultUserActivityId = Guid.NewGuid(), DefaultUserActivityTypeRcd = userActivityTypeRcd, UserActivityNote = activityNote, OriginatingAddress = originatingAddress, DefaultUserId = userId, DateTime = DateTime.UtcNow }; defaultUserActivity.Insert(); CrudeDefaultUserData defaultUser = new CrudeDefaultUserData(); defaultUser.FetchByDefaultUserId(userId); defaultUser.LastActivityDateTime = DateTime.UtcNow; defaultUser.Update(); // todo, possible to only update LastActivityDateTime? }
// delete a row in table based on primary key // links: // docLink: http://sql2x.org/documentationLink/eb0597e0-8ea0-425c-88af-213a170bbd5e public void Delete(System.Guid defaultUserId) { CrudeDefaultUserData.Delete(defaultUserId); }
// fetch by Foreign key into new List of class instances // links: // docLink: http://sql2x.org/documentationLink/a7599485-4f00-4ebf-974d-53f69c43654e public List <CrudeDefaultUserContract> FetchByDefaultStateRcd(string defaultStateRcd) { return(DataListToContractList(CrudeDefaultUserData.FetchByDefaultStateRcd(defaultStateRcd))); }
// fetch by Foreign key into new List of class instances // links: // docLink: http://sql2x.org/documentationLink/a7599485-4f00-4ebf-974d-53f69c43654e public List <CrudeDefaultUserContract> FetchByCreatedByDefaultUserId(System.Guid createdByDefaultUserId) { return(DataListToContractList(CrudeDefaultUserData.FetchByCreatedByDefaultUserId(createdByDefaultUserId))); }
// get a count of rows in table // links: // docLink: http://sql2x.org/documentationLink/7cd5e52c-b3d7-4566-a27a-408d0732dd88 public int FetchAllCount() { return(CrudeDefaultUserData.FetchAllCount()); }
/// <summary> /// Login a user and log the activity /// </summary> /// <param name="userCode">IP address will be resolved to whois netname, valid usercode stays</param> /// <returns>Internal user id</returns> public Guid Login( string userCode, bool overrideUserName ) { CrudeDefaultUserData defaultUser = new CrudeDefaultUserData(); try { defaultUser.FetchByDefaultUserName(userCode); // insert if not existing if (defaultUser.DefaultUserId == Guid.Empty) { defaultUser.DefaultUserId = new Guid(); defaultUser.DefaultUserCode = userCode; // resolve net-name if user code appears to be an ip address IPAddress ipAddress; if (IPAddress.TryParse(userCode, out ipAddress)) { defaultUser.DefaultUserName = ResolveNetnameFromIpV4(userCode); // use ip user code if no net-name found if (string.IsNullOrEmpty(defaultUser.DefaultUserName)) { defaultUser.DefaultUserName = userCode; } } else { // not an ip address, username is usercode defaultUser.DefaultUserName = userCode; } defaultUser.DefaultStateRcd = DefaultStateRef.Created; defaultUser.DateTime = DateTime.UtcNow; defaultUser.CreatedByDefaultUserId = new Guid("FFFFFFFF-5555-5555-5555-FFFFFFFFFFFF"); defaultUser.Insert(); AddActivity( defaultUser.DefaultUserId, DefaultUserActivityTypeRef.Login, "New user: "******"Internal" ); } else { // resolve net-name if user name appears to be an ip address // or an averride is asked for IPAddress ipAddress; if (IPAddress.TryParse(defaultUser.DefaultUserName, out ipAddress) || overrideUserName ) { string netName = ResolveNetnameFromIpV4(userCode); // use new net-name if found if (!string.IsNullOrEmpty(netName)) { // a new net name was found, use that instead of ip address defaultUser.DefaultUserName = netName; defaultUser.DefaultStateRcd = DefaultStateRef.Updated; defaultUser.DateTime = DateTime.UtcNow; defaultUser.Update(); AddActivity( defaultUser.DefaultUserId, DefaultUserActivityTypeRef.Login, "Resolved user name: " + defaultUser.DefaultUserName + " from IP address: " + userCode, "Internal" ); } } } AddActivity( defaultUser.DefaultUserId, DefaultUserActivityTypeRef.Login, defaultUser.DefaultUserName, "Internal" ); } catch (Exception ex) { // todo, what happens with WCF here? throw new Exception("Login failed", ex); } return(defaultUser.DefaultUserId); }