2017-07-26 8 views
0

Ich versuche herauszufinden, wie Sie eine hart codierte Eingabe (ContactInterval) ändern, um einem Benutzer zu ermöglichen, zu wählen, wie viel Zeit für das Einfügen benötigt wird. Derzeit ist es auf 20 Minuten festgelegt.Hardcoded Wert für Benutzereingabe

Hier ist, wie das Schloss erstellt: Und die ContactInterval ist hart in den Echo.Common.Services.LockManagerServices codiert

public Echo.Common.Business.LockingManager.LockItem GetLock(Echo.Common.Business.LockingManager.LockItem.LockType lockType, int entityId, int userId, string userName, string phoneNumber) 
{ 
    Echo.Common.Business.LockingManager.LockItem theLock = new Echo.Common.Business.LockingManager.LockItem(); 

    try 
    { 
     Echo.Common.Services.LockManagerServices lockManagerServices = new Echo.Common.Services.LockManagerServices(); 
     Echo.Common.Services.LockItem returnedLock = lockManagerServices.GetLock((Echo.Common.Services.LockType)lockType, entityId, userId, userName, phoneNumber); 
     theLock.UserId = returnedLock.UserId; 
     theLock.UserName = returnedLock.UserName; 
     theLock.PhoneNumber = returnedLock.PhoneNumber; 
     theLock.ExpireSecs = returnedLock.ExpireSecs; 
     theLock.ContactInterval = returnedLock.ContactInterval; 
     int respondsID = (int)returnedLock.ResponseId; 
     theLock.ResponseId = (LockItem.LockResponse)respondsID; 
    } 
    catch 
    { 
     theLock.ResponseId = LockItem.LockResponse.ERROR; 
    } 
    return theLock; 
} 
+2

Was hat das mit Javascript zu tun? – itsme86

+0

Ist 'ContactInterval' ein' System.TimeSpan'? Wenn dies der Fall ist, können Sie '.TryParse()' oder '.TryParseExact()' Ihre Benutzereingabe in die gewünschte 'TimeSpan'. – Filburt

+0

Wie ist die Kommunikation mit dem Benutzer? – pm100

Antwort

0

Sie können immer versuchen, das Verfahren zu überlasten:

public Echo.Common.Business.LockingManager.LockItem GetLock(Echo.Common.Business.LockingManager.LockItem.LockType lockType, int entityId, int userId, string userName, string phoneNumber, ContactInterval contactInterval = null) 
{ 
    Echo.Common.Business.LockingManager.LockItem theLock = new Echo.Common.Business.LockingManager.LockItem(); 

    try 
    { 
     Echo.Common.Services.LockManagerServices lockManagerServices = new Echo.Common.Services.LockManagerServices(); 
     Echo.Common.Services.LockItem returnedLock = lockManagerServices.GetLock((Echo.Common.Services.LockType)lockType, entityId, userId, userName, phoneNumber); 
     theLock.UserId = returnedLock.UserId; 
     theLock.UserName = returnedLock.UserName; 
     theLock.PhoneNumber = returnedLock.PhoneNumber; 
     theLock.ExpireSecs = returnedLock.ExpireSecs; 
     // check if contactInterval is null, if not, use it, otherwise use default from returnedLock 
     theLock.ContactInterval = (contactInterval != null) ? contactInterval : returnedLock.ContactInterval; 
     int respondsID = (int)returnedLock.ResponseId; 
     theLock.ResponseId = (LockItem.LockResponse)respondsID; 
    } 
    catch 
    { 
     theLock.ResponseId = LockItem.LockResponse.ERROR; 
    } 
    return theLock; 
} 

Dies setzt natürlich voraus, dass ContactInterval ein eigener Typ ist. Andernfalls übergeben Sie einfach den Typ, der es ist, z. B. int, double, datetime usw.

+0

Danke für das Feedback Jungs. Ich habe einige Ihrer Vorschläge getestet, habe aber gerade herausgefunden, dass die Dienste umgangen werden müssen, da sie für mich unerreichbar sind. Habe nicht bemerkt, dass wenn das Lock abgelaufen ist, es automatisch ein neues erstellen würde, basierend auf den Werten im Service. – Jbbanuelos

Verwandte Themen