// fetch by Search key into current object // links: // crud definition: https://en.wikipedia.org/wiki/Create,_read,_update_and_delete // docLink: http://sql2x.org/documentationLink/ad2dd952-e3ec-471a-9e34-f5fc965b8b37 // parameters: // DefaultUserCode: key of table CrudeDefaultUserData public CrudeDefaultUserModel FetchByDefaultUserCode(string defaultUserCode) { var dataAccessLayer = new CrudeDefaultUserData(); var model = new CrudeDefaultUserModel(); dataAccessLayer.FetchByDefaultUserCode(defaultUserCode); DataToModel(dataAccessLayer, model); return(model); }
public CrudeDefaultUserContract FetchByDefaultUserCode(string defaultUserCode) { var dataAccessLayer = new CrudeDefaultUserData(); var contract = new CrudeDefaultUserContract(); dataAccessLayer.FetchByDefaultUserCode(defaultUserCode); DataToContract(dataAccessLayer, contract); return(contract); }
/// <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); }