public void CheckOutForced() { Unit unit = new Unit() { Code = AlphaNumericStringGenerator.GetString(8), IsDeleted = false, Name = AlphaNumericStringGenerator.GetString(10), }; using (helpdesksystemContext context = new helpdesksystemContext()) { context.Unit.Add(unit); context.SaveChanges(); } CheckInRequest request = new CheckInRequest() { UnitID = unit.UnitId, Nickname = AlphaNumericStringGenerator.GetString(10), SID = AlphaNumericStringGenerator.GetStudentIDString() }; CheckInFacade facade = new CheckInFacade(); CheckInResponse response = facade.CheckIn(request); Assert.AreEqual(HttpStatusCode.OK, response.Status); Assert.IsTrue(response.CheckInID > 0); CheckOutRequest coRequest = new CheckOutRequest() { ForcedCheckout = true }; CheckOutResponse coResponse = facade.CheckOut(coRequest, response.CheckInID); Assert.AreEqual(HttpStatusCode.OK, coResponse.Status); Assert.IsTrue(coResponse.Result); using (helpdesksystemContext context = new helpdesksystemContext()) { Checkinhistory checkOut = context.Checkinhistory.FirstOrDefault(co => co.CheckInId == response.CheckInID); Assert.IsNotNull(checkOut); var baseTime = DateTime.Now.AddMinutes(-1); var addTime = checkOut.CheckoutTime; var timeDiff = baseTime.CompareTo(addTime); Assert.IsTrue(timeDiff == -1); Assert.AreEqual(coRequest.ForcedCheckout, checkOut.ForcedCheckout); } }
public void CheckOutNoCheckInItem() { CheckInFacade facade = new CheckInFacade(); CheckOutRequest request = new CheckOutRequest() { ForcedCheckout = false }; CheckOutResponse coResponse = facade.CheckOut(request, -1); Assert.AreEqual(HttpStatusCode.NotFound, coResponse.Status); }
/// <summary> /// This method is used to check a check in item out of the helpdesk system /// </summary> /// <param name="id">Specified CheckInID</param> /// <returns>A response indicating success or failure</returns> public CheckOutResponse CheckOut(CheckOutRequest request, int id) { CheckOutResponse response = new CheckOutResponse(); try { CheckInDataLayer dataLayer = new CheckInDataLayer(); bool result = dataLayer.CheckOut(request, id); if (result == false) { throw new NotFoundException("Unable to find check in item!"); } QueueDataLayer queueDataLayer = new QueueDataLayer(); var queueItems = queueDataLayer.GetQueueItemsByCheckIn(id); UpdateQueueItemStatusRequest removeRequest = new UpdateQueueItemStatusRequest() { TimeRemoved = DateTime.Now }; foreach (var item in queueItems) { queueDataLayer.UpdateQueueItemStatus(item.ItemId, removeRequest); } response.Result = result; response.Status = HttpStatusCode.OK; } catch (NotFoundException ex) { s_logger.Warn(ex, "Unable to find check out item"); response.Status = HttpStatusCode.NotFound; response.StatusMessages.Add(new StatusMessage(HttpStatusCode.NotFound, "Unable to find check out item")); } catch (Exception ex) { s_logger.Error(ex, "Unable to check out"); response.Status = HttpStatusCode.InternalServerError; response.StatusMessages.Add(new StatusMessage(HttpStatusCode.InternalServerError, "Unable to check out")); } return(response); }
static void Main(string[] args) { /************************************Login***************************************************/ WsLoginClient bOSLogin2 = new WsLoginClient(); UserLogin2Request loginRequest = new UserLogin2Request { AWorkstationAK = "VTA.WKS19", AUserName = "******", APassword = "******" }; UserLogin2Response response = bOSLogin2.UserLogin2(loginRequest); string login_response = response.@return; Console.WriteLine(login_response); goto Event; //goto Performance; //goto Save; //goto B2B; //goto Checkout; //goto Close; //goto Print; //goto Logout; /************************************Event***************************************************/ Event: WsAPIEventClient bosEvent = new WsAPIEventClient(); FindAllEventsRequest eventsRequest = new FindAllEventsRequest(); FindAllEventsResponse eventsResponse = bosEvent.FindAllEvents(eventsRequest); FINDALLEVENTSRESP fINDALLEVENTSRESP = eventsResponse.@return; string event_response = fINDALLEVENTSRESP.EVENTLIST.ToString(); /************************************Performance***************************************************/ Performance: WsAPIPerformanceClient wsAPIPerformanceClient = new WsAPIPerformanceClient(); SEARCHPERFORMANCEREQ sEARCHPERFORMANCEREQ = new SEARCHPERFORMANCEREQ(); sEARCHPERFORMANCEREQ.EVENTAK = "VTA.EVN3"; sEARCHPERFORMANCEREQ.SELLABLE = true; SearchPerformanceRequest searchPerformanceRequest = new SearchPerformanceRequest(sEARCHPERFORMANCEREQ); SearchPerformanceResponse searchPerformanceResponse = wsAPIPerformanceClient.SearchPerformance(searchPerformanceRequest); SEARCHPERFORMANCERESP sEARCHPERFORMANCERESP = searchPerformanceResponse.@return; string performance_response = sEARCHPERFORMANCERESP.PERFORMANCELIST.ToString(); /************************************Save account***************************************************/ Save: WsAPIAccountClient wsAPIAccountClient = new WsAPIAccountClient(); Accounts.FIELDLISTFIELD[] fIELDLISTFIELDs = new Accounts.FIELDLISTFIELD[3]; Accounts.FIELDLISTFIELD fIELDLISTFIELD1 = new Accounts.FIELDLISTFIELD(); fIELDLISTFIELD1.OBJTYPE = 1; fIELDLISTFIELD1.VALUE = "ironman";//firstname Accounts.FIELDLISTFIELD fIELDLISTFIELD2 = new Accounts.FIELDLISTFIELD(); fIELDLISTFIELD2.OBJTYPE = 548; fIELDLISTFIELD2.VALUE = "tony1234";//firstname Accounts.FIELDLISTFIELD fIELDLISTFIELD3 = new Accounts.FIELDLISTFIELD(); fIELDLISTFIELD3.OBJTYPE = 549; fIELDLISTFIELD3.VALUE = "avengers";//firstname fIELDLISTFIELDs[0] = fIELDLISTFIELD1; fIELDLISTFIELDs[1] = fIELDLISTFIELD2; fIELDLISTFIELDs[2] = fIELDLISTFIELD3; SAVEACCOUNTREQ sAVEACCOUNTREQ = new SAVEACCOUNTREQ { FIELDLIST = fIELDLISTFIELDs, DMGCATEGORYAK = "VTA.DMGCAT29" }; SaveAccountRequest saveAccountRequest = new SaveAccountRequest(sAVEACCOUNTREQ); SaveAccountResponse saveAccountResponse = wsAPIAccountClient.SaveAccount(saveAccountRequest); SAVEACCOUNTRESP sAVEACCOUNTRESP = saveAccountResponse.@return; string save_response = sAVEACCOUNTRESP.BASICINFO.ACCOUNTAK; /************************************B2B Login***************************************************/ B2B: B2BAccountLogInRequest b2BAccountLogInRequest = new B2BAccountLogInRequest { ADmgCatCode = "Guests", AUsername = "******", APsw = "Iambatma" }; B2BAccountLogInResponse b2BAccountLogInResponse = wsAPIAccountClient.B2BAccountLogIn(b2BAccountLogInRequest); /************************************Checkout***************************************************/ Checkout: WsAPIOrderClient wsAPIOrderClient = new WsAPIOrderClient(); CHECKOUTREQ cHECKOUTREQ = new CHECKOUTREQ(); ITEMLISTITEM[] iTEMLISTITEMs = new ITEMLISTITEM[1]; ITEMLISTITEMPERFORMANCE[] iTEMLISTITEMPERFORMANCEs = new ITEMLISTITEMPERFORMANCE[1]; iTEMLISTITEMPERFORMANCEs[1].AK = "VTA.EVN4.PRF100"; iTEMLISTITEMs[1].AK = "VTA.EVN1.MCC28"; iTEMLISTITEMs[1].QTY = "1"; iTEMLISTITEMs[1].PERFORMANCELIST = iTEMLISTITEMPERFORMANCEs; Orders.ACCOUNTSAVEBASE aCCOUNTSAVEBASE = new Orders.ACCOUNTSAVEBASE { AK = "99901920000019" }; ORDERSTATUS oRDERSTATUS = new ORDERSTATUS { APPROVED = true, PAID = true, ENCODED = true, VALIDATED = true, COMPLETED = true }; RESERVATIONBASE rESERVATIONBASE = new RESERVATIONBASE { RESERVATIONOWNER = aCCOUNTSAVEBASE }; cHECKOUTREQ.SHOPCART = new SHOPCART { ITEMLIST = iTEMLISTITEMs, RESERVATION = rESERVATIONBASE, FLAG = oRDERSTATUS }; CheckOutRequest checkOutRequest = new CheckOutRequest(cHECKOUTREQ); CheckOutResponse checkOutResponse = wsAPIOrderClient.CheckOut(checkOutRequest); CHECKOUTRESP cHECKOUTRESP = checkOutResponse.@return; string checkout_response_sale_ak = cHECKOUTRESP.SALE.AK; float checkout_response_sale_gross = cHECKOUTRESP.SALE.TOTAL.GROSS; /************************************Close_order***************************************************/ Close: Orders.PAYMENTLISTBASEPAYMENTINFO[] pAYMENTLISTBASEPAYMENTINFOs = new Orders.PAYMENTLISTBASEPAYMENTINFO[1]; pAYMENTLISTBASEPAYMENTINFOs[1].CODE = ""; pAYMENTLISTBASEPAYMENTINFOs[1].AMOUNT = checkout_response_sale_gross; CLOSEORDERREQ cLOSEORDERREQ = new CLOSEORDERREQ { AK = checkout_response_sale_ak, PAYMENTINFOLIST = pAYMENTLISTBASEPAYMENTINFOs, }; CloseOrderRequest closeOrderRequest = new CloseOrderRequest(cLOSEORDERREQ); CloseOrderResponse closeOrderResponse = wsAPIOrderClient.CloseOrder(closeOrderRequest); CLOSEORDERRESP cLOSEORDERRESP = closeOrderResponse.@return; string close_order_sale_ak = cLOSEORDERRESP.SALE.AK; /************************************Print Ticket***************************************************/ Print: WsAPITicketClient wsAPITicketClient = new WsAPITicketClient(); PrintPdfTicketRequest printPdfTicketRequest = new PrintPdfTicketRequest { ASaleAk = "VTA.WKS19.200527.SAL1" //VTA.WKS19.200527.SAL1 }; PrintPdfTicketResponse printPdfTicketResponse = wsAPITicketClient.PrintPdfTicket(printPdfTicketRequest); PRINTPDFTICKETRESP pRINTPDFTICKETRESP = printPdfTicketResponse.@return; byte[] pdf_string = pRINTPDFTICKETRESP.PDF; /************************************Logout***************************************************/ Logout: UserLogoutRequest userLogoutRequest = new UserLogoutRequest(); UserLogoutResponse userLogoutResponse = bOSLogin2.UserLogout(userLogoutRequest); }
public void CheckOutWithQueueItems() { Unit unit = new Unit() { Code = AlphaNumericStringGenerator.GetString(8), IsDeleted = false, Name = AlphaNumericStringGenerator.GetString(10), }; Topic topic = new Topic() { Name = AlphaNumericStringGenerator.GetString(10), IsDeleted = false }; using (helpdesksystemContext context = new helpdesksystemContext()) { context.Unit.Add(unit); topic.UnitId = unit.UnitId; context.Topic.Add(topic); context.SaveChanges(); } CheckInRequest request = new CheckInRequest() { UnitID = unit.UnitId, Nickname = AlphaNumericStringGenerator.GetString(10), SID = AlphaNumericStringGenerator.GetStudentIDString() }; CheckInFacade facade = new CheckInFacade(); CheckInResponse response = facade.CheckIn(request); Assert.AreEqual(HttpStatusCode.OK, response.Status); Assert.IsTrue(response.CheckInID > 0); Queueitem queueitem = new Queueitem() { StudentId = response.StudentID, TopicId = topic.TopicId, Description = "Check In Unit Test", TimeAdded = DateTime.Now }; using (helpdesksystemContext context = new helpdesksystemContext()) { context.Queueitem.Add(queueitem); Checkinqueueitem checkinqueueitem = new Checkinqueueitem() { CheckInId = response.CheckInID, QueueItemId = queueitem.ItemId }; context.Checkinqueueitem.Add(checkinqueueitem); context.SaveChanges(); } CheckOutRequest coRequest = new CheckOutRequest() { ForcedCheckout = false }; CheckOutResponse coResponse = facade.CheckOut(coRequest, response.CheckInID); Assert.AreEqual(HttpStatusCode.OK, coResponse.Status); Assert.IsTrue(coResponse.Result); using (helpdesksystemContext context = new helpdesksystemContext()) { Checkinhistory checkOut = context.Checkinhistory.FirstOrDefault(co => co.CheckInId == response.CheckInID); Queueitem item = context.Queueitem.FirstOrDefault(qi => qi.ItemId == queueitem.ItemId); Assert.IsNotNull(checkOut); var baseTime = DateTime.Now.AddMinutes(-1); var addTime = checkOut.CheckoutTime; var timeDiff = baseTime.CompareTo(addTime); Assert.IsTrue(timeDiff == -1); Assert.AreEqual(coRequest.ForcedCheckout, checkOut.ForcedCheckout); Assert.IsNotNull(item); var baseQueueTime = DateTime.Now.AddMinutes(-1); var removeQueueTime = item.TimeRemoved; var queueTimeDiff = baseQueueTime.CompareTo(removeQueueTime); Assert.IsTrue(queueTimeDiff == -1); } }