private async Task <Order> DoFirstOffer() { OfferList offers = await _marketPlaceClient.GetOffers().ConfigureAwait(false); //lets do the tutorial! Offer offer = offers.Offers.SingleOrDefault(o => o.ContentType.Equals("tutorial")); //This won't go through because the Kin asset isn't trusted yet if (offer != null) { OpenOrder orderResponse = await _marketPlaceClient.CreateOrderForOffer(offer.Id).ConfigureAwait(false); Order submitOrder = await _marketPlaceClient.SubmitOrder(orderResponse.Id).ConfigureAwait(false); Order finishedOrder = await WaitForOrderCompletion(UserId, submitOrder.Id).ConfigureAwait(false); if (!string.IsNullOrEmpty(finishedOrder?.OrderResult?.Jwt)) { SecurityToken token = _marketPlaceJwtProvider.ValidateJwtToken(finishedOrder?.OrderResult?.Jwt); } return(finishedOrder); } throw new Exception("no offers dawg"); }
private void NewOffer() { if (Validator.ValidateAll().IsValid) { if (order.Id == 0) { order = UnitOfWork.Orders.Add(order); } var vm = new OfferCreationViewModel(new UnitOfWorkFactory()); vm.Init(); var windowView = new OfferCreationView(vm); if (windowView.ShowDialog() ?? false) { var offerNumber = vm.OfferNumber; string fileName; try { fileName = FileAccess.CreateDocumentFromTemplate(order.Customer, offerNumber, Properties.Settings.Default.OfferTemplatePath); } catch (Win32Exception) { MessageBox.Show("Das Dokument konnte nicht erstellt werden. Eventuell haben Sie die Vorlage noch geöffnet.", "Ein Fehler ist aufgetreten"); return; } var document = new Document { IssueDate = DateTime.Now, Name = offerNumber, Tag = "Offerte", RelativePath = fileName }; document = UnitOfWork.Documents.Add(document); var offer = new Offer { OfferNumber = offerNumber, Order = order, Document = document }; offer = UnitOfWork.Offers.Add(offer); UnitOfWork.Complete(); OfferList.Add(offer); if (vm.OpenAfterSave ?? false) { Open(fileName); } } } }
public override void OnAppearing() { base.OnAppearing(); MainThread.BeginInvokeOnMainThread(async() => { if (OfferList.Any()) { return; } await GetDataAsync(); }); }
public BufferOffer(ObservableCollection <BaseEquipment> offereq) { OfferList = offereq.ToList(); OfferList = OfferList.Distinct().ToList(); Header = "Здравствуйте, "; Footer = @"Оборудование марки Метроном производит / поставляет (продает), обеспечивает гарантийную, постгарантийную и сервисную поддержку, а также является держателем всех сертификатов на оборудование только компания Прайм Тайм."; //Сделать пример самогенерящийся ExplainPoverka = @" Примечание: В зависимости от сферы применения оборудование может поставляться с определенными опциями (начиная с версии Метроном-300). Опции устанавливаются только при заказе оборудования. Особенно это важно, если нужна поверка http://www.ptime.ru/si.html (меняется название оборудования и обязательное использование опционного внутреннего генератора OCXO-HQ). Ознакомьтесь, пожалуйста, с памяткой: http://www.ptime.ru/Downloads/pamyatka_Metronom.pdf В качестве примера, если нужен Метроном-300 с поверкой, то это будет: Устройство синхронизации частоты и времени Метроном-300/GNS-HQ 2 x NTP LAN Ethernet 10/100, RJ45; 2xRS232, 1x10МГц (TTL), 1x1PPS, генератор OCXO-HQ, эл.пит. ~220В. 6350 Евро с НДС. Антенна ГЛОНАСС/GPS со встроенным грозоразрядником. 435 Евро с НДС. Антенный кабель 50 м. 140 Евро с НДС. Организация поверки (получение свидетельства о поверке) 600 Евро с НДС. http://www.ptime.ru/Metronom/si/Metronom300si.html Оплата в рублях по курсу ЦБ. Склад Москва 14-16 недель (12 недель + 2-4 недели поверка). 3 года гарантии. (Расширение гарантии до 5 лет +20% к стоимости) Паспорт на изделие. Декларация соответствия ТС (EAC). Свидетельство о поверке."; BufferMessage = ""; BufferMessage += Header + "\n\n"; BufferMessage += CreateOfferFromList(OfferList); BufferMessage += ExplainPoverka; BufferMessage += Footer; }
internal Types.PagedList <Offer> ApiToDomain(OfferList value) { if (value == null) { return(null); } return(new Types.PagedList <Offer> { Page = value.Page, ItemsPerPage = value.PerPage, TotalItems = value.Total, List = value.List?.Select(ApiToDomain).ToList() }); }
/// <summary> /// /// </summary> /// <param name="Reader"></param> public override void ReadXml(XmlReader Reader) { // read baseclass part base.ReadXml(Reader); // shopbot Reader.ReadToFollowing(XMLTAG_BOT); IntervalBroadcast = GameTick.MSINSECOND * Convert.ToUInt32(Reader[XMLATTRIB_INTERVALBROADCAST]); IntervalSay = GameTick.MSINSECOND * Convert.ToUInt32(Reader[XMLATTRIB_INTERVALSAY]); TellOnEnter = Convert.ToBoolean(Reader[XMLATTRIB_TELLONENTER]); ChatPrefixString = Reader[XMLATTRIB_CHATPREFIXSTRING]; Shopname = Reader[XMLATTRIB_SHOPNAME]; // vars for lists string name; uint unitprice; uint amount; // offerlist OfferList.Clear(); Reader.ReadToFollowing(XMLTAG_OFFERLIST); if (Reader.ReadToDescendant(XMLTAG_ITEM)) { do { name = Reader[XMLATTRIB_NAME]; unitprice = Convert.ToUInt32(Reader[XMLATTRIB_UNITPRICE]); amount = Convert.ToUInt32(Reader[XMLATTRIB_COUNT]); OfferList.Add(new ShopItem(name, unitprice, amount)); }while (Reader.ReadToNextSibling(XMLTAG_ITEM)); } // buylist BuyList.Clear(); Reader.ReadToFollowing(XMLTAG_BUYLIST); if (Reader.ReadToDescendant(XMLTAG_ITEM)) { do { name = Reader[XMLATTRIB_NAME]; unitprice = Convert.ToUInt32(Reader[XMLATTRIB_UNITPRICE]); amount = Convert.ToUInt32(Reader[XMLATTRIB_COUNT]); BuyList.Add(new ShopItem(name, unitprice, amount)); }while (Reader.ReadToNextSibling(XMLTAG_ITEM)); } }
public ActionResult DownloadData(string name, string url) { DateTime thisDay = DateTime.Now; OfferList offerList = new OfferList { UserName = "******", Date = thisDay.ToString(), NameOfOffer = name }; db.OfferList.Add(offerList); db.SaveChanges(); byte[] fileBytes = System.IO.File.ReadAllBytes(url); string fileName = "Your_File.zip"; return(File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, fileName)); }
public ActionResult Index(CallCenterOffersModel offersModel, string command) { if (command == "Submit") { OfferList[] listArray = new OfferList[5]; var goodWillOfferList = new OfferList(); goodWillOfferList.IsOffered = offersModel.GoodwillOffer.WasOffered; goodWillOfferList.IsAccepted = offersModel.GoodwillOffer.WasAccepted; goodWillOfferList.OfferType = "GoodWill"; listArray[0] = goodWillOfferList; var proactiveOfferList = new OfferList(); proactiveOfferList.IsOffered = offersModel.ProactiveOffer.WasOffered; proactiveOfferList.IsAccepted = offersModel.ProactiveOffer.WasAccepted; proactiveOfferList.OfferType = "Proactive"; listArray[1] = proactiveOfferList; var discount1OfferList = new OfferList(); discount1OfferList.IsOffered = offersModel.Discount1Offer.WasOffered; discount1OfferList.IsAccepted = offersModel.Discount1Offer.WasAccepted; discount1OfferList.OfferType = "Discount1"; listArray[2] = discount1OfferList; var transferToLoyaltyOfferList = new OfferList(); transferToLoyaltyOfferList.IsOffered = offersModel.TransferToLoyalty.WasOffered; transferToLoyaltyOfferList.IsAccepted = offersModel.TransferToLoyalty.WasAccepted; transferToLoyaltyOfferList.OfferType = "TransferToLoyalty"; listArray[3] = transferToLoyaltyOfferList; var disconnectOfferList = new OfferList(); disconnectOfferList.IsOffered = offersModel.DisconnectAccepted; disconnectOfferList.IsAccepted = offersModel.DisconnectAccepted; disconnectOfferList.OfferType = "Disconnect"; listArray[4] = disconnectOfferList; _logRepository.LogSaveOffers(listArray, offersModel.SavesLogId, null, null, null, "Save", 0, false); return(View("Summary", offersModel)); } //TODO: Log Action return(RedirectToAction("Index", "Home")); }
public ActionResult Index(LoyaltyOffersModel offersModel, string command) { if (command == "Submit") { OfferList[] listArray = new OfferList[3]; var loyalty1OfferList = new OfferList(); loyalty1OfferList.IsOffered = offersModel.Loyalty1Offer.WasOffered; loyalty1OfferList.IsAccepted = offersModel.Loyalty1Offer.WasAccepted; loyalty1OfferList.OfferType = "Loyalty1"; listArray[0] = loyalty1OfferList; var loyalty2OfferList = new OfferList(); loyalty2OfferList.IsOffered = offersModel.Loyalty2Offer.WasOffered; loyalty2OfferList.IsAccepted = offersModel.Loyalty2Offer.WasAccepted; loyalty2OfferList.OfferType = "Loyalty2"; listArray[1] = loyalty2OfferList; var contractOfferList = new OfferList(); contractOfferList.IsOffered = offersModel.ContractOffer.WasOffered; contractOfferList.IsAccepted = offersModel.ContractOffer.WasAccepted; contractOfferList.OfferType = "Contract"; listArray[2] = contractOfferList; decimal fiveYearDiscountAmt = 0; if (offersModel.ContractOffer.WasAccepted) { string selectedDiscountAmt = offersModel.SelectedFiveYearDiscountAmt.Remove(0, 1).Trim(); decimal returnValue = 0; fiveYearDiscountAmt = decimal.TryParse(selectedDiscountAmt, out returnValue) ? Convert.ToDecimal(selectedDiscountAmt) : 0; } _logRepository.LogSaveOffers(listArray, offersModel.SavesLogId, offersModel.SelectedHsd, offersModel.SelectedPhone, offersModel.SelectedCable, "Save", fiveYearDiscountAmt, offersModel.TwelveMonthContract.WasAccepted); return(View("Summary", offersModel)); } //TODO: Log Action return(RedirectToAction("Index", "Home")); }
public IEnumerable <InboxDetails> GetByEmployeeId(int id) { List <InboxDetails> inboxDetails = new List <InboxDetails>(); var list = db.Fetch <dynamic>($";EXEC AllAdvertisementsOfEmployee @@id={id};"); foreach (var listItem in list) { InboxDetails inbox = new InboxDetails(); inbox.AdvertisementId = listItem.AdvertisementId; inbox.ProfilePic = db.SingleOrDefault <string>("select ProfilePic from Employee Where Id = @0", id); inbox.Image = listItem.Image; inbox.AdminMessage = db.SingleOrDefault <string>("select Message from AdminMessage Where AdvertisementId = @0", listItem.AdvertisementId); inbox.Status = listItem.Status; if (listItem.Status == "Removed by Admin") { inbox.PostedOn = db.SingleOrDefault <DateTime>("select Time from Report Where AdvertisementId = @0", listItem.AdvertisementId); } else { inbox.PostedOn = listItem.PostedOn; } inbox.Title = listItem.Title; inbox.Expiry = listItem.Expiry; List <OfferList> offerList = new List <OfferList>(); var offers = db.Fetch <dynamic>($";EXEC GetOffers @@id={listItem.AdvertisementId};"); foreach (var offer in offers) { OfferList offerList1 = new OfferList(); offerList1.Id = offer.Id; offerList1.OfferedBy = offer.OfferedBy; offerList1.ProfilePic = offer.ProfilePic; offerList1.OfferedPrice = offer.OfferedPrice.ToString(); offerList1.OfferedOn = offer.OfferedOn; offerList.Add(offerList1); } inbox.OffersList = offerList; inboxDetails.Add(inbox); } return(inboxDetails); }
protected override void HandleRequest() { NameValueCollection query; using (var rdr = new StreamReader(ListenerContext.Request.InputStream)) query = HttpUtility.ParseQueryString(rdr.ReadToEnd()); if (query.AllKeys.Length == 0) { string queryString = string.Empty; string currUrl = ListenerContext.Request.RawUrl; int iqs = currUrl.IndexOf('?'); if (iqs >= 0) { query = HttpUtility.ParseQueryString((iqs < currUrl.Length - 1) ? currUrl.Substring(iqs + 1) : String.Empty); } } OfferList list = new OfferList(); using (var db = new Database(Program.Settings.GetValue("conn"))) { var acc = db.Verify(GUID, PASS); MySqlCommand cmd = db.CreateQuery(); cmd.CommandText = "SELECT * FROM market WHERE status=0 ORDER BY id DESC"; if (acc != null && NameValueCollection["filter"] == "mine") { cmd.CommandText = "SELECT * FROM market WHERE accId=@accId ORDER BY id DESC"; cmd.Parameters.AddWithValue("@accId", acc.AccountId); } ushort[] offerSearch = new ushort[0]; ItemData[] offerSearchD = new ItemData[0]; if (NameValueCollection["offerItems"] != null && NameValueCollection["offerItems"] != "") { offerSearch = Utils.FromCommaSepString16(NameValueCollection["offerItems"]); offerSearchD = new ItemData[offerSearch.Length]; if (NameValueCollection["offerData"] != "") { offerSearchD = ItemDataList.CreateData(NameValueCollection["offerData"]); } } ushort[] reqSearch = new ushort[0]; ItemData[] reqSearchD = new ItemData[0]; if (NameValueCollection["requestItems"] != null && NameValueCollection["requestItems"] != "") { reqSearch = Utils.FromCommaSepString16(NameValueCollection["requestItems"]); reqSearchD = new ItemData[reqSearch.Length]; if (NameValueCollection["requestData"] != "") { reqSearchD = ItemDataList.CreateData(NameValueCollection["requestData"]); } } using (MySqlDataReader rdr = cmd.ExecuteReader()) { while (rdr.Read()) { if (offerSearch.Length > 0) { List <ushort> offerItems = new List <ushort>(Utils.FromCommaSepString16(rdr.GetString("offerItems"))); ItemData[] offerData = ItemDataList.CreateData(rdr.GetString("offerData")); bool success = false; for (int i = 0; i < offerSearch.Length; i++) { int res = -1; if ((res = offerItems.IndexOf(offerSearch[i])) == -1) { continue; } if (offerSearchD[i] != null) { bool offerDataE = offerData[res] != null; if ((offerSearchD[i].Strange && (!offerDataE || !offerData[res].Strange)) || (!offerSearchD[i].Strange && offerDataE && offerData[res].Strange)) { continue; } if (!offerSearchD[i].Strange && offerSearchD[i].NamePrefix != "") { if (!offerDataE || (offerDataE && offerData[res].NamePrefix != offerSearchD[i].NamePrefix)) { continue; } } if (offerSearchD[i].Effect != "" && (!offerDataE || (offerData[res].Effect != offerSearchD[i].Effect))) { continue; } } else if (offerData[res] != null) { if (offerData[res].Strange || offerData[res].NamePrefix != "" || offerData[res].Effect != "") { continue; } } success = true; break; } if (!success) { continue; } } if (reqSearch.Length > 0) { List <ushort> reqItems = new List <ushort>(Utils.FromCommaSepString16(rdr.GetString("requestItems"))); ItemData[] reqData = ItemDataList.CreateData(rdr.GetString("requestData")); bool success = false; for (int i = 0; i < reqSearch.Length; i++) { int res = -1; if ((res = reqItems.IndexOf(reqSearch[i])) == -1) { continue; } if (reqSearchD[i] != null) { bool reqDataE = reqData[res] != null; if ((reqSearchD[i].Strange && (!reqDataE || !reqData[res].Strange)) || (!reqSearchD[i].Strange && reqDataE && reqData[res].Strange)) { continue; } if (!reqSearchD[i].Strange && reqSearchD[i].NamePrefix != "") { if (!reqDataE || (reqDataE && reqData[res].NamePrefix != reqSearchD[i].NamePrefix)) { continue; } } if (reqSearchD[i].Effect != "" && (!reqDataE || (reqData[res].Effect != reqSearchD[i].Effect))) { continue; } } else if (reqData[res] != null) { if (reqData[res].Strange || reqData[res].NamePrefix != "" || reqData[res].Effect != "") { continue; } } success = true; break; } if (!success) { continue; } } list.Offers.Add(new Offer { Id = rdr.GetInt32("id"), AccId = rdr.GetInt32("accId"), Mine = acc != null ? rdr.GetInt32("accId") == acc.AccountId : false, Status = rdr.GetInt32("status"), _OfferItems = rdr.GetString("offerItems"), _OfferData = rdr.GetString("offerData"), _RequestItems = rdr.GetString("requestItems"), _RequestData = rdr.GetString("requestData") }); } } } if (NameValueCollection["filter"] != "mine" && NameValueCollection["filter"] != "searched") { if (list.Offers.Count > 100) { list.Offers.RemoveRange(100, list.Offers.Count - 100); } } var ms = new MemoryStream(); var serializer = new XmlSerializer(list.GetType(), new XmlRootAttribute("Offers") { Namespace = "" }); var xws = new XmlWriterSettings(); xws.OmitXmlDeclaration = true; xws.Encoding = Encoding.UTF8; xws.Indent = true; XmlWriter xtw = XmlWriter.Create(ListenerContext.Response.OutputStream, xws); serializer.Serialize(xtw, list, list.Namespaces); }
public override void HandleRequest(HttpListenerContext context) { NameValueCollection query; using (var rdr = new StreamReader(context.Request.InputStream)) query = HttpUtility.ParseQueryString(rdr.ReadToEnd()); if (query.AllKeys.Length == 0) { string queryString = string.Empty; string currUrl = context.Request.RawUrl; int iqs = currUrl.IndexOf('?'); if (iqs >= 0) { query = HttpUtility.ParseQueryString((iqs < currUrl.Length - 1) ? currUrl.Substring(iqs + 1) : String.Empty); } } /*using (var db = new Database(Program.Settings.GetValue("conn"))) * { * Account acc = db.Verify(query["guid"], query["password"]); * int num = Convert.ToInt32(query["num"]); * int offset = Convert.ToInt32(query["offset"]); * if (num == 0) * { * num = 50; * } * byte[] status; * if (acc == null) * status = Encoding.UTF8.GetBytes("<Error>Account credentials not valid</Error>"); * else * { * try * { * status = Encoding.UTF8.GetBytes(db.HttpGetGuildMembers(num, offset, acc)); * } * catch * { * status = Encoding.UTF8.GetBytes("<Error>Guild member error</Error>"); * } * } * context.Response.OutputStream.Write(status, 0, status.Length); * }*/ OfferList list = new OfferList(); using (var db = new Database(Program.Settings.GetValue("conn"))) { var acc = db.Verify(query["guid"], query["password"]); var cmd = db.CreateQuery(); cmd.CommandText = "SELECT * FROM market WHERE status=0 ORDER BY id DESC"; if (acc != null && query["filter"] == "mine") { cmd.CommandText = "SELECT * FROM market WHERE accId=@accId ORDER BY id DESC"; cmd.Parameters.AddWithValue("@accId", acc.AccountId); } ushort[] offerSearch = new ushort[0]; ItemData[] offerSearchD = new ItemData[0]; if (query["offerItems"] != null && query["offerItems"] != "") { offerSearch = Utils.FromCommaSepString16(query["offerItems"]); offerSearchD = new ItemData[offerSearch.Length]; if (query["offerData"] != "") { offerSearchD = ItemDataList.CreateData(query["offerData"]); } } ushort[] reqSearch = new ushort[0]; ItemData[] reqSearchD = new ItemData[0]; if (query["requestItems"] != null && query["requestItems"] != "") { reqSearch = Utils.FromCommaSepString16(query["requestItems"]); reqSearchD = new ItemData[reqSearch.Length]; if (query["requestData"] != "") { reqSearchD = ItemDataList.CreateData(query["requestData"]); } } using (var rdr = cmd.ExecuteReader()) if (rdr.HasRows) { while (rdr.Read()) { if (offerSearch.Length > 0) { List <ushort> offerItems = new List <ushort>(Utils.FromCommaSepString16(rdr.GetString("offerItems"))); ItemData[] offerData = ItemDataList.CreateData(rdr.GetString("offerData")); bool success = false; for (int i = 0; i < offerSearch.Length; i++) { int res = -1; if ((res = offerItems.IndexOf(offerSearch[i])) == -1) { continue; } if (offerSearchD[i] != null) { bool offerDataE = offerData[res] != null; if ((offerSearchD[i].Strange && (!offerDataE || !offerData[res].Strange)) || (!offerSearchD[i].Strange && offerDataE && offerData[res].Strange)) { continue; } if (!offerSearchD[i].Strange && offerSearchD[i].NamePrefix != "") { if (!offerDataE || (offerDataE && offerData[res].NamePrefix != offerSearchD[i].NamePrefix)) { continue; } } if (offerSearchD[i].Effect != "" && (!offerDataE || (offerData[res].Effect != offerSearchD[i].Effect))) { continue; } } else if (offerData[res] != null) { if (offerData[res].Strange || offerData[res].NamePrefix != "" || offerData[res].Effect != "") { continue; } } success = true; break; } if (!success) { continue; } } if (reqSearch.Length > 0) { List <ushort> reqItems = new List <ushort>(Utils.FromCommaSepString16(rdr.GetString("requestItems"))); ItemData[] reqData = ItemDataList.CreateData(rdr.GetString("requestData")); bool success = false; for (int i = 0; i < reqSearch.Length; i++) { int res = -1; if ((res = reqItems.IndexOf(reqSearch[i])) == -1) { continue; } if (reqSearchD[i] != null) { bool reqDataE = reqData[res] != null; if ((reqSearchD[i].Strange && (!reqDataE || !reqData[res].Strange)) || (!reqSearchD[i].Strange && reqDataE && reqData[res].Strange)) { continue; } if (!reqSearchD[i].Strange && reqSearchD[i].NamePrefix != "") { if (!reqDataE || (reqDataE && reqData[res].NamePrefix != reqSearchD[i].NamePrefix)) { continue; } } if (reqSearchD[i].Effect != "" && (!reqDataE || (reqData[res].Effect != reqSearchD[i].Effect))) { continue; } } else if (reqData[res] != null) { if (reqData[res].Strange || reqData[res].NamePrefix != "" || reqData[res].Effect != "") { continue; } } success = true; break; } if (!success) { continue; } } list.Offers.Add(new Offer { Id = rdr.GetInt32("id"), AccId = rdr.GetInt32("accId"), Mine = acc != null ? rdr.GetInt32("accId") == acc.AccountId : false, Status = rdr.GetInt32("status"), _OfferItems = rdr.GetString("offerItems"), _OfferData = rdr.GetString("offerData"), _RequestItems = rdr.GetString("requestItems"), _RequestData = rdr.GetString("requestData") }); } } } if (query["filter"] != "mine" && query["filter"] != "searched") { if (list.Offers.Count > 50) { list.Offers.RemoveRange(50, list.Offers.Count - 50); } } var ms = new MemoryStream(); var serializer = new XmlSerializer(list.GetType(), new XmlRootAttribute("Offers") { Namespace = "" }); var xws = new XmlWriterSettings(); xws.OmitXmlDeclaration = true; xws.Encoding = Encoding.UTF8; xws.Indent = true; XmlWriter xtw = XmlWriter.Create(context.Response.OutputStream, xws); serializer.Serialize(xtw, list, list.Namespaces); }
public override void HandleRequest(HttpListenerContext context) { NameValueCollection query; using (var rdr = new StreamReader(context.Request.InputStream)) query = HttpUtility.ParseQueryString(rdr.ReadToEnd()); if (query.AllKeys.Length == 0) { string queryString = string.Empty; string currUrl = context.Request.RawUrl; int iqs = currUrl.IndexOf('?'); if (iqs >= 0) { query = HttpUtility.ParseQueryString((iqs < currUrl.Length - 1) ? currUrl.Substring(iqs + 1) : String.Empty); } } /*using (var db = new Database(Program.Settings.GetValue("conn"))) { Account acc = db.Verify(query["guid"], query["password"]); int num = Convert.ToInt32(query["num"]); int offset = Convert.ToInt32(query["offset"]); if (num == 0) { num = 50; } byte[] status; if (acc == null) status = Encoding.UTF8.GetBytes("<Error>Account credentials not valid</Error>"); else { try { status = Encoding.UTF8.GetBytes(db.HttpGetGuildMembers(num, offset, acc)); } catch { status = Encoding.UTF8.GetBytes("<Error>Guild member error</Error>"); } } context.Response.OutputStream.Write(status, 0, status.Length); }*/ OfferList list = new OfferList(); using (var db = new Database(Program.Settings.GetValue("conn"))) { var acc = db.Verify(query["guid"], query["password"]); var cmd = db.CreateQuery(); cmd.CommandText = "SELECT * FROM market WHERE status=0 ORDER BY id DESC"; if (acc != null && query["filter"] == "mine") { cmd.CommandText = "SELECT * FROM market WHERE accId=@accId ORDER BY id DESC"; cmd.Parameters.AddWithValue("@accId", acc.AccountId); } ushort[] offerSearch = new ushort[0]; ItemData[] offerSearchD = new ItemData[0]; if (query["offerItems"] != null && query["offerItems"] != "") { offerSearch = Utils.FromCommaSepString16(query["offerItems"]); offerSearchD = new ItemData[offerSearch.Length]; if (query["offerData"] != "") offerSearchD = ItemDataList.CreateData(query["offerData"]); } ushort[] reqSearch = new ushort[0]; ItemData[] reqSearchD = new ItemData[0]; if (query["requestItems"] != null && query["requestItems"] != "") { reqSearch = Utils.FromCommaSepString16(query["requestItems"]); reqSearchD = new ItemData[reqSearch.Length]; if (query["requestData"] != "") reqSearchD = ItemDataList.CreateData(query["requestData"]); } using (var rdr = cmd.ExecuteReader()) if (rdr.HasRows) { while(rdr.Read()) { if (offerSearch.Length > 0) { List<ushort> offerItems = new List<ushort>(Utils.FromCommaSepString16(rdr.GetString("offerItems"))); ItemData[] offerData = ItemDataList.CreateData(rdr.GetString("offerData")); bool success = false; for (int i = 0; i < offerSearch.Length; i++) { int res = -1; if ((res = offerItems.IndexOf(offerSearch[i])) == -1) continue; if (offerSearchD[i] != null) { bool offerDataE = offerData[res] != null; if((offerSearchD[i].Strange && (!offerDataE || !offerData[res].Strange)) || (!offerSearchD[i].Strange && offerDataE && offerData[res].Strange)) continue; if (!offerSearchD[i].Strange && offerSearchD[i].NamePrefix != "") if (!offerDataE || (offerDataE && offerData[res].NamePrefix != offerSearchD[i].NamePrefix)) continue; if (offerSearchD[i].Effect != "" && (!offerDataE || (offerData[res].Effect != offerSearchD[i].Effect))) continue; } else if (offerData[res] != null) if (offerData[res].Strange || offerData[res].NamePrefix != "" || offerData[res].Effect != "") continue; success = true; break; } if (!success) continue; } if (reqSearch.Length > 0) { List<ushort> reqItems = new List<ushort>(Utils.FromCommaSepString16(rdr.GetString("requestItems"))); ItemData[] reqData = ItemDataList.CreateData(rdr.GetString("requestData")); bool success = false; for (int i = 0; i < reqSearch.Length; i++) { int res = -1; if ((res = reqItems.IndexOf(reqSearch[i])) == -1) continue; if (reqSearchD[i] != null) { bool reqDataE = reqData[res] != null; if ((reqSearchD[i].Strange && (!reqDataE || !reqData[res].Strange)) || (!reqSearchD[i].Strange && reqDataE && reqData[res].Strange)) continue; if (!reqSearchD[i].Strange && reqSearchD[i].NamePrefix != "") if (!reqDataE || (reqDataE && reqData[res].NamePrefix != reqSearchD[i].NamePrefix)) continue; if (reqSearchD[i].Effect != "" && (!reqDataE || (reqData[res].Effect != reqSearchD[i].Effect))) continue; } else if (reqData[res] != null) if (reqData[res].Strange || reqData[res].NamePrefix != "" || reqData[res].Effect != "") continue; success = true; break; } if (!success) continue; } list.Offers.Add(new Offer { Id = rdr.GetInt32("id"), AccId = rdr.GetInt32("accId"), Mine = acc != null ? rdr.GetInt32("accId") == acc.AccountId : false, Status = rdr.GetInt32("status"), _OfferItems = rdr.GetString("offerItems"), _OfferData = rdr.GetString("offerData"), _RequestItems = rdr.GetString("requestItems"), _RequestData = rdr.GetString("requestData") }); } } } if(query["filter"] != "mine" && query["filter"] != "searched") if (list.Offers.Count > 50) list.Offers.RemoveRange(50, list.Offers.Count - 50); var ms = new MemoryStream(); var serializer = new XmlSerializer(list.GetType(), new XmlRootAttribute("Offers") { Namespace = "" }); var xws = new XmlWriterSettings(); xws.OmitXmlDeclaration = true; xws.Encoding = Encoding.UTF8; xws.Indent = true; XmlWriter xtw = XmlWriter.Create(context.Response.OutputStream, xws); serializer.Serialize(xtw, list, list.Namespaces); }
/// <summary> /// /// </summary> /// <param name="Document"></param> public override void ReadXml(XmlDocument Document) { // read baseclass part base.ReadXml(Document); uint val_uint; bool val_bool; XmlNode node; string name; uint unitprice; uint amount; OfferList.Clear(); BuyList.Clear(); // basics node = Document.DocumentElement.SelectSingleNode( '/' + XMLTAG_CONFIGURATION + '/' + XMLTAG_BOT); if (node != null) { IntervalBroadcast = (node.Attributes[XMLATTRIB_INTERVALBROADCAST] != null && UInt32.TryParse(node.Attributes[XMLATTRIB_INTERVALBROADCAST].Value, out val_uint)) ? val_uint * GameTick.MSINSECOND : DEFAULTVAL_SHOPBOT_INTERVALBROADCAST * GameTick.MSINSECOND; IntervalSay = (node.Attributes[XMLATTRIB_INTERVALSAY] != null && UInt32.TryParse(node.Attributes[XMLATTRIB_INTERVALSAY].Value, out val_uint)) ? val_uint * GameTick.MSINSECOND : DEFAULTVAL_SHOPBOT_INTERVALSAY * GameTick.MSINSECOND; TellOnEnter = (node.Attributes[XMLATTRIB_TELLONENTER] != null && Boolean.TryParse(node.Attributes[XMLATTRIB_TELLONENTER].Value, out val_bool)) ? val_bool : DEFAULTVAL_SHOPBOT_TELLONENTER; ChatPrefixString = (node.Attributes[XMLATTRIB_CHATPREFIXSTRING] != null) ? node.Attributes[XMLATTRIB_CHATPREFIXSTRING].Value : DEFAULTVAL_SHOPBOT_CHATPREFIXSTRING; Shopname = (node.Attributes[XMLATTRIB_SHOPNAME] != null) ? node.Attributes[XMLATTRIB_SHOPNAME].Value : DEFAULTVAL_SHOPBOT_SHOPNAME; } else { IntervalBroadcast = DEFAULTVAL_SHOPBOT_INTERVALBROADCAST * GameTick.MSINSECOND; IntervalSay = DEFAULTVAL_SHOPBOT_INTERVALSAY * GameTick.MSINSECOND; TellOnEnter = DEFAULTVAL_SHOPBOT_TELLONENTER; ChatPrefixString = DEFAULTVAL_SHOPBOT_CHATPREFIXSTRING; Shopname = DEFAULTVAL_SHOPBOT_SHOPNAME; } // offerlist node = Document.DocumentElement.SelectSingleNode( '/' + XMLTAG_CONFIGURATION + '/' + XMLTAG_BOT + '/' + XMLTAG_OFFERLIST); if (node != null) { foreach (XmlNode child in node.ChildNodes) { if (child.Name != XMLTAG_ITEM) { continue; } name = (child.Attributes[XMLATTRIB_NAME] != null) ? child.Attributes[XMLATTRIB_NAME].Value : DEFAULTVAL_OFFERLIST_NAME; unitprice = (child.Attributes[XMLATTRIB_UNITPRICE] != null && UInt32.TryParse(child.Attributes[XMLATTRIB_UNITPRICE].Value, out val_uint)) ? val_uint : DEFAULTVAL_OFFERLIST_UNITPRICE; amount = (child.Attributes[XMLATTRIB_COUNT] != null && UInt32.TryParse(child.Attributes[XMLATTRIB_COUNT].Value, out val_uint)) ? val_uint : DEFAULTVAL_OFFERLIST_AMOUNT; OfferList.Add(new ShopItem(name, unitprice, amount)); } } // buylist node = Document.DocumentElement.SelectSingleNode( '/' + XMLTAG_CONFIGURATION + '/' + XMLTAG_BOT + '/' + XMLTAG_BUYLIST); if (node != null) { foreach (XmlNode child in node.ChildNodes) { if (child.Name != XMLTAG_ITEM) { continue; } name = (child.Attributes[XMLATTRIB_NAME] != null) ? child.Attributes[XMLATTRIB_NAME].Value : DEFAULTVAL_OFFERLIST_NAME; unitprice = (child.Attributes[XMLATTRIB_UNITPRICE] != null && UInt32.TryParse(child.Attributes[XMLATTRIB_UNITPRICE].Value, out val_uint)) ? val_uint : DEFAULTVAL_OFFERLIST_UNITPRICE; amount = (child.Attributes[XMLATTRIB_COUNT] != null && UInt32.TryParse(child.Attributes[XMLATTRIB_COUNT].Value, out val_uint)) ? val_uint : DEFAULTVAL_OFFERLIST_AMOUNT; BuyList.Add(new ShopItem(name, unitprice, amount)); } } }
public async Task Init() { var request = await _requestService.GetById <Request>(Id); if (request.Inactive == true) { InActiveRequest = true; ActiveRequest = false; return; } InitRequest(request); var address = await _addressService.GetById <Address>(request.DeliveryAddress); var country = await _countryService.GetById <Country>((int)address.CountryId); var status = await _statusService.GetById <Model.Status>(request.StatusId); InitStatus(status); Address = $"{country.Name}, {address.ZipCode}, {address.City}"; IsSupplier = JWTService.DecodeJWTRole() == Role.Supplier; IsClient = !IsSupplier; if (IsClient) { var searchRequest = new OfferSearchRequest { RequestId = Id, OfferStatusId = (int)Models.OfferStatus.Active }; var offerList = await _offerService.GetAll <List <Offer> >(searchRequest); if (offerList.Count == 0) { HaveAcceptedOffer = await RequestHaveAcceptedOffer(); HaveFinishedOffer = await RequestHaveFinishedOffer(); HaveActiveOffers = await RequestHaveActiveOffer(); var finishedOffer = await RequestHaveFinishedOfferWithoutRating(); if (!HaveAcceptedOffer && !finishedOffer) { ShowEditButton = true; } if (HaveFinishedOffer) { var list = await _ratingTypeService.GetAll <List <Model.RatingType> >(); RatingTypeList.Clear(); foreach (var rt in list) { RatingTypeList.Add(rt); } } } else { ShowList = true; } OfferList.Clear(); foreach (var offer in offerList) { var supplier = await _authService.GetById(offer.UserId); var supplierAddress = await _addressService.GetById <Address>((int)supplier.AddressId); var supplierCountry = await _countryService.GetById <Country>((int)supplierAddress.CountryId); var user = await _authService.GetById(offer.UserId); var newOffer = new RequestDetailsOffers { Company = user.Company, UserFromId = offer.UserId, Address = supplierCountry.Name + ", " + supplierAddress.City, OfferId = offer.OfferId }; OfferList.Add(newOffer); } OffersHeight = OfferList.Count * 65; } else { await InitFieldsVisibility(); } var recommendedRequests = await _requestService.RecommendRequest <List <Request> >(Id); RecommendedRequests.Clear(); foreach (var recRequest in recommendedRequests) { var toAddress = await _addressService.GetById <Address>(recRequest.DeliveryAddress); var toCountry = await _countryService.GetById <Country>((int)toAddress.CountryId); var fromUser = await _authService.GetById(recRequest.ClientId); var fromAddress = await _addressService.GetById <Address>((int)fromUser.AddressId); var fromCountry = await _countryService.GetById <Country>((int)fromAddress.CountryId); var requestModel = new RequestModel { FromCountry = fromCountry.Name, Price = recRequest.Price, RequestId = recRequest.RequestId, ToCountry = toCountry.Name, FullName = $"{fromUser.FirstName} {fromUser.LastName}" }; RecommendedRequests.Add(requestModel); } if (RecommendedRequests.Count > 0) { RecommendShowList = true; } else { RecommendShowList = false; } }
protected override void HandleRequest() { OfferList list = new OfferList(); using (Database db = new Database()) { MySqlCommand cmd = db.CreateQuery(); Account acc = db.Verify(Query["guid"], Query["password"], Program.GameData); cmd.CommandText = "SELECT * FROM market WHERE status=0 ORDER BY id DESC"; if (acc != null && Query["filter"] == "mine") { cmd.CommandText = "SELECT * FROM market WHERE accId=@accId ORDER BY id DESC"; cmd.Parameters.AddWithValue("@accId", int.Parse(acc.AccountId)); } ushort[] offerSearch = new ushort[0]; ItemData[] offerSearchD = new ItemData[0]; if (Query["offerItems"] != null && Query["offerItems"] != "") { offerSearch = Utils.FromCommaSepString16z(Query["offerItems"]); offerSearchD = new ItemData[offerSearch.Length]; if (Query["offerData"] != "") { offerSearchD = ItemDataList.CreateData(Query["offerData"]); } } ushort[] reqSearch = new ushort[0]; ItemData[] reqSearchD = new ItemData[0]; if (Query["requestItems"] != null && Query["requestItems"] != "") { reqSearch = Utils.FromCommaSepString16z(Query["requestItems"]); reqSearchD = new ItemData[reqSearch.Length]; if (Query["requestData"] != "") { reqSearchD = ItemDataList.CreateData(Query["requestData"]); } } using (MySqlDataReader rdr = cmd.ExecuteReader()) if (rdr.HasRows) { while (rdr.Read()) { if (offerSearch.Length > 0) { List <ushort> offerItems = new List <ushort>(Utils.FromCommaSepString16z(rdr.GetString("offerItems"))); ItemData[] offerData = ItemDataList.CreateData(rdr.GetString("offerData")); bool success = false; for (int i = 0; i < offerSearch.Length; i++) { int res = -1; if ((res = offerItems.IndexOf(offerSearch[i])) == -1) { continue; } success = true; break; } if (!success) { continue; } } if (reqSearch.Length > 0) { List <ushort> reqItems = new List <ushort>(Utils.FromCommaSepString16z(rdr.GetString("requestItems"))); ItemData[] reqData = ItemDataList.CreateData(rdr.GetString("requestData")); bool success = false; for (int i = 0; i < reqSearch.Length; i++) { int res = -1; if ((res = reqItems.IndexOf(reqSearch[i])) == -1) { continue; } success = true; break; } if (!success) { continue; } } list.Offers.Add(new Offer { Id = rdr.GetInt32("id"), AccId = rdr.GetInt32("accId"), Mine = acc != null ? rdr.GetInt32("accId") == int.Parse(acc.AccountId) : false, Status = rdr.GetInt32("status"), _OfferItems = rdr.GetString("offerItems"), _OfferData = rdr.GetString("offerData"), _RequestItems = rdr.GetString("requestItems"), _RequestData = rdr.GetString("requestData") }); } } } if (Query["filter"] != "mine" && Query["filter"] != "searched") { if (list.Offers.Count > 50) { list.Offers.RemoveRange(50, list.Offers.Count - 50); } } XmlSerializer serializer = new XmlSerializer(list.GetType(), new XmlRootAttribute("Offers") { Namespace = "" }); XmlWriterSettings xws = new XmlWriterSettings(); xws.OmitXmlDeclaration = true; xws.Encoding = Encoding.UTF8; xws.Indent = true; XmlWriter xtw = XmlWriter.Create(Context.Response.OutputStream, xws); serializer.Serialize(xtw, list, list.Namespaces); }