private void OnUserDetailRequest(INetworkConnection con, Packet r) { Log1.Logger("Zeus.Inbound.Client").Debug("User detail request from " + ServerUser.AccountName + "."); PacketGenericMessage msg = r as PacketGenericMessage; Guid user = msg.Parms.GetGuidProperty(2); WispUserDetail ud = new WispUserDetail(); r.ReplyPacket = CreateStandardReply(r, ReplyType.OK, ""); r.ReplyPacket.Parms.SetProperty(1, MyServer.ServerUserID); r.ReplyPacket.Parms.SetProperty(2, ud); MembershipUser usr = Membership.GetUser(user, false); if (usr == null) { r.ReplyPacket.ReplyCode = ReplyType.Failure; r.ReplyPacket.ReplyMessage = "User not found."; } else { ud.Email = usr.Email; ud.ID = user; ud.IsApproved = usr.IsApproved; ud.IsLocked = usr.IsLockedOut; ud.LastLogin = usr.LastLoginDate.ToUniversalTime(); ud.LastPasswordChange = usr.LastPasswordChangedDate.ToUniversalTime(); ud.Roles.AddRange(Roles.GetRolesForUser(usr.UserName)); ud.Username = usr.UserName; ud.UserSince = usr.CreationDate; ServerUser su = ConnectionManager.GetAuthorizedUser(usr.UserName, MyServer, PacketLoginRequest.ConnectionType.AssistedTransfer); ud.IsOnline = su != null; if (su != null) { ud.CurrentLoginTime = su.Profile.CurrentLoginTime; } AccountProfile prof = null; prof = new AccountProfile(usr.UserName); prof.Load(MyServer.RequireAuthentication); ud.AddedProperties = prof.AddedProperties; ud.LoginSessions = new List <AccountProfile.Session>(prof.AllSessions); if (!DB.Instance.User_GetServiceLogEntries(user, "", ud.ServiceNotes)) { ServiceLogEntry sle = new ServiceLogEntry(); sle.EntryBy = "System"; sle.Note = "Unable to retrieve service log entries from database."; ud.ServiceNotes.Add(sle); } ud.Characters = CharacterUtil.Instance.GetCharacterListing(user); } }
public void Deserialize(byte[] data, Pointer p) { LastLogin = new DateTime(BitPacker.GetLong(data, p), DateTimeKind.Utc); UserSince = new DateTime(BitPacker.GetLong(data, p), DateTimeKind.Utc); LastPasswordChange = new DateTime(BitPacker.GetLong(data, p), DateTimeKind.Utc); ID = new Guid(BitPacker.GetString(data, p)); Email = BitPacker.GetString(data, p); Username = BitPacker.GetString(data, p); IsLocked = BitPacker.GetBool(data, p); IsOnline = BitPacker.GetBool(data, p); IsApproved = BitPacker.GetBool(data, p); Roles = BitPacker.GetStringList(data, p); int notes = BitPacker.GetInt(data, p); for (int i = 0; i < notes; i++) { ServiceLogEntry sle = new ServiceLogEntry(); sle.Account = ID; sle.EntryBy = BitPacker.GetString(data, p); sle.Note = BitPacker.GetString(data, p); sle.EntryType = BitPacker.GetString(data, p); sle.CharacterId = BitPacker.GetInt(data, p); sle.TimeStampUTC = new DateTime(BitPacker.GetLong(data, p), DateTimeKind.Utc); ServiceNotes.Add(sle); } AddedProperties = BitPacker.GetPropertyBag(data, p); int numSessions = BitPacker.GetInt(data, p); for (int i = 0; i < numSessions; i++) { DateTime login = new DateTime(BitPacker.GetLong(data, p), DateTimeKind.Utc); DateTime logout = new DateTime(BitPacker.GetLong(data, p), DateTimeKind.Utc); string ip = BitPacker.GetString(data, p); ip = ip.Substring(0, ip.LastIndexOf("]") + 1); AccountProfile.Session s = new AccountProfile.Session(login, logout, ip); LoginSessions.Add(s); } //LoginSessions = LoginSessions.OrderBy(session => session.LogoutUTC).ToList(); LoginSessions.Reverse(); CurrentLoginTime = new DateTime(BitPacker.GetLong(data, p), DateTimeKind.Utc); int characters = BitPacker.GetInt(data, p); for (int i = 0; i < characters; i++) { ICharacterInfo ci = BitPacker.GetComponent(data, p) as ICharacterInfo; Characters.Add(ci); } }
public void InsertOrUpdate(ServiceLogEntry servicelogentry) { if (servicelogentry.ID == default(int)) { this.context.ServiceLogEntries.Add(servicelogentry); } else { this.context.Entry(servicelogentry).State = EntityState.Modified; } }
public ActionResult Create(ServiceTicket serviceticket) { if (ModelState.IsValid) { serviceticket.Opened = DateTime.Now; var createdBy = this.employeeRepository.All.Where(e => e.Identity == "NORTHAMERICA\\drobbins").FirstOrDefault(); if (createdBy != null) { serviceticket.CreatedByID = createdBy.ID; } var serviceLogEntry = new ServiceLogEntry { ServiceTicket = serviceticket, CreatedAt = DateTime.Now, CreatedBy = serviceticket.CreatedBy, CreatedByID = serviceticket.CreatedByID, Description = "Created", }; this.serviceLogEntryRepository.InsertOrUpdate(serviceLogEntry); this.serviceLogEntryRepository.Save(); return(RedirectToAction( "Details", new { serviceticket.ID })); } else { ViewBag.PossibleCustomers = this.customerRepository.All; ViewBag.PossibleCreatedBies = this.employeeRepository.All; ViewBag.PossibleAssignedToes = this.employeeRepository.All; ViewBag.PossibleEscalationLevels = new Dictionary <string, string> { { "1", "Level 1" }, { "2", "Level 2" }, { "3", "Level 3" } }; var newTicket = new ServiceTicket { CreatedBy = this.employeeRepository.All.Where(e => e.Identity == "NORTHAMERICA\\drobbins").FirstOrDefault(), }; return(View(newTicket)); } }
public void Service(ServicedVehicle servicedVehicle) { ServiceLogEntry logEntry = new ServiceLogEntry ( servicedVehicle.KilometersTravelled, "Mike Megamotor" ); int nextServiceKilometers = servicedVehicle.NextServiceKm + servicedVehicle.ServiceIntervalInKm; servicedVehicle.ServicePerformed(logEntry, nextServiceKilometers); }
public void Serialize(ref byte[] buffer, Pointer p) { BitPacker.AddLong(ref buffer, p, LastLogin.Ticks); BitPacker.AddLong(ref buffer, p, UserSince.Ticks); BitPacker.AddLong(ref buffer, p, LastPasswordChange.Ticks); BitPacker.AddString(ref buffer, p, ID.ToString()); BitPacker.AddString(ref buffer, p, Email); BitPacker.AddString(ref buffer, p, Username); BitPacker.AddBool(ref buffer, p, IsLocked); BitPacker.AddBool(ref buffer, p, IsOnline); BitPacker.AddBool(ref buffer, p, IsApproved); BitPacker.AddStringList(ref buffer, p, Roles); BitPacker.AddInt(ref buffer, p, ServiceNotes.Count); for (int i = 0; i < ServiceNotes.Count; i++) { ServiceLogEntry sle = ServiceNotes[i]; BitPacker.AddString(ref buffer, p, sle.EntryBy); BitPacker.AddString(ref buffer, p, sle.Note); BitPacker.AddString(ref buffer, p, sle.EntryType); BitPacker.AddInt(ref buffer, p, sle.CharacterId); BitPacker.AddLong(ref buffer, p, sle.TimeStampUTC.Ticks); } BitPacker.AddPropertyBag(ref buffer, p, AddedProperties); BitPacker.AddInt(ref buffer, p, LoginSessions.Count); for (int i = 0; i < LoginSessions.Count; i++) { AccountProfile.Session s = LoginSessions[i]; BitPacker.AddLong(ref buffer, p, s.LoginUTC.Ticks); BitPacker.AddLong(ref buffer, p, s.LogoutUTC.Ticks); BitPacker.AddString(ref buffer, p, s.IP); } BitPacker.AddLong(ref buffer, p, CurrentLoginTime.Ticks); BitPacker.AddInt(ref buffer, p, Characters.Count); for (int i = 0; i < Characters.Count; i++) { ICharacterInfo ci = Characters[i]; BitPacker.AddComponent(ref buffer, p, ci); } }