// transfer model to data and update, on a transaction // links: // docLink: http://sql2x.org/documentationLink/aa07e05b-edc8-4e09-bf93-bf2a40c93c09 public void Update(CrudeDefaultUserModel model, SqlConnection connection, SqlTransaction transaction) { var data = new CrudeDefaultUserData(); ModelToData(model, data); data.Update(connection, transaction); }
// transfer model to data and update // links: // docLink: http://sql2x.org/documentationLink/658fda50-2ad3-414e-9299-2b399d17a057 public void Update(CrudeDefaultUserModel model) { var data = new CrudeDefaultUserData(); ModelToData(model, 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); }
// 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(); }
/// <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 ) { var defaultUserActivity = new CrudeDefaultUserActivityData(); defaultUserActivity.DefaultUserActivityId = Guid.NewGuid(); defaultUserActivity.DefaultUserActivityTypeRcd = userActivityTypeRcd; defaultUserActivity.UserActivityNote = activityNote; defaultUserActivity.OriginatingAddress = originatingAddress; defaultUserActivity.DefaultUserId = userId; defaultUserActivity.DateTime = DateTime.UtcNow; defaultUserActivity.Insert(); var defaultUser = new CrudeDefaultUserData(); defaultUser.FetchByDefaultUserId(userId); defaultUser.LastActivityDateTime = DateTime.UtcNow; defaultUser.Update(); // todo, possible to only update LastActivityDateTime? }
/// <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 LoginOverride( string userCode, bool overrideUserName ) { var defaultUser = new CrudeDefaultUserData(); try { defaultUser.FetchByDefaultUserCode(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 #pragma warning disable IDE0018 // Inline variable declaration IPAddress ipAddress; #pragma warning restore IDE0018 // Inline variable declaration 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 #pragma warning disable IDE0018 // Inline variable declaration IPAddress ipAddress; #pragma warning restore IDE0018 // Inline variable declaration 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); }