// Adjust all the data in necessery way to prior to committing it. private void AdjustAllocateSaturn5Data(Saturn5 saturn5, User user) { // Get saturn 5 allocation timestamp parts... DateTimeExtensions.GetTimestampParams(out DateTime now, out string lastSeenDate, out string lastSeenTime); // .. and set provided saturn 5 last seen date/time accordingly. saturn5.LastSeenDate = lastSeenDate; saturn5.LastSeenTime = lastSeenTime; // Set last user username of the saturn 5 unit using the username of the saturn5.LastSeenUsername = user.Username; // Set saturn5 status according the type of the user the saturn5 is getting allocated to. // saturn5.Status = Saturn5Status.WithStarUser; or Saturn5Status.WithManager; default Saturn5Status.WithUser; switch (user.Type) { // Star User case UserType.StarUser: saturn5.Status = Saturn5Status.WithStarUser; break; // Manager case UserType.Manager: saturn5.Status = Saturn5Status.WithManager; break; // Otherwise (User, Pre-Brief, De-Brief, Admin) default: saturn5.Status = Saturn5Status.WithUser; break; } }
private void GatherConfirmedInDepotSaturn5ByShortIdData(string shortId, out Saturn5 saturn5, out User lastSeenUser, out string confirmInDepotLog) { // Get Saturn 5 serial number based on the provided short id .. string serialNumber = this.Saturn5Repository.GetSerialNumberFromShortId(shortId); // .. and use it to call twin method version of itself using serial number rather then short it. this.GatherConfirmedInDepotSaturn5BySerialNumberData(serialNumber, out saturn5, out lastSeenUser, out confirmInDepotLog); }
// Commits all the necessary data associated with confirmation of not damaged, nor faulty saturn 5 unit back in depot. private void CommitConfirmedInDepotSaturn5Data(Saturn5 saturn5, string confirmInDepotLog) { // Commit changes into the Saturns5DB this.Saturn5Repository.Update(saturn5.SerialNumber, null, saturn5.Status, null, saturn5.LastSeenDate, saturn5.LastSeenTime, saturn5.LastSeenUsername); // Commits changes into the dashboard repository this.Saturns5DashboardRepository.Update(saturn5); // Log into the saturn 5 individual log. this.Saturn5Repository.AddSaturn5Log(saturn5.SerialNumber, confirmInDepotLog); // Log into the user individual log of the user to whom the saturn 5 unit is getting allocated to. this.UserRepository.AddUserLog(saturn5.LastSeenUsername, confirmInDepotLog); // Assure that logged on user doesn't confirming a unit which has him as last user to avoid double user log. if (saturn5.LastSeenUsername != this._app.LoggedUsername) { // Log into the currently logged in user individual log this.UserRepository.AddUserLog(this._app.LoggedUsername, confirmInDepotLog); } }
private void AdjustConfirmBackInSaturn5Data(Saturn5 saturn5) { // Get saturn 5 confirmation timestamp parts... DateTimeExtensions.GetTimestampParams(out DateTime now, out string lastSeenDate, out string lastSeenTime); // .. and set provided saturn 5 last seen date/time accordingly. saturn5.LastSeenDate = lastSeenDate; saturn5.LastSeenTime = lastSeenTime; // Set appropriate status depending on whether the unit has unresolved damages or faults if (this.Saturn5IssuesRepository.HasUnresolvedDamages(saturn5.SerialNumber)) { saturn5.Status = Saturn5Status.InDepotDamaged; } else if (this.Saturn5IssuesRepository.HasUnresolvedFaults(saturn5.SerialNumber)) { saturn5.Status = Saturn5Status.InDepotFaulty; } else { saturn5.Status = Saturn5Status.InDepot; } }
private void GatherConfirmedInDepotSaturn5BySerialNumberData(string serialNumber, out Saturn5 saturn5, out User lastSeenUser, out string confirmInDepotLog) { // Retrieve saturn5 from serial number parameter saturn5 = this.Saturn5Repository.Read(serialNumber); // If saturn 5 last seen username is not recognized throw appropriate exception. if (!this.UserRepository.HasUsername(saturn5.LastSeenUsername)) { throw new Saturn5LastSeenUsernameIsInvalidException(saturn5); } // Retrieve user from saturn 5 last seen username parameter if its represent a valid user, // otherwise retrieve a logged user. lastSeenUser = this.UserRepository.Read(saturn5.LastSeenUsername); // Get unresolved saturn 5 damages and faults. IList <Saturn5Issue> saturn5UnresolvedDamages = this.Saturn5IssuesRepository.GetUnresolvedDamages(serialNumber); IList <Saturn5Issue> saturn5UnresolvedFaults = this.Saturn5IssuesRepository.GetUnresolvedFaults(serialNumber); // Get last unresolved saturn 5 damage/fault. Saturn5Issue saturn5LastUnresolvedDamage = saturn5UnresolvedDamages.LastOrDefault(); Saturn5Issue saturn5LastUnresolvedFault = saturn5UnresolvedFaults.LastOrDefault(); // Get appropriate confirmed in depot log. if (this.Saturn5IssuesRepository.HasUnresolvedDamages(serialNumber)) { confirmInDepotLog = this.LogsContentConstructor.GetConfirmInDepotDamageSaturn5Log(lastSeenUser, saturn5, saturn5LastUnresolvedDamage.Description); } else if (this.Saturn5IssuesRepository.HasUnresolvedFaults(serialNumber)) { confirmInDepotLog = this.LogsContentConstructor.GetConfirmInDepotFaultySaturn5Log(lastSeenUser, saturn5, saturn5LastUnresolvedFault.Description); } else { confirmInDepotLog = this.LogsContentConstructor.GetConfirmInDepotSaturn5Log(lastSeenUser, saturn5); } }
private void GatherAllocateSaturn5ByShortIdData(string shortId, string username, out Saturn5 saturn5, out User user, out string allocateLog) { // Get Saturn 5 serial number based on the provided short id .. string serialNumber = this.Saturn5Repository.GetSerialNumberFromShortId(shortId); // .. and use it to call twin method version of itself using serial number rather then short it. this.GatherAllocateSaturn5BySerialNumberData(serialNumber, username, out saturn5, out user, out allocateLog); }
private void GatherAllocateSaturn5BySerialNumberData(string serialNumber, string username, out Saturn5 saturn5, out User user, out string allocateLog) { // Retrieve user from username argument user = this.UserRepository.Read(username); // Retrieve saturn5 from serial number argument saturn5 = this.Saturn5Repository.Read(serialNumber); // Assign saturn 5 unit to user allocation log. allocateLog = this.LogsContentConstructor.GetAllocateSaturn5ToUserLog(user, saturn5); }
public string GetSaturn5RemovedLog(Saturn5 toBeRemovedSaturn5, User lastUser) { if (!(lastUser is null)) { return($"Saturn 5 serial number: {toBeRemovedSaturn5.SerialNumber}, short id: {toBeRemovedSaturn5.ShortId}, last seen user: {lastUser.Username} - {lastUser.FirstName} {lastUser.Surname} last seen date: {toBeRemovedSaturn5.LastSeenDate}, last seen time: {toBeRemovedSaturn5.LastSeenTime} has been removed from the database. {this.LoggedBy}"); }