// 슬롯셋팅 void SetCharageShopSlot(List <DataShop> _listShop) { int addCount = 0; itemListType = GetItemListType(nowType); for (int i = 0; i < _listShop.Count; i++) { if (itemListType == ItemListType.Ticket) { EGoodsType goods = (EGoodsType)_listShop[i].GetGOODS_TYPE(); if (ItemHelper.IsOpenGoods(goods) == false) // 오픈상품 체크 { continue; } } addCount++; GameObject slot = _itemList[(int)itemListType].AddItem(i.ToString()); UIBaseShopItem item = slot.GetComponent <UIBaseShopItem>(); item.SettingShopItem(_listShop[i]); chargeItemList.Add(item); } _itemList[(int)itemListType].OnReposition(); _stateItemList.SetActive(itemListType.ToString()); _labelEmpty.cachedGameObject.SetActive(addCount <= 0); }
/// <summary> /// Populates the internal result set with the items obtained from the search response /// </summary> /// <param name="items">The items obtained from the enumeration or pull response</param> private IEnumerable <ResourceObject> EnumerateResultSet(ItemListType items) { if (items != null) { foreach (XmlElement item in items.Any.OfType <XmlElement>()) { yield return(new ResourceObject(item, this.client, this.locale)); } } }
/// <summary> /// Loads Model List of ItemListType into ViewModel DetailsViewModelList List /// </summary> /// <param name="itemList">The item list.</param> /// <param name="uc">The uc.</param> /// <param name="bestPosRequired">if set to <c>true</c> [best position required].</param> /// <returns></returns> public static BindingList <DetailsViewModel> Load(List <ItemListType> itemList, IUnityContainer uc, bool bestPosRequired) { // ItemListType listType = details.ItemList.FirstOrDefault(); // DAs PlugIn hat nur hier nur einen Eintrag DetailsListConverter details = uc.Resolve <DetailsListConverter>(); // new DetailsListViewModel(); if (itemList == null) { return(details.DetailsList); } ItemListType listType = itemList.FirstOrDefault(); // DAs PlugIn hat nur hier nur einen Eintrag if (listType == null) { return(details.DetailsList); } if (!listType.ListLineItem.Any()) { return(details.DetailsList); } foreach (ListLineItemType listLineItem in listType.ListLineItem) { DetailsViewModel detailsVM = uc.Resolve <DetailsViewModel>(new ParameterOverride("bestPosRequired", bestPosRequired)); //new DetailsViewModel(); detailsVM.BestellBezug = listLineItem.InvoiceRecipientsOrderReference.OrderPositionNumber; // .UnescapeXml(); var articleNumberType = listLineItem.ArticleNumber.FirstOrDefault(); if (articleNumberType != null) { detailsVM.ArtikelNr = articleNumberType.Value; } detailsVM.Bezeichnung = listLineItem.Description[0]; // .UnescapeXml(); // Muss vor Zuweisung des Einzelpreis stehen damit UpdateTotal nicht stirbt detailsVM.VatItem = GetVatValueFromTaxItem(listLineItem.TaxItem, PlugInSettings.Default.VStBerechtigt); detailsVM.Einheit = listLineItem.Quantity.Unit; detailsVM.EinzelPreis = listLineItem.UnitPrice.Value; // det.GesamtBruttoBetrag = listLineItem.LineItemAmount; detailsVM.Menge = listLineItem.Quantity.Value; if (listLineItem.ReductionAndSurchargeListLineItemDetails != null) { if (listLineItem.ReductionAndSurchargeListLineItemDetails.Items.FirstOrDefault() is ReductionAndSurchargeBaseType red) { detailsVM.Rabatt = red.Percentage; } } // det.UpdateTotals(); details.DetailsList.Add(detailsVM); } return(details.DetailsList); }
public ItemList(IMenuItem parent, Vector2 pos, ItemListType type, List <IMenuItem> list = null) { mParent = parent; mPosition = pos; mType = type; itemPad = new Vector2(10, 10); mItems = new List <IMenuItem>(); if (list != null) { SetItemList(list); } }
public override void WriteXml(XmlWriter writer) { writer.WriteAttributeString("ItemID", ItemID); writer.WriteAttributeString("MaxBuyout", MaxBuyout.ToString()); writer.WriteAttributeString("Amount", Amount.ToString()); writer.WriteAttributeString("ItemListType", ItemListType.ToString()); writer.WriteAttributeString("AutoFindAh", AutoFindAh.ToString()); writer.WriteAttributeString("X", loc.X.ToString()); writer.WriteAttributeString("Y", loc.Y.ToString()); writer.WriteAttributeString("Z", loc.Z.ToString()); writer.WriteAttributeString("BidOnItem", BidOnItem.ToString()); writer.WriteAttributeString("BuyAdditively", BuyAdditively.ToString()); }
/// <summary> /// Mapped InvoiceType Model auf ebInterface4p1 /// </summary> /// <param name="source">Invoice Model</param> /// <returns>ebInterface 4p1 InvoiceType</returns> internal static TARGET.InvoiceType MapModelToV4p2(Model.IInvoiceModel source) { TARGET.InvoiceType invoice = new TARGET.InvoiceType(); // new V4P1.InvoiceType(); #region Rechnungskopf invoice.InvoiceSubtype = source.InvoiceSubtype; invoice.InvoiceNumber = source.InvoiceNumber; invoice.InvoiceDate = source.InvoiceDate; invoice.GeneratingSystem = source.GeneratingSystem; invoice.DocumentType = source.DocumentType.ConvertEnum <DocumentTypeType>(); invoice.DocumentTitle = source.DocumentTitle; invoice.InvoiceCurrency = source.InvoiceCurrency.ToString(); //.ConvertEnum<CurrencyType>(); invoice.Language = source.Language.ToString(); // .ConvertEnum<LanguageType>(); invoice.Comment = source.Comment; #endregion #region Cancelled Original Document invoice.CancelledOriginalDocument = null; if (source.CancelledOriginalDocument != null) { invoice.CancelledOriginalDocument = new TARGET.CancelledOriginalDocumentType() { Comment = source.CancelledOriginalDocument.Comment, DocumentType = source.CancelledOriginalDocument.DocumentType.ConvertEnum <TARGET.DocumentTypeType>(), DocumentTypeSpecified = source.CancelledOriginalDocument.DocumentTypeSpecified, InvoiceDate = source.CancelledOriginalDocument.InvoiceDate, InvoiceNumber = source.CancelledOriginalDocument.InvoiceNumber }; } #endregion #region Related Document if (source.RelatedDocument.Any()) { invoice.RelatedDocument = new TARGET.RelatedDocumentType[] { new TARGET.RelatedDocumentType() { Comment = source.RelatedDocument[0].Comment, DocumentType = source.RelatedDocument[0].DocumentType.ConvertEnum <TARGET.DocumentTypeType>(), DocumentTypeSpecified = source.RelatedDocument[0].DocumentTypeSpecified, InvoiceDate = source.RelatedDocument[0].InvoiceDate, InvoiceDateSpecified = source.RelatedDocument[0].InvoiceDateSpecified, InvoiceNumber = source.RelatedDocument[0].InvoiceNumber }, }; } #endregion #region Delivery if (source.Delivery.Item is Model.PeriodType delType) { if ((delType.ToDate != null) && (delType.ToDate != DateTime.MinValue)) { var deliveryType = new TARGET.PeriodType { FromDate = delType.FromDate, ToDate = delType.ToDate }; invoice.Delivery.Item = deliveryType; } else { invoice.Delivery.Item = delType.FromDate; } } else { invoice.Delivery.Item = source.Delivery.Item; } #endregion #region Biller if (source.Biller != null) { invoice.Biller = new TARGET.BillerType { VATIdentificationNumber = source.Biller.VATIdentificationNumber, InvoiceRecipientsBillerID = source.Biller.InvoiceRecipientsBillerID, Address = GetAddress(source.Biller.Address, source.Biller.Contact), FurtherIdentification = GetFurtherIdentification(source.Biller.FurtherIdentification) }; } #endregion #region InvoiceReceipient if (source.InvoiceRecipient != null) { invoice.InvoiceRecipient = new TARGET.InvoiceRecipientType { BillersInvoiceRecipientID = source.InvoiceRecipient.BillersInvoiceRecipientID, VATIdentificationNumber = source.InvoiceRecipient.VATIdentificationNumber, Address = GetAddress(source.InvoiceRecipient.Address, source.InvoiceRecipient.Contact), OrderReference = new OrderReferenceType() }; invoice.InvoiceRecipient.OrderReference.OrderID = source.InvoiceRecipient.OrderReference.OrderID; if (source.InvoiceRecipient.OrderReference.ReferenceDateSpecified) { invoice.InvoiceRecipient.OrderReference.ReferenceDate = source.InvoiceRecipient.OrderReference.ReferenceDate; invoice.InvoiceRecipient.OrderReference.ReferenceDateSpecified = source.InvoiceRecipient.OrderReference.ReferenceDateSpecified; } invoice.InvoiceRecipient.AccountingArea = source.InvoiceRecipient.AccountingArea; invoice.InvoiceRecipient.SubOrganizationID = source.InvoiceRecipient.SubOrganizationID; invoice.InvoiceRecipient.FurtherIdentification = GetFurtherIdentification(source.InvoiceRecipient.FurtherIdentification); } #endregion #region Details invoice.Details = new DetailsType { HeaderDescription = source.Details.HeaderDescription, FooterDescription = source.Details.FooterDescription }; // inv4P1.Details.ItemList = new List<InvV4p1.ItemListType>(); var detailsItemList = new List <ItemListType>(); // inv4P1.Details.ItemList.Clear(); // InvV4p1.ItemListType item = new InvV4p1.ItemListType(); foreach (Model.ItemListType srcItemList in source.Details.ItemList) { ItemListType itemList = new ItemListType(); var itemListLineItem = new List <ListLineItemType>(); foreach (Model.ListLineItemType srcLineItem in srcItemList.ListLineItem) { ListLineItemType lineItem = new ListLineItemType { PositionNumber = srcLineItem.PositionNumber, Description = srcLineItem.Description.ToArray(), AdditionalInformation = null, ArticleNumber = GetArtikelList(srcLineItem.ArticleNumber), // Menge Quantity = new UnitType() }; lineItem.Quantity.Unit = srcLineItem.Quantity.Unit; lineItem.Quantity.Value = srcLineItem.Quantity.Value; // Einzelpreis lineItem.UnitPrice = new UnitPriceType() { Value = srcLineItem.UnitPrice.Value }; // Auftragsreferenz if (!string.IsNullOrEmpty(srcLineItem.InvoiceRecipientsOrderReference.OrderPositionNumber) || source.InvoiceRecipient.BestellPositionErforderlich) // Orderposition angegeben oder erforderlich { lineItem.InvoiceRecipientsOrderReference.OrderID = source.InvoiceRecipient.OrderReference.OrderID; lineItem.InvoiceRecipientsOrderReference.OrderPositionNumber = srcLineItem.InvoiceRecipientsOrderReference.OrderPositionNumber; } // Rabatte / Zuschläge lineItem.DiscountFlagSpecified = true; lineItem.DiscountFlag = false; lineItem.ReductionAndSurchargeListLineItemDetails = null; if (srcLineItem.ReductionAndSurchargeListLineItemDetails != null) { lineItem.ReductionAndSurchargeListLineItemDetails = GetReductionDetails(srcLineItem.ReductionAndSurchargeListLineItemDetails, out bool discoutFlag); lineItem.DiscountFlag = discoutFlag; lineItem.DiscountFlagSpecified = true; } lineItem.Description = srcLineItem.Description.ToArray(); lineItem.ReCalcLineItemAmount(); // Steuer lineItem.Item = MapVatItemType(srcLineItem.TaxItem); itemListLineItem.Add(lineItem); } itemList.ListLineItem = itemListLineItem.ToArray(); detailsItemList.Add(itemList); } invoice.Details.ItemList = detailsItemList.ToArray(); #endregion #region Global ReductionANdSurcharge invoice.ReductionAndSurchargeDetails = new ReductionAndSurchargeDetailsType { Items = null, ItemsElementName = new ItemsChoiceType1[] { ItemsChoiceType1.Reduction } }; #endregion #region Tax var taxVATList = new List <VATItemType>(); foreach (var vatItem in source.Tax.TaxItem) { VATItemType vatItemNeu = new VATItemType() { Amount = vatItem.TaxAmount.FixedFraction(2), TaxedAmount = vatItem.TaxableAmount.FixedFraction(2), }; vatItemNeu.Item = MapVatItemType(vatItem); taxVATList.Add(vatItemNeu); } invoice.Tax.VAT = taxVATList.ToArray(); #endregion #region Amount invoice.TotalGrossAmount = source.TotalGrossAmount; invoice.PaymentMethod.Comment = source.PaymentMethod.Comment; invoice.PayableAmount = source.PayableAmount; #endregion #region PaymentMethod invoice.PaymentMethod.Comment = source.PaymentMethod.Comment; if (source.PaymentMethod.Item.GetType() == typeof(Model.UniversalBankTransactionType)) { Model.UniversalBankTransactionType txType = source.PaymentMethod.Item as Model.UniversalBankTransactionType; invoice.PaymentMethod = new PaymentMethodType { Item = new UniversalBankTransactionType() }; ((UniversalBankTransactionType)invoice.PaymentMethod.Item).BeneficiaryAccount = new AccountType[] { new AccountType() { BIC = txType.BeneficiaryAccount.First().BIC, BankName = txType.BeneficiaryAccount.First().BankName, IBAN = txType.BeneficiaryAccount.First().IBAN, BankAccountOwner = txType.BeneficiaryAccount.First().BankAccountOwner } }; } #endregion #region PaymentCoditions if (source.PaymentConditions.DueDate > DateTime.MinValue) { invoice.PaymentConditions.DueDate = source.PaymentConditions.DueDate; invoice.PaymentConditions.DueDateSpecified = true; } if (source.PaymentConditions.Discount != null) { // inv4P1.PaymentConditions.Discount.Clear(); var discountList = new List <DiscountType>(); foreach (Model.DiscountType srcDiscount in source.PaymentConditions.Discount) { DiscountType discount = new DiscountType() { Amount = srcDiscount.Amount, AmountSpecified = srcDiscount.AmountSpecified, BaseAmount = srcDiscount.BaseAmount, BaseAmountSpecified = srcDiscount.BaseAmountSpecified, PaymentDate = srcDiscount.PaymentDate, Percentage = srcDiscount.Percentage, PercentageSpecified = srcDiscount.PercentageSpecified }; discountList.Add(discount); } invoice.PaymentConditions.Discount = discountList.ToArray(); } #endregion // Fixe Einträge #region PresentationDetails invoice.PresentationDetails = new PresentationDetailsType() { URL = "http://www.austriapro.at", SuppressZero = true, SuppressZeroSpecified = true }; #endregion return(invoice); }
// translation securitydescriptor can take of lot of CPU public override void EnumerateUsingWorkerThread(string distinguishedName, string filter, string[] properties, WorkOnReturnedObjectByADWS callback, string scope) { BlockingQueue <ItemListType> queue = new BlockingQueue <ItemListType>(600); // background thread Thread workingthread = null; try { workingthread = new Thread( () => { ItemListType items = null; for (; ;) { if (!queue.Dequeue(out items)) { break; } foreach (XmlElement item in items.Any) { ADItem aditem = ADItem.Create(item); try { callback(aditem); } catch (Exception ex) { Trace.WriteLine("Exception in workerthread:" + ex.Message); Trace.WriteLine(ex.StackTrace); } } } Trace.WriteLine("Exiting worker thread"); } ); ReceiveItems callbackInternal = (ItemListType items) => { if (items != null) { queue.Enqueue(items); } } ; workingthread.Start(); EnumerateInternalWithADWS(distinguishedName, filter, properties, scope, callbackInternal); Trace.WriteLine("Done enumerating objects at: " + DateTime.Now); queue.Quit(); workingthread.Join(); Trace.WriteLine("Enumeration using worker thread complete"); } finally { queue.Quit(); if (workingthread != null) { if (workingthread.ThreadState == System.Threading.ThreadState.Running) { workingthread.Abort(); } } } }
/// <summary> /// Maps ebInterface 5p0 InvoiceType to internal InvoiceType Model /// </summary> /// <param name="source">ebInterface 5p0 InvoiceType</param> /// <returns></returns> internal static TARGET.InvoiceType MapModelToV5p0(Model.IInvoiceModel source) { TARGET.InvoiceType invoice = new TARGET.InvoiceType(); #region Rechnungskopf invoice.InvoiceSubtype = source.InvoiceSubtype; // GeneratingSystem xs:string invoice.GeneratingSystem = source.GeneratingSystem; // DocumentType DocumentTypeType invoice.DocumentType = source.DocumentType.ConvertEnum <TARGET.DocumentTypeType>(); // InvoiceCurrency CurrencyType invoice.InvoiceCurrency = source.InvoiceCurrency.ToString(); // ManualProcessing xs:boolean invoice.ManualProcessing = source.ManualProcessing; // DocumentTitle xs:string invoice.DocumentTitle = source.DocumentTitle; // Language LanguageType invoice.Language = source.Language.ToString(); // IsDuplicate xs:boolean invoice.IsDuplicate = source.IsDuplicate; // InvoiceNumber IDType invoice.InvoiceNumber = source.InvoiceNumber; // InvoiceDate xs:date invoice.InvoiceDate = source.InvoiceDate; #endregion #region Cancelled Original Document // CancelledOriginalDocument [0..1] CancelledOriginalDocumentType invoice.CancelledOriginalDocument = null; if (source.CancelledOriginalDocument != null) { invoice.CancelledOriginalDocument = new TARGET.CancelledOriginalDocumentType() { Comment = source.CancelledOriginalDocument.Comment, DocumentType = source.CancelledOriginalDocument.DocumentType.ConvertEnum <TARGET.DocumentTypeType>(), DocumentTypeSpecified = source.CancelledOriginalDocument.DocumentTypeSpecified, InvoiceDate = source.CancelledOriginalDocument.InvoiceDate, InvoiceNumber = source.CancelledOriginalDocument.InvoiceNumber }; } #endregion #region Related Document // RelatedDocument [0..*] RelatedDocumentType if (invoice.RelatedDocument != null) { List <RelatedDocumentType> relDocs = new List <RelatedDocumentType>(); foreach (var rDoc in invoice.RelatedDocument) { RelatedDocumentType related = new RelatedDocumentType() { Comment = rDoc.Comment, DocumentType = rDoc.DocumentType.ConvertEnum <DocumentTypeType>(), DocumentTypeSpecified = rDoc.DocumentTypeSpecified, InvoiceDate = rDoc.InvoiceDate, InvoiceDateSpecified = rDoc.InvoiceDateSpecified, InvoiceNumber = rDoc.InvoiceNumber }; relDocs.Add(related); } invoice.RelatedDocument = relDocs.ToArray(); } #endregion #region Additional Information // AdditionalInformation [0..*] AdditionalInformationType if (source.AdditionalInformation.Any()) { List <AdditionalInformationType> additionalInformations = new List <AdditionalInformationType>(); foreach (var addInfo in source.AdditionalInformation) { AdditionalInformationType addInfoNew = new AdditionalInformationType() { Key = addInfo.Key, Value = addInfo.Value }; additionalInformations.Add(addInfoNew); } invoice.AdditionalInformation = additionalInformations.ToArray(); } #endregion #region Delivery // Delivery [0..1] DeliveryType // Delivery Address & Contact are not supported if (source.Delivery != null) { if (source.Delivery.Item is Model.PeriodType delType) { if ((delType.ToDate != null) && (delType.ToDate != DateTime.MinValue)) { var deliveryType = new PeriodType { FromDate = delType.FromDate, ToDate = delType.ToDate }; invoice.Delivery.Item = deliveryType; } else { invoice.Delivery.Item = delType.FromDate; } } else { // ein einzelnes Datum invoice.Delivery.Item = source.Delivery.Item; } } #endregion #region Biller // Biller BillerType if (source.Biller != null) { invoice.Biller = new TARGET.BillerType { VATIdentificationNumber = source.Biller.VATIdentificationNumber, InvoiceRecipientsBillerID = source.Biller.InvoiceRecipientsBillerID, Address = GetAddress(source.Biller.Address, source.Biller.Contact), FurtherIdentification = GetFurtherIdentification(source.Biller.FurtherIdentification) }; invoice.Biller.Contact = GetContact(source.Biller.Contact); } #endregion #region Invoice Recipient // InvoiceRecipient InvoiceRecipientType if (source.InvoiceRecipient != null) { invoice.InvoiceRecipient = new TARGET.InvoiceRecipientType { BillersInvoiceRecipientID = source.InvoiceRecipient.BillersInvoiceRecipientID, VATIdentificationNumber = source.InvoiceRecipient.VATIdentificationNumber, Address = GetAddress(source.InvoiceRecipient.Address, source.InvoiceRecipient.Contact), OrderReference = new OrderReferenceType() }; invoice.InvoiceRecipient.Contact = GetContact(source.InvoiceRecipient.Contact); invoice.InvoiceRecipient.OrderReference.OrderID = source.InvoiceRecipient.OrderReference.OrderID; if (source.InvoiceRecipient.OrderReference.ReferenceDateSpecified) { invoice.InvoiceRecipient.OrderReference.ReferenceDate = source.InvoiceRecipient.OrderReference.ReferenceDate; invoice.InvoiceRecipient.OrderReference.ReferenceDateSpecified = source.InvoiceRecipient.OrderReference.ReferenceDateSpecified; } invoice.InvoiceRecipient.AccountingArea = source.InvoiceRecipient.AccountingArea; invoice.InvoiceRecipient.SubOrganizationID = source.InvoiceRecipient.SubOrganizationID; invoice.InvoiceRecipient.FurtherIdentification = GetFurtherIdentification(source.InvoiceRecipient.FurtherIdentification); } #endregion #region Ordering Party // OrderingParty [0..1] OrderingPartyType not supported #endregion #region Details // Details DetailsType invoice.Details = new DetailsType { HeaderDescription = source.Details.HeaderDescription, FooterDescription = source.Details.FooterDescription }; var detailsItemList = new List <ItemListType>(); if (source.Details.ItemList != null) { foreach (Model.ItemListType srcItemList in source.Details.ItemList) { ItemListType itemList = new ItemListType(); var itemListLineItem = new List <ListLineItemType>(); foreach (Model.ListLineItemType srcLineItem in srcItemList.ListLineItem) { ListLineItemType lineItem = new ListLineItemType { PositionNumber = srcLineItem.PositionNumber, Description = srcLineItem.Description?.ToArray(), AdditionalInformation = null, ArticleNumber = GetArtikelList(srcLineItem.ArticleNumber), // Menge Quantity = new UnitType() }; lineItem.Quantity.Unit = srcLineItem.Quantity.Unit; lineItem.Quantity.Value = srcLineItem.Quantity.Value; // Einzelpreis lineItem.UnitPrice = new UnitPriceType() { Value = srcLineItem.UnitPrice.Value }; // Auftragsreferenz if (!string.IsNullOrEmpty(srcLineItem.InvoiceRecipientsOrderReference.OrderPositionNumber) || source.InvoiceRecipient.BestellPositionErforderlich) // Orderposition angegeben oder erforderlich { lineItem.InvoiceRecipientsOrderReference.OrderID = source.InvoiceRecipient.OrderReference.OrderID; lineItem.InvoiceRecipientsOrderReference.OrderPositionNumber = srcLineItem.InvoiceRecipientsOrderReference.OrderPositionNumber; } // Rabatte / Zuschläge if (srcLineItem.ReductionAndSurchargeListLineItemDetails != null) { lineItem.ReductionAndSurchargeListLineItemDetails = GetReductionDetails(srcLineItem.ReductionAndSurchargeListLineItemDetails); // Kein DIscount Flag, da das im Word PlugIn sowieso nicht unterstützt ist. //lineItem.DiscountFlag = srcLineItem.DiscountFlag; //lineItem.DiscountFlagSpecified = srcLineItem.DiscountFlagSpecified; } lineItem.Description = srcLineItem.Description?.ToArray(); lineItem.LineItemAmount = srcLineItem.LineItemAmount; //lineItem.ReCalcLineItemAmount(); // Steuer lineItem.TaxItem = MapTaxItemType(srcLineItem.TaxItem); itemListLineItem.Add(lineItem); } itemList.ListLineItem = itemListLineItem.ToArray(); detailsItemList.Add(itemList); } } invoice.Details.ItemList = detailsItemList.ToArray(); #endregion #region Global Reduction and Surcharge // ReductionAndSurchargeDetails [0..1] ReductionAndSurchargeDetailsType // not supported // invoice.ReductionAndSurchargeDetails = MapReductionAndSurchargeDetails(source.ReductionAndSurchargeDetails); // #endregion #region Tax // Tax TaxType invoice.Tax = MapTax(source.Tax); #endregion #region Amount // TotalGrossAmount Decimal2Type invoice.TotalGrossAmount = source.TotalGrossAmount; // PrepaidAmount [0..1] Decimal2Type invoice.PrepaidAmount = source.PrepaidAmount; // RoundingAmount [0..1] Decimal2Type // PayableAmount Decimal2Type invoice.PayableAmount = source.PayableAmount; #endregion // PaymentMethod [0..1] PaymentMethodType invoice.PaymentMethod = MapPaymentMethod(source.PaymentMethod); // PaymentConditions [0..1] PaymentConditionsType invoice.PaymentConditions = MapPaymentConditions(source.PaymentConditions); // Comment [0..1] xs:string invoice.Comment = source.Comment; return(invoice); }
public ItemListSelectable(IMenuItem parent, Vector2 pos, ItemListType type, List <IMenuItem> list = null) : base(parent, pos, type, list) { mSelected = 0; }
/// <summary> /// Mapped ebInterface4p2 InvoiceType auf InvoiceType Model /// </summary> /// <param name="source">ebInterface4p2 InvoiceType</param> /// <returns>InvoiceType Model</returns> internal static IInvoiceModel MapV4P2ToVm(SRC.InvoiceType source) { IInvoiceModel invoice = InvoiceFactory.CreateInvoice(); #region Rechnungskopf invoice.InvoiceNumber = source.InvoiceNumber; invoice.InvoiceDate = source.InvoiceDate; invoice.GeneratingSystem = source.GeneratingSystem; invoice.DocumentTitle = source.DocumentTitle; invoice.DocumentType = source.DocumentType.ConvertEnum <DocumentTypeType>(); invoice.InvoiceCurrency = source.InvoiceCurrency.ToEnum(ModelConstants.CurrencyCodeFixed); // source.InvoiceCurrency.ConvertEnum<CurrencyType>(); if (!string.IsNullOrEmpty(source.Language)) { invoice.Language = source.Language.ToEnum(ModelConstants.LanguangeCodeFixed); //source.Language.ConvertEnum<LanguageType>(); // invoice.LanguageSpecified = true; } else { // invoice.LanguageSpecified = false; invoice.Language = ModelConstants.LanguangeCodeFixed; } invoice.Comment = source.Comment; if (source.CancelledOriginalDocument == null) { invoice.CancelledOriginalDocument = null; } else { invoice.CancelledOriginalDocument = new CancelledOriginalDocumentType() { Comment = source.CancelledOriginalDocument.Comment, DocumentType = source.CancelledOriginalDocument.DocumentType.ConvertEnum <DocumentTypeType>(), DocumentTypeSpecified = source.CancelledOriginalDocument.DocumentTypeSpecified, InvoiceDate = source.CancelledOriginalDocument.InvoiceDate, InvoiceNumber = source.CancelledOriginalDocument.InvoiceNumber }; } #endregion #region Releated Document if (source.RelatedDocument != null && source.RelatedDocument.Any()) { invoice.RelatedDocument = new List <RelatedDocumentType>(); foreach (SRC.RelatedDocumentType relDoc in source.RelatedDocument) { var newRel = new RelatedDocumentType() { Comment = relDoc.Comment, DocumentTypeSpecified = relDoc.DocumentTypeSpecified, InvoiceDateSpecified = relDoc.InvoiceDateSpecified, InvoiceNumber = relDoc.InvoiceNumber }; if (relDoc.InvoiceDateSpecified) { newRel.InvoiceDate = relDoc.InvoiceDate; } if (relDoc.DocumentTypeSpecified) { newRel.DocumentType = relDoc.DocumentType.ConvertEnum <DocumentTypeType>(); } invoice.RelatedDocument.Add(newRel); } } #endregion #region Delivery if (source.Delivery != null) { if (source.Delivery.Item is SRC.PeriodType) { var deliveryType = new PeriodType { FromDate = ((SRC.PeriodType)source.Delivery.Item).FromDate, ToDate = ((SRC.PeriodType)source.Delivery.Item).ToDate }; invoice.Delivery.Item = deliveryType; } else { // Invoice.Delivery.Item = source.Delivery.Item; var period = new PeriodType(); if (source.Delivery.Item != null) { period.FromDate = (DateTime)source.Delivery.Item; } invoice.Delivery.Item = period; // für das Model immer eine Lieferperiode, damit von/bis leichter abgebildet werden kann } } #endregion #region Biller invoice.Biller.VATIdentificationNumber = source.Biller.VATIdentificationNumber; invoice.Biller.InvoiceRecipientsBillerID = source.Biller.InvoiceRecipientsBillerID; invoice.Biller.Address = GetAddress(source.Biller.Address); invoice.Biller.Contact = GetContact(source.Biller.Address); invoice.Biller.FurtherIdentification = GetFurtherIdentification(source.Biller.FurtherIdentification); #endregion #region InvoiceRecipient invoice.InvoiceRecipient.BillersInvoiceRecipientID = source.InvoiceRecipient.BillersInvoiceRecipientID; invoice.InvoiceRecipient.VATIdentificationNumber = source.InvoiceRecipient.VATIdentificationNumber; invoice.InvoiceRecipient.Address = GetAddress(source.InvoiceRecipient.Address); invoice.InvoiceRecipient.Contact = GetContact(source.InvoiceRecipient.Address); invoice.InvoiceRecipient.OrderReference.OrderID = source.InvoiceRecipient.OrderReference.OrderID; invoice.InvoiceRecipient.OrderReference.ReferenceDateSpecified = source.InvoiceRecipient.OrderReference.ReferenceDateSpecified; invoice.InvoiceRecipient.OrderReference.ReferenceDate = source.InvoiceRecipient.OrderReference.ReferenceDate; invoice.InvoiceRecipient.FurtherIdentification = GetFurtherIdentification(source.InvoiceRecipient.FurtherIdentification); #endregion #region Details invoice.Details.HeaderDescription = source.Details.HeaderDescription; invoice.Details.FooterDescription = source.Details.FooterDescription; invoice.Details.ItemList = new List <ItemListType>(); if (source.Details.ItemList != null) { foreach (SRC.ItemListType srcItemList in source.Details.ItemList) { ItemListType item = new ItemListType { ListLineItem = new List <ListLineItemType>() }; foreach (SRC.ListLineItemType srcLineItem in srcItemList.ListLineItem) { ListLineItemType lineItem = new ListLineItemType { AdditionalInformation = null, PositionNumber = srcLineItem.PositionNumber, Description = new List <string>() }; if (srcLineItem.Description != null) { lineItem.Description = srcLineItem.Description.ToList(); } lineItem.ArticleNumber = GetArtikelList(srcLineItem.ArticleNumber); // Menge lineItem.Quantity = new UnitType { Unit = srcLineItem.Quantity.Unit, Value = srcLineItem.Quantity.Value }; // Einzelpreis lineItem.UnitPrice = new UnitPriceType() { Value = srcLineItem.UnitPrice.Value }; // Auftragsreferenz lineItem.InvoiceRecipientsOrderReference.OrderID = srcLineItem.InvoiceRecipientsOrderReference.OrderID; lineItem.InvoiceRecipientsOrderReference.OrderPositionNumber = srcLineItem.InvoiceRecipientsOrderReference.OrderPositionNumber; // Rabatte / Zuschläge if (srcLineItem.ReductionAndSurchargeListLineItemDetails != null) { lineItem.ReductionAndSurchargeListLineItemDetails = GetReductionDetails(srcLineItem.ReductionAndSurchargeListLineItemDetails); } lineItem.Description = new List <string>(); if (srcLineItem.Description != null) { lineItem.Description = srcLineItem.Description.ToList(); } //lineItem.LineItemAmount = srcLineItem.LineItemAmount; lineItem.ReCalcLineItemAmount(); // Steuer lineItem.TaxItem = MapVatItemType2Vm(srcLineItem.Item, lineItem.LineItemAmount); item.ListLineItem.Add(lineItem); } invoice.Details.ItemList.Add(item); } } if (source.Details.BelowTheLineItem != null) { // if (source.Details.BelowTheLineItem.Length > 0) // { // List<BelowTheLineItemType> belowItems = new List<BelowTheLineItemType>(); // foreach (SRC.BelowTheLineItemType item in source.Details.BelowTheLineItem) // { // belowItems.Add(new BelowTheLineItemType() // { // Description = item.Description, // LineItemAmount = item.LineItemAmount // }); // } // Invoice.Details.BelowTheLineItem.AddRange(belowItems); // } Mapping.MapInvoice.MappingErrors.Add(new MappingError(source.Details.BelowTheLineItem.GetType(), "BelowTheLineItem nicht konvertiert.")); } #endregion #region Tax invoice.CalculateTotals(); #endregion #region Amount invoice.TotalGrossAmount = source.TotalGrossAmount; invoice.PayableAmount = source.PayableAmount; #endregion #region PaymentMethod invoice.PaymentMethod.Comment = source.PaymentMethod.Comment; if (source.PaymentMethod.Item != null && source.PaymentMethod.Item.GetType() == typeof(SRC.UniversalBankTransactionType)) { SRC.UniversalBankTransactionType txType = source.PaymentMethod.Item as SRC.UniversalBankTransactionType; invoice.PaymentMethod = new PaymentMethodType { Item = new UniversalBankTransactionType() }; ((UniversalBankTransactionType)invoice.PaymentMethod.Item).BeneficiaryAccount = new List <AccountType>() { new AccountType() { BIC = txType.BeneficiaryAccount[0].BIC, BankName = txType.BeneficiaryAccount[0].BankName, IBAN = txType.BeneficiaryAccount[0].IBAN, BankAccountOwner = txType.BeneficiaryAccount[0].BankAccountOwner }, }; } #endregion #region PaymentConditions invoice.PaymentConditions.DueDate = source.PaymentConditions.DueDate; if (source.PaymentConditions.Discount != null) { invoice.PaymentConditions.Discount.Clear(); foreach (SRC.DiscountType srcDiscount in source.PaymentConditions.Discount) { DiscountType discount = new DiscountType() { Amount = srcDiscount.Amount, AmountSpecified = srcDiscount.AmountSpecified, BaseAmount = srcDiscount.BaseAmount, BaseAmountSpecified = srcDiscount.BaseAmountSpecified, PaymentDate = srcDiscount.PaymentDate, Percentage = srcDiscount.Percentage, PercentageSpecified = srcDiscount.PercentageSpecified }; invoice.PaymentConditions.Discount.Add(discount); } } #endregion return(invoice); }
/// <summary> /// Fetches and randomly retrieves a skin item of specified type /// </summary> /// <param name="itemListType">Type file</param> /// <param name="skinData">Skin data to look through</param> /// <returns></returns> public static SkinDataItem GetItem(ItemListType itemListType, RootSkinData skinData, SocketCommandContext context, bool byPassCaseFilter) { List <KeyValuePair <string, SkinDataItem> > sortedResult = new List <KeyValuePair <string, SkinDataItem> >(); //Get user from dictionary if (!CsgoUnboxingHandler.userSelectedCase.TryGetValue(context.Message.Author.Id, out var userSelectedCaseName)) { //Default to danger zone case if user has not made a selection CsgoUnboxingHandler.userSelectedCase.Add(context.Message.Author.Id, "Danger Zone Case"); } //Filter skins to those in user's case string selectedCase = CsgoUnboxingHandler.csgoContiners.Containers.Where(s => s.Name == CsgoUnboxingHandler.userSelectedCase[context.Message.Author.Id]).Select(s => s.Name).FirstOrDefault(); //Add skins matching user's case to sorted result if (byPassCaseFilter == false) { //Find items matching filter case criteria, add to sortedResult ...!!!!Store this in the future to make this process more efficient foreach (var item in skinData.ItemsList) { if (item.Value.Cases != null) { foreach (var item2 in item.Value.Cases) { if (item2.CaseName == selectedCase) { sortedResult.Add(item); } } } } } else { //If bypass is true, sorted result is just root skinData //sortedResult = skinData.ItemsList.ToDictionary(x => x.Key, y => y.Value).ToList(); //Add collection items, E.g Mirage collection, Nuke collection for drop, which has null for casesName foreach (var item in skinData.ItemsList) { if (item.Value.Cases != null) { foreach (var item2 in item.Value.Cases) { if (item2.CaseName == null) { sortedResult.Add(item); } } } } } //Filter by rarity sortedResult = sortedResult.Where(s => s.Value.Rarity == itemListType.Rarity).ToList(); //If weaponType is not null, filter by weapon type if (itemListType.WeaponType != null) { sortedResult = sortedResult .Where(s => s.Value.WeaponType == itemListType.WeaponType).ToList(); } //If blackListWeaponType is not null, filter by weapon type if (itemListType.BlackListWeaponType != null) { sortedResult = sortedResult .Where(s => s.Value.WeaponType != itemListType.BlackListWeaponType).ToList(); } //If case is not a souvenir, filter out souvenir items, if it is, filter out non souvenir items if (byPassCaseFilter == false && CsgoUnboxingHandler.csgoContiners.Containers.Where(c => c.Name == selectedCase).FirstOrDefault().IsSouvenir) { //True sortedResult = sortedResult.Where(s => s.Value.Name.ToLower().Contains("souvenir")).ToList(); } else { //False sortedResult = sortedResult.Where(s => !s.Value.Name.ToLower().Contains("souvenir")).ToList(); } //Filter out stattrak, stickers, music kits, and graffiti sortedResult = sortedResult .Where(s => !s.Value.Name.ToLower().Contains("stattrak")) .Where(s => !s.Value.Name.ToLower().Contains("sticker")) .Where(s => !s.Value.Name.ToLower().Contains("music kit")) .Where(s => !s.Value.Name.ToLower().Contains(" pin")) .Where(s => !s.Value.Name.ToLower().Contains("graffiti")).ToList(); //Randomly select a skin from the filtered list of possible skins var selectedSkin = sortedResult[rand.Next(sortedResult.Count())]; bool giveStatTrak = CalculateStatTrakDrop(); //Give stattrak if (giveStatTrak == true) { var selectedStatTrakItem = skinData.ItemsList .Where(s => s.Value.Name.ToLower().Contains(selectedSkin.Value.Name.ToLower())) .Where(s => s.Value.Name.ToLower().Contains("stattrak")).FirstOrDefault(); //If filter was unsuccessful at finding stattrak, do not assign item if (selectedStatTrakItem.Value != null) { selectedSkin = selectedStatTrakItem; } } return(selectedSkin.Value); }
/// <summary> /// Converts the Viewmodel DetailsViewModelList to Model ItemListType /// </summary> /// <param name="detailsList">The details list.</param> /// <param name="orderId">The order identifier.</param> /// <returns>List of ItemListType</returns> public static List <ItemListType> ConvertToItemList(BindingList <DetailsViewModel> detailsList, string orderId) { ItemListType itemList = new ItemListType { ListLineItem = new List <ListLineItemType>() }; int posNr = 1; foreach (DetailsViewModel details in detailsList) { ListLineItemType lineItem = new ListLineItemType { ArticleNumber = new List <ArticleNumberType>() { new ArticleNumberType() { Value = details.ArtikelNr } }, Description = new List <string>() { details.Bezeichnung }, PositionNumber = posNr.ToString() }; posNr++; lineItem.InvoiceRecipientsOrderReference.OrderID = orderId; lineItem.InvoiceRecipientsOrderReference.OrderPositionNumber = details.BestellBezug; lineItem.UnitPrice = new UnitPriceType() { Value = details.EinzelPreis }; TaxItemType taxItem = new TaxItemType() { TaxableAmount = details.NettoBetragZeile, TaxPercent = new TaxPercentType() { TaxCategoryCode = details.VatItem.Code, Value = details.VatItem.MwStSatz }, TaxAmount = (details.NettoBetragZeile * details.VatItem.MwStSatz / 100).FixedFraction(2) }; if (PlugInSettings.Default.VStBerechtigt) { taxItem.Comment = PlugInSettings.Default.VatDefaultValues .Where(p => p.Code == taxItem.TaxPercent.TaxCategoryCode && p.MwStSatz == taxItem.TaxPercent.Value) .FirstOrDefault().Beschreibung; } else { taxItem.Comment = PlugInSettings.Default.VStText; } lineItem.TaxItem = taxItem; lineItem.Quantity = new UnitType() { Unit = details.Einheit, Value = details.Menge }; if (details.Rabatt != 0) { ReductionAndSurchargeListLineItemDetailsType red = new ReductionAndSurchargeListLineItemDetailsType { ItemsElementName = new List <ItemsChoiceType>() { ItemsChoiceType.ReductionListLineItem }, Items = new List <object>() }; ReductionAndSurchargeBaseType redBase = new ReductionAndSurchargeBaseType { BaseAmount = details.NettoBasisBetrag, Percentage = details.Rabatt, PercentageSpecified = true }; red.Items.Add(redBase); lineItem.ReductionAndSurchargeListLineItemDetails = red; } lineItem.LineItemAmount = details.NettoBetragZeile; itemList.ListLineItem.Add(lineItem); } List <ItemListType> item = new List <ItemListType> { itemList }; return(item); }
/// <summary> /// Mapped ebInterface4p1 InvoiceType auf InvoiceType Model /// </summary> /// <param name="source">ebInterface4p1 InvoiceType</param> /// <returns>InvoiceType Model</returns> internal static IInvoiceModel MapV4P0ToVm(SRC.InvoiceType source) { IInvoiceModel invoice = InvoiceFactory.CreateInvoice(); #region Rechnungskopf invoice.InvoiceNumber = source.InvoiceNumber; invoice.InvoiceDate = source.InvoiceDate; invoice.GeneratingSystem = source.GeneratingSystem; invoice.DocumentTitle = source.DocumentTitle; invoice.DocumentType = source.DocumentType.ConvertEnum <DocumentTypeType>(); invoice.InvoiceCurrency = source.InvoiceCurrency.ConvertEnum <CurrencyType>(); // source.InvoiceCurrency.ConvertEnum<CurrencyType>(); invoice.Language = source.Language.ConvertEnum <LanguageType>(); if (source.CancelledOriginalDocument == null) { invoice.CancelledOriginalDocument = null; } else { invoice.CancelledOriginalDocument = new CancelledOriginalDocumentType() { DocumentTypeSpecified = false, InvoiceNumber = source.CancelledOriginalDocument }; } #endregion #region Delivery if (source.Delivery != null) { if (source.Delivery.Item is SRC.PeriodType) { var deliveryType = new PeriodType { FromDate = ((SRC.PeriodType)source.Delivery.Item).FromDate, ToDate = ((SRC.PeriodType)source.Delivery.Item).ToDate }; invoice.Delivery.Item = deliveryType; } else { var period = new PeriodType(); if (source.Delivery.Item != null) { period.FromDate = (DateTime)source.Delivery.Item; } invoice.Delivery.Item = period; // für das Model immer eine Lieferperiode, damit von/bis leichter abgebildet werden kann } } #endregion #region Biller invoice.Biller.VATIdentificationNumber = source.Biller.VATIdentificationNumber; invoice.Biller.InvoiceRecipientsBillerID = source.Biller.InvoiceRecipientsBillerID; invoice.Biller.Address = GetAddress(source.Biller.Address); invoice.Biller.Contact = GetContact(source.Biller.Address); invoice.Biller.FurtherIdentification = GetFurtherIdentification(source.Biller.FurtherIdentification); #endregion #region InvoiceRecipient invoice.InvoiceRecipient.BillersInvoiceRecipientID = source.InvoiceRecipient.BillersInvoiceRecipientID; invoice.InvoiceRecipient.VATIdentificationNumber = source.InvoiceRecipient.VATIdentificationNumber; invoice.InvoiceRecipient.Address = GetAddress(source.InvoiceRecipient.Address); invoice.InvoiceRecipient.Contact = GetContact(source.InvoiceRecipient.Address); if (source.InvoiceRecipient.OrderReference != null) { invoice.InvoiceRecipient.OrderReference.OrderID = source.InvoiceRecipient.OrderReference.OrderID; invoice.InvoiceRecipient.OrderReference.ReferenceDateSpecified = source.InvoiceRecipient.OrderReference.ReferenceDateSpecified; invoice.InvoiceRecipient.OrderReference.ReferenceDate = source.InvoiceRecipient.OrderReference.ReferenceDate; } invoice.InvoiceRecipient.FurtherIdentification = null; invoice.InvoiceRecipient.SubOrganizationID = source.InvoiceRecipient.SubOrganizationID; invoice.InvoiceRecipient.AccountingArea = source.InvoiceRecipient.AccountingArea; #endregion #region Details invoice.Details.HeaderDescription = source.Details.HeaderDescription; invoice.Details.FooterDescription = source.Details.FooterDescription; invoice.Details.ItemList = new List <ItemListType>(); if (source.Details.ItemList != null) { foreach (SRC.ItemListType srcItemList in source.Details.ItemList) { ItemListType item = new ItemListType { ListLineItem = new List <ListLineItemType>() }; foreach (SRC.ListLineItemType srcLineItem in srcItemList.ListLineItem) { ListLineItemType lineItem = new ListLineItemType { AdditionalInformation = null, PositionNumber = srcLineItem.PositionNumber, Description = new List <string>() }; if (srcLineItem.Description != null) { lineItem.Description = srcLineItem.Description.ToList(); } lineItem.ArticleNumber = GetArtikelList(srcLineItem.ArticleNumber); // Menge lineItem.Quantity = new UnitType { Unit = srcLineItem.Quantity.Unit, Value = srcLineItem.Quantity.Value }; // Einzelpreis lineItem.UnitPrice = new UnitPriceType() { Value = srcLineItem.UnitPrice }; // Auftragsreferenz lineItem.InvoiceRecipientsOrderReference.OrderID = srcLineItem?.InvoiceRecipientsOrderReference?.OrderID; lineItem.InvoiceRecipientsOrderReference.OrderPositionNumber = srcLineItem?.InvoiceRecipientsOrderReference?.OrderPositionNumber; // Rabatte / Zuschläge if (srcLineItem.ReductionAndSurchargeListLineItemDetails != null) { lineItem.ReductionAndSurchargeListLineItemDetails = GetReductionDetails(srcLineItem.ReductionAndSurchargeListLineItemDetails); } lineItem.Description = new List <string>(); if (srcLineItem.Description != null) { lineItem.Description = srcLineItem.Description.ToList(); } lineItem.LineItemAmount = srcLineItem.LineItemAmount; // Steuer lineItem.TaxItem = MapVatItemType2Vm(srcLineItem.TaxRate, lineItem.LineItemAmount); lineItem.ReCalcLineItemAmount(); item.ListLineItem.Add(lineItem); } invoice.Details.ItemList.Add(item); } } #endregion #region Tax invoice.CalculateTotals(); #endregion #region Amount invoice.TotalGrossAmount = source.TotalGrossAmount; invoice.PayableAmount = source.TotalGrossAmount; #endregion #region PaymentMethod invoice.PaymentMethod.Comment = source.PaymentMethod.Comment; { SRC.UniversalBankTransactionType txType = source.PaymentMethod as SRC.UniversalBankTransactionType; invoice.PaymentMethod = new PaymentMethodType { Item = new UniversalBankTransactionType() }; ((UniversalBankTransactionType)invoice.PaymentMethod.Item).BeneficiaryAccount = new List <AccountType>() { new AccountType() { BIC = txType.BeneficiaryAccount.First().BIC, BankName = txType.BeneficiaryAccount.First().BankName, IBAN = txType.BeneficiaryAccount.First().IBAN, BankAccountOwner = txType.BeneficiaryAccount.First().BankAccountOwner }, }; } #endregion #region Paymentconditions invoice.PaymentConditions.DueDate = source.PaymentConditions.DueDate; if (source.PaymentConditions.Discount != null) { invoice.PaymentConditions.Discount.Clear(); foreach (SRC.DiscountType srcDiscount in source.PaymentConditions.Discount) { DiscountType discount = new DiscountType() { Amount = srcDiscount.Amount, AmountSpecified = srcDiscount.AmountSpecified, BaseAmount = srcDiscount.BaseAmount, BaseAmountSpecified = srcDiscount.BaseAmountSpecified, PaymentDate = srcDiscount.PaymentDate, Percentage = srcDiscount.Percentage, PercentageSpecified = srcDiscount.PercentageSpecified }; invoice.PaymentConditions.Discount.Add(discount); } } #endregion return(invoice); }