public IActionResult CheckOut([FromBody] CheckOutRequest request, [FromRoute] int id) { try { var facade = new CheckInFacade(); var response = facade.CheckOut(request, id); switch (response.Status) { case HttpStatusCode.OK: return(Ok(response)); case HttpStatusCode.BadRequest: return(BadRequest(BuildBadRequestMessage(response))); case HttpStatusCode.NotFound: return(NotFound()); case HttpStatusCode.InternalServerError: return(StatusCode(StatusCodes.Status500InternalServerError)); } s_logger.Fatal("This code should be unreachable, unknown result has occured."); } catch (Exception ex) { s_logger.Error(ex, "Unable to check out."); } return(StatusCode(StatusCodes.Status500InternalServerError)); }
public async Task<CheckOutResponse> CheckOutAsync (CheckOutRequest request) { await Task.Delay (2000); return new CheckOutResponse { Succeeded = true, Result = true }; }
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 async Task <IActionResult> Checkout(CheckOutRequest request) { List <Cart> cartRequest = SessionHelper.GetObjectFromJson <List <Cart> >(HttpContext.Session, "cart"); //Cart on Top //Define Function Checkout nè var transaction = new Transaction() { AdminId = 1, ClientId = 1, ShippingFeeId = 1, AddressDistrict = request.AddressDistrict, AddressStreet = request.AddressStreet, AddressNumber = request.AddressNumber, Message = request.Message, PaymentMethod = request.PaymentMethod, Status = 0, Amount = cartRequest.Sum(item => item.Product.Price * item.Quantity), CreatedDate = DateTime.Now, }; _context.Transactions.Add(transaction); await _context.SaveChangesAsync(); var order = new Order() { Amount = cartRequest.Sum(item => item.Product.Price * item.Quantity), Quantity = cartRequest.Count, CreatedDate = DateTime.Now, Status = 1, Discount = 1, TransactionId = transaction.Id, }; _context.Orders.Add(order); await _context.SaveChangesAsync(); foreach (var item in cartRequest) { var orderDetail = new OrderDetail { ProductId = item.Product.Id, Quantity = item.Quantity, OrderId = order.Id, }; _context.OrderDetails.Add(orderDetail); await _context.SaveChangesAsync(); } HttpContext.Session.Remove("cart"); TempData["result"] = "Thanks for buying, we are going to check your order ! "; return(RedirectToAction("Index")); }
public async Task <ApiResponse <CheckOutPIXResponse> > GeneratePIXCheckout(CheckOutRequest checkOutRequest, bool transparent = false) { var action = "checkout"; if (transparent) { action = "checkout/transparent"; } var response = await _restClient.Post <CheckOutPIXResponse>(action, checkOutRequest); return(response); }
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); }
protected void btnCheckOut_Click(object sender, EventArgs e) { try { ScentaurusEntities2 context = new ScentaurusEntities2(); Config checkOutLimit = context.Configs.Where(x => x.KeyName.ToLower() == "checkoutlimit").FirstOrDefault(); int userID = Utils.GetUserData().ID; IQueryable <SalesComissionNthLevel> com = context.SalesComissionNthLevels.Where(x => x.BeneficierUserID == userID && x.IsCheckOut == false); //decimal? amount = com.Sum(x => x.ComissionAmount); decimal?amount = context.Ledgers.OrderByDescending(x => x.ID).FirstOrDefault(x => x.UserID == userID).Balance; if (amount >= decimal.Parse(checkOutLimit.KeyValue)) { foreach (SalesComissionNthLevel c in com) { c.Status = "Pending"; } context.SaveChanges(); CheckOutRequest coRequest = new CheckOutRequest { UserID = userID, TimeStamp = DateTime.Now, Status = "Pending", Amount = amount.HasValue ? amount.Value : 0, CreatedBy = Utils.GetUserName(), Description = "Checking out request of amount " + amount.ToString() }; context.CheckOutRequests.Add(coRequest); context.SaveChanges(); LoadCheckOutButton(); Utils.ShowAlert(this, "A Check out request generated against your amount successfully. Please collect your amount after it gets approved."); } else { Utils.ShowAlert(this, "Error", "Cannot check out request until you have atleast RS:" + checkOutLimit.KeyValue + " in your account.", false); } } catch (Exception ex) { Utils.ShowAlert(this, "Error", ex.Message, false); } }
public async Task <ApiResponse <CheckOutResponse> > GenerateCheckout(CheckOutRequest checkOutRequest, bool transparent = false) { if (checkOutRequest.PaymentMethod == "PIX") { throw new Exception("Utilize o metodo GeneratePIXCheckout para pagamentos PIX"); } var action = "checkout"; if (transparent) { action = "checkout/transparent"; } var response = await _restClient.Post <CheckOutResponse>(action, checkOutRequest); return(response); }
/// <summary> /// Checks a check in item out of the database /// </summary> /// <param name="id">CheckInID of the check in item to be checked out</param> /// <returns>A boolean indicating success or failure</returns> public bool CheckOut(CheckOutRequest request, int id) { using (helpdesksystemContext context = new helpdesksystemContext()) { Checkinhistory checkOut = context.Checkinhistory.FirstOrDefault(co => co.CheckInId == id); if (checkOut == null) { return(false); } checkOut.CheckoutTime = DateTime.Now; checkOut.ForcedCheckout = request.ForcedCheckout; context.SaveChanges(); } return(true); }
/// <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); }
public async Task <ApiResult <bool> > Checkout(CheckOutRequest request) { var transaction = new Transaction() { AdminId = 1, ClientId = 1, ShippingFeeId = 1, Status = 0, CreatedDate = DateTime.Now, }; var order = new Order() { CreatedDate = DateTime.Now, Status = 0, Discount = 0, TransactionId = transaction.Id, }; return(new ApiSuccessResult <bool>()); }
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 async Task <RequestResult> CheckOut(CheckOutRequest checkOutRequest) { try { //Kiểm tra CustomerId có tồn tại hay không var customer = _context.Customers.Find(checkOutRequest.CustomerId); //Có tồn tại if (customer != null) { //Tìm CartID dựa vào CustomerId var cart = _context.Carts.SingleOrDefault(x => x.CustomerId == checkOutRequest.CustomerId); if (cart != null) { //Tìm danh sách sản phẩm hiện có trong cart var cartDetails = _context.CartDetails.Where(x => x.CartId == cart.Id).ToList(); if (cartDetails.Count() > 0) //trong cart có hàng { //Tạo order mới DateTime date = DateTime.Now; string newOrderCode = date.ToString("yyyyMMddHHmmssfff") + "_" + checkOutRequest.CustomerId.ToString(); Orders newOrder = new Orders { Id = 0, OrderCode = newOrderCode, CustomerId = customer.Id, ShipName = checkOutRequest.Name, ShipPhone = checkOutRequest.Phone, ShipAddress = checkOutRequest.ShippingAddress, ShipNote = checkOutRequest.Note, OrderDate = date, Status = 1 }; _context.Orders.Add(newOrder); _context.SaveChanges(); var order = _context.Orders.SingleOrDefault(x => x.CustomerId == checkOutRequest.CustomerId && x.OrderCode == newOrderCode); if (order != null) { var products = _context.Products.ToList(); var manufacturers = _context.Manufacturers.ToList(); var units = _context.Units.ToList(); var list = from product in products join manufacturer in manufacturers on product.ManufacturerId equals manufacturer.Id join unit in units on product.UnitId equals unit.Id where product.IsActive == 1 select new ProductResponse { Id = product.Id, Name = product.Name, OriginalPrice = product.OriginalPrice, SellingPrice = product.SellingPrice, Description = product.Description, MadeIn = product.MadeIn, ManufacturerName = manufacturer.Name, ImageURL = product.ImageURL, UnitName = unit.Name }; foreach (var item in cartDetails) { var temp = list.FirstOrDefault(x => x.Id == item.ProductId); OrderDetail orderDetail = new OrderDetail { Id = 0, OrderId = order.Id, ProductId = temp.Id, ProductName = temp.Name, OriginalPrice = temp.OriginalPrice, SellingPrice = temp.SellingPrice, Description = temp.Description, UnitName = temp.UnitName, ManufacturerName = temp.ManufacturerName, MadeIn = temp.MadeIn, ImageURL = temp.ImageURL, Quantity = item.Quantity }; _context.OrderDetails.Add(orderDetail); _context.CartDetails.Remove(item); _context.SaveChanges(); } return(new RequestResult { StatusCode = DataAccess.Models.Enum.StatusCode.Success, Content = "Success" }); } else { return(new RequestResult { StatusCode = DataAccess.Models.Enum.StatusCode.Failed, Content = "Can not create order." }); } } else { return(new RequestResult { StatusCode = DataAccess.Models.Enum.StatusCode.Failed, Content = "Can not find cart details." }); } } } } catch { return(new RequestResult { StatusCode = DataAccess.Models.Enum.StatusCode.Failed, Content = "Failed" }); } return(new RequestResult { StatusCode = DataAccess.Models.Enum.StatusCode.Failed, Content = "Failed" }); }
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); } }
static void Main(string[] args) { Console.WriteLine("testing"); Login.WsLoginClient LoginClient = new Login.WsLoginClient(); WSDLPublish.WSDLPublishClient wSDLPublishClient = new WSDLPublish.WSDLPublishClient(); WSDLPublish.GetWSDLForPortTypeRequest getWSDLForPortTypeRequest = new WSDLPublish.GetWSDLForPortTypeRequest(); WSDLPublish.GetWSDLForPortTypeResponse getWSDLForPortTypeResponse = new WSDLPublish.GetWSDLForPortTypeResponse(); Console.WriteLine(getWSDLForPortTypeResponse.@return); BOSLogin2.WsLoginClient bOSLogin2 = new BOSLogin2.WsLoginClient(); //BOSLogin2.UserLoginRequest loginRequest = new BOSLogin2.UserLoginRequest //{ // AUserName = "******", // APassword = "******" //}; BOSLogin2.UserLogin2Request loginRequest = new BOSLogin2.UserLogin2Request { AWorkstationAK = "VTA.WKS19", AUserName = "******", APassword = "******" }; //BOSLogin2.UserLoginResponse response = bOSLogin2.UserLogin(loginRequest); BOSLogin2.UserLogin2Response response = bOSLogin2.UserLogin2(loginRequest); string a = response.@return; Console.WriteLine(a); XmlDocument doc = new XmlDocument(); doc.LoadXml(a); string json = JsonConvert.SerializeXmlNode(doc); ExecuteLogin(); // Execute(); // ExecutePerformance(); WsAPIAccountClient wsAPIAccountClient = new WsAPIAccountClient(); List <FIELDLISTFIELD> fIELDLISTFIELD = new List <FIELDLISTFIELD>(); FIELDLISTFIELD[] fIELDLISTFIELDs = new FIELDLISTFIELD[3]; FIELDLISTFIELD fIELDLISTFIELD1 = new FIELDLISTFIELD(); fIELDLISTFIELD1.OBJTYPE = 1; fIELDLISTFIELD1.VALUE = "ironman";//firstname FIELDLISTFIELD fIELDLISTFIELD2 = new FIELDLISTFIELD(); fIELDLISTFIELD2.OBJTYPE = 548; fIELDLISTFIELD2.VALUE = "tony1234";//firstname FIELDLISTFIELD fIELDLISTFIELD3 = new 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); B2BAccountLogInRequest b2BAccountLogInRequest = new B2BAccountLogInRequest { ADmgCatCode = "Guests", AUsername = "******", APsw = "Iambatma" }; B2BAccountLogInResponse b2BAccountLogInResponse = wsAPIAccountClient.B2BAccountLogIn(b2BAccountLogInRequest); WsAPIOrderClient wsAPIOrderClient = new WsAPIOrderClient(); CHECKOUTREQ cHECKOUTREQ = new CHECKOUTREQ(); ITEMLISTITEM[] iTEMLISTITEMs = new ITEMLISTITEM[1]; //ITEMBASE iTEMBASE = new ITEMBASE { //AK = "VTA.EVN1.MCC28", //QTY ="1" //}; //Order.PERFORMANCEBASE pERFORMANCEBASE= new Order.PERFORMANCEBASE { //AK = "VTA.EVN4.PRF100" //}; // PRODUCTBASELISTPRODUCT //ITEMITEMPERFORMANCE[] iTEMITEMPERFORMANCE = new ITEMITEMPERFORMANCE[1]; //iTEMITEMPERFORMANCE[1].AK = "VTA.EVN4.PRF100"; 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; //PERFORMANCE[] pERFORMANCEs = new PERFORMANCE[1]; //pERFORMANCEs[1].AK = "VTA.EVN4.PRF100"; //ITEM iTEM = new ITEM //{ // ITEMPERFORMANCELIST = iTEMITEMPERFORMANCE, //}; Order.ACCOUNTSAVEBASE aCCOUNTSAVEBASE = new Order.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(); WsAPIPerformanceClient wsAPIPerformanceClient = new WsAPIPerformanceClient(); SEARCHPERFORMANCEREQ sEARCHPERFORMANCEREQ = new SEARCHPERFORMANCEREQ(); sEARCHPERFORMANCEREQ.EVENTAK = "VTA.EVN3"; sEARCHPERFORMANCEREQ.SELLABLE = true; SearchPerformanceRequest searchPerformanceRequest = new SearchPerformanceRequest(sEARCHPERFORMANCEREQ); SEARCHPERFORMANCERESP sEARCHPERFORMANCERESP = wsAPIPerformanceClient.SearchPerformance(sEARCHPERFORMANCEREQ); Console.Write(sEARCHPERFORMANCERESP.PERFORMANCELIST); /* * * Events2.WsAPIEventClient bosEvent = new Events2.WsAPIEventClient(); * * Events2.FindAllEventsRequest eventsRequest = new Events2.FindAllEventsRequest(); * //Events.FINDALLEVENTSRESP fINDALLEVENTSRESP = bosEvent.FindAllEvents(eventsRequest); * * //Events2.FindAllEventsResponse eventsResponse = bosEvent.FindAllEvents(eventsRequest); * Events2.FINDALLEVENTSRESP eventsResponse = bosEvent.FindAllEvents(); */ Events3.WsAPIEventClient bosEvent = new Events3.WsAPIEventClient(); Events3.FindAllEventsResponse Response = Task.Run(async() => await bosEvent.FindAllEventsAsync().ConfigureAwait(false)).Result; Console.Write(Response); //Events2.FindAllEventsRequest eventsRequest = new Events2.FindAllEventsRequest(); //Events.FINDALLEVENTSRESP fINDALLEVENTSRESP = bosEvent.FindAllEvents(eventsRequest); //Events2.FindAllEventsResponse eventsResponse = bosEvent.FindAllEvents(eventsRequest); //Events2.FINDALLEVENTSRESP eventsResponse = bosEvent.FindAllEvents(); //Events.FINDEVENTSBYACCOUNTAKRESP eve = new FINDEVENTSBYACCOUNTAKRESP(); //eve.FINDEVENTSBYACCOUNTAKRESPEVENTLIST = //Events.FindEventsByAccountAKResponse event_response = new Events.FindEventsByAccountAKResponse(eve); string r = ""; //[email protected](); // Events.FINDALLEVENTSRESPEVENTLIST esp = [email protected]; //Console.WriteLine(r); XmlDocument docRE = new XmlDocument(); docRE.LoadXml(r); string jsonRE = JsonConvert.SerializeXmlNode(docRE); BOSLogin2.UserLogoutRequest logoutRequest = new BOSLogin2.UserLogoutRequest(); BOSLogin2.UserLogoutResponse logoutResponse = new BOSLogin2.UserLogoutResponse(); string d = logoutResponse.ToString(); Console.WriteLine(d); XmlDocument docR = new XmlDocument(); docR.LoadXml(d); string jsonR = JsonConvert.SerializeXmlNode(docR); Console.WriteLine(LoginClient.UserLogin2("VTA.WKS19", "WebUser-01", "BOSweb123")); string b = LoginClient.UserLogin2("VTA.WKS19", "WebUser-01", "BOSweb123"); }
public void ForceCheckoutQueueRemove() { // Fill empty string parameters "" with auto-generated string. testEntityFactory.PopulateEmptyStrings = true; // Add test helpdesk. TestDataHelpdesk helpdeskData = testEntityFactory.AddHelpdesk(); // Check that helpdesk was created successfully. Assert.AreEqual(HttpStatusCode.OK, helpdeskData.Response.Status); Assert.IsTrue(helpdeskData.Response.HelpdeskID > 0); // Create a unit. ID provided is 0, which will indicates creation of new helpdesk. List <string> topics = new List <string>(new string[] { "Layouts", "Lifecycle" }); TestDataUnit unitData = testEntityFactory.AddUpdateUnit(0, helpdeskData.Response.HelpdeskID, "", "", false, topics); // Get topics that were created and check that there are 2 (Layouts and Lifecycle). List <TopicDTO> unitTopics = testEntityFactory.TopicsFacade.GetTopicsByUnitID(unitData.Response.UnitID).Topics; Assert.IsTrue(unitTopics.Count == 3); // Check that unit was created successfully. Assert.AreEqual(HttpStatusCode.OK, unitData.Response.Status); Assert.IsTrue(unitData.Response.UnitID > 0); // Create students and check that they were created successfully. TestDataNickname nicknameDataA = testEntityFactory.AddNickname(); Assert.AreEqual(HttpStatusCode.OK, nicknameDataA.Response.Status); Assert.IsTrue(nicknameDataA.Response.StudentID > 0); TestDataNickname nicknameDataB = testEntityFactory.AddNickname(); Assert.AreEqual(HttpStatusCode.OK, nicknameDataB.Response.Status); Assert.IsTrue(nicknameDataB.Response.StudentID > 0); // Create two checkins and check that they're created successfully. TestDataCheckIn checkinDataA = testEntityFactory.AddCheckIn(nicknameDataA.Response.StudentID, null, null, unitData.Response.UnitID); Assert.AreEqual(HttpStatusCode.OK, checkinDataA.Response.Status); Assert.IsTrue(checkinDataA.Response.CheckInID > 0); TestDataCheckIn checkinDataB = testEntityFactory.AddCheckIn(nicknameDataB.Response.StudentID, null, null, unitData.Response.UnitID); Assert.AreEqual(HttpStatusCode.OK, checkinDataB.Response.Status); Assert.IsTrue(checkinDataB.Response.CheckInID > 0); // Create three queue items, 2 which are associated with checkinDataA and 1 with checkinDataB. TestDataQueue queueDataA = testEntityFactory.AddQueueItem(nicknameDataA.Response.StudentID, unitTopics[0].TopicId, checkinDataA.Response.CheckInID); Assert.AreEqual(HttpStatusCode.OK, queueDataA.Response.Status); Assert.IsTrue(queueDataA.Response.ItemId > 0); TestDataQueue queueDataB = testEntityFactory.AddQueueItem(nicknameDataA.Response.StudentID, unitTopics[0].TopicId, checkinDataA.Response.CheckInID); Assert.AreEqual(HttpStatusCode.OK, queueDataB.Response.Status); Assert.IsTrue(queueDataB.Response.ItemId > 0); TestDataQueue queueDataC = testEntityFactory.AddQueueItem(nicknameDataB.Response.StudentID, unitTopics[0].TopicId, checkinDataB.Response.CheckInID); Assert.AreEqual(HttpStatusCode.OK, queueDataC.Response.Status); Assert.IsTrue(queueDataC.Response.ItemId > 0); // Manuall checkout checkinDataB and check that it succeeded. CheckOutRequest checkoutRequestB = new CheckOutRequest { ForcedCheckout = false }; var checkoutBResponse = testEntityFactory.CheckInFacade.CheckOut(checkoutRequestB, checkinDataB.Response.CheckInID); Assert.AreEqual(HttpStatusCode.OK, checkoutBResponse.Status); Assert.IsTrue(checkoutBResponse.Result == true); // Do the force checkout and queue remove. var forceCheckoutQueueRemoveResponse = testEntityFactory.HelpdeskFacade.ForceCheckoutQueueRemove(helpdeskData.Response.HelpdeskID); Assert.AreEqual(HttpStatusCode.OK, forceCheckoutQueueRemoveResponse.Status); Assert.IsTrue(forceCheckoutQueueRemoveResponse.Result == true); // Check all checkouts and and queue removals occured as expected. using (helpdesksystemContext context = new helpdesksystemContext()) { // CheckinA was was not manually checked out, so ForcedCheckout should be true. var checkinA = context.Checkinhistory.FirstOrDefault(c => c.CheckInId == checkinDataA.Response.CheckInID); Assert.IsTrue(checkinA.ForcedCheckout == true); Assert.IsTrue(checkinA.CheckoutTime != null); // CheckinB was manually checked out, so ForcedCheckout should be false. var checkinB = context.Checkinhistory.FirstOrDefault(c => c.CheckInId == checkinDataB.Response.CheckInID); Assert.IsTrue(checkinB.ForcedCheckout == false); Assert.IsTrue(checkinB.CheckoutTime != null); // Check that all queue items were removed. var queueItemA = context.Queueitem.FirstOrDefault(q => q.ItemId == queueDataA.Response.ItemId); Assert.IsTrue(queueItemA.TimeRemoved != null); var queueItemB = context.Queueitem.FirstOrDefault(q => q.ItemId == queueDataB.Response.ItemId); Assert.IsTrue(queueItemB.TimeRemoved != null); var queueItemC = context.Queueitem.FirstOrDefault(q => q.ItemId == queueDataC.Response.ItemId); Assert.IsTrue(queueItemC.TimeRemoved != null); } }