WSUser |
public AddUserTimeNonWorkShiftOut AddUserTimeNonWorkShift( AddUserTimeNonWorkShiftIn input )
Name | Description |
---|---|
BASIC |
This action will do minimal validation and is recommended if you do not want do full validation checking. The validation for this mode includes: - Validation of the EmpIdentifier - Currently only 'BASCIC' is supported |
Note |
---|
Business Rules: Adding punches and non-work punches is the core of the time-web system. The WSUserTimeNonWorkShift class encapsulate the needed methods/operations to interact with a users non-work shift data. Setup: Manager > Time Cards |
{ "AuthToken":"...", "ValidationType":"BASIC", "ProcessingMode":"REAL-TIME", "Payload":[{ "EmpIdentifier":"1234", "GeoLatitude":1.267, "GeoLongitude":1.4, "GeoValidate":true, "LaborLevelIDs":{ "LL01ID":0, "LL02ID":0, "LL03ID":0, "LL04ID":0 }, "NotesEmp":"String_Content", "NotesMgr":"String_Content", "PayTypeID":9, "TransactionDateTime":"\/Date(1486506345483)\/", "TransactionHours":1.5, "WebKioskTerminalID":1 }] }
{ "Report": { "APIVersion": "2.0", "ProcessTime": "0.1612689", "RequestTime": "/Date(1486507266361-0700)/", "ResponseTime": "/Date(1486507266522-0700)/", "Results": 2 }, "Results": [ { "ID": 1156, "Messages": ["PASS: Transaction for StartNonWork Added successfully at 2/7/2017 10:25:45 PM"], "Status": 1 }, { "ID": 1157, "Messages": ["PASS: Transaction for EndNonWork Added successfully at 2/7/2017 11:55:45 PM"], "Status": 1 } ] }
public void V2_AddUserTimeNonWorkShiftRequest_SOAP_Test() { try { var actionTestLogic = new Action<SoapServiceV2.ServiceRouterClient>((client) => { //TEST 1: BASIC VALIDATION WITH DEFAULT PROCESSING MODE bool pass = false; SoapServiceV2.AddUserTimeNonWorkShiftRequest request = new SoapServiceV2.AddUserTimeNonWorkShiftRequest(); List<AddUserTimeNonWorkShiftModel> payLoad = new List<AddUserTimeNonWorkShiftModel>(); AddUserTimeNonWorkShiftModel payLoadItem1 = new AddUserTimeNonWorkShiftModel { EmpIdentifier = ConfigurationManager.AppSettings["Test.UserInfo.EmpIdentifier"], GeoLatitude = 0, GeoLongitude = 0, GeoValidate = false, NotesEmp = "Emp Notes", NotesMgr = "Mgr Notes", PayTypeID = 1, ProcessingMode = "Default", TransactionDateTime = ChangeTime(DateTime.Now.AddDays(-2), 8, 0, 0, 0), TransactionHours = 8.3, WebKioskTerminalID = 0 }; payLoad.Add(payLoadItem1); request.input = new AddUserTimeNonWorkShiftIn { AuthToken = AuthToken, ValidationType = "BASIC", Payload = payLoad }; AddUserTimeNonWorkShiftResponse response = client.AddUserTimeNonWorkShift(request); pass = (response.AddUserTimeNonWorkShiftResult.Results != null && response.AddUserTimeNonWorkShiftResult.Results.Select(p => p.Status).Contains(AddResultStatus.Success)) ? true : false; Assert.IsTrue(pass); //STRICT VALIDATION WITH REAL TIME PROCESSING MODE pass = false; request = new SoapServiceV2.AddUserTimeNonWorkShiftRequest(); payLoad = new List<AddUserTimeNonWorkShiftModel>(); payLoad.Add(new AddUserTimeNonWorkShiftModel { EmpIdentifier = ConfigurationManager.AppSettings["Test.UserInfo.EmpIdentifier"], GeoLatitude = 12.9330, GeoLongitude = 77.6148, GeoValidate = true, NotesEmp = "SAOP Emp Notes", NotesMgr = "SAOP Mgr Notes", PayTypeID = 1, ProcessingMode = "Real-time", TransactionDateTime = ChangeTime(DateTime.Now.AddDays(-3), 8, 0, 0, 0), TransactionHours = 9.3, WebKioskTerminalID = 4 }); request.input = new AddUserTimeNonWorkShiftIn { AuthToken = AuthToken, ValidationType = "STRICT-1", Payload = payLoad }; response = client.AddUserTimeNonWorkShift(request); pass = (response.AddUserTimeNonWorkShiftResult.Results != null && response.AddUserTimeNonWorkShiftResult.Results.Select(p => p.Status).Contains(AddResultStatus.Success)) ? true : false; Assert.IsTrue(pass); }); RunServiceClient(actionTestLogic); } catch (FaultException<SoapServiceV2.ServiceException> fe) { Assert.Fail(fe.Detail.Message); } }