public ActionResult AddItem(QuoteItem quoteItem, FormCollection form) { var quoteID = form["QuoteID"]; quoteItem.QuoteID = Convert.ToInt32(quoteID); _quoteService.SaveItem(quoteItem); TempData.Add("StatusMessage", "Quote Item added"); return RedirectToAction("View", new { id = quoteItem.QuoteID }); }
public async Task <IActionResult> AddProduct([FromBody] QuoteItem quoteItem) { var orgId = getOrg(); if (quoteItem != null) { quoteItem.Id = Guid.NewGuid(); quoteItem.OrganisationId = orgId; quoteItem.TotalCost = quoteItem.UnitCost * quoteItem.Quantity; try { _context.Add(quoteItem); _context.SaveChanges(); var items = _context.QuoteItems.Where(x => x.QuoteRecordId == quoteItem.QuoteRecordId).ToList(); var qr = _context.QuoteRecords.Where(x => x.Id == quoteItem.QuoteRecordId).FirstOrDefault(); qr.SubTotal = items.Sum(x => x.TotalCost); qr.Tax = qr.SubTotal * 0.05f; qr.Total = qr.SubTotal + qr.Tax; _context.Update(qr); _context.SaveChanges(); return(Json(new { msg = "Success" })); } catch { return(Json(new { msg = "Failed" })); } //StatusMessage = "New Vendor successfully created."; } //StatusMessage = "Error! Check fields..."; //ViewData["StatusMessage"] = StatusMessage; return(Json(new { msg = "No Data" })); }
public HomePageViewModel(ISettingsService settingsService, IDatabaseService databaseService, IToastMessage toastMessage) { _settingsService = settingsService; _databaseService = databaseService; _toastMessage = toastMessage; //_databaseService.DeleteDatabase(); var dbJoke = _databaseService.GetRandomJoke(); if (dbJoke != null) { Joke = dbJoke; } var dbQuote = _databaseService.GetRandomQuote(); if (dbQuote != null) { Quote = new QuoteItem { Tags = dbQuote.Tags.Split(';').ToList(), Icon = dbQuote.Icon, Id = dbQuote.Id, Quote = dbQuote.Quote } } ; var dbMeme = _databaseService.GetRandomMeme(); if (dbMeme != null) { Meme = new MemeDbItem { Image = dbMeme.Image, Id = dbMeme.Id } } ; InitSettings(); if (!ExtensionMethods.IsConnected()) { _toastMessage.ShowToast(notConnectedMessage); } }
// GET: QuoteItems/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } QuoteItem quoteItem = db.QuoteItems.Find(id); if (quoteItem == null) { return(HttpNotFound()); } return(View(quoteItem)); }
public ActionResult AddQuoteItem(QuoteItem item) { Material material; List <WasteFactor> wasteFactors = new List <WasteFactor>(); using (var mm = new MaterialsManager()) { material = mm.SingleMaterial(item.MaterialID.GetValueOrDefault()); } using (var qm = new QuoteManager()) { var quote = qm.Single(item.QuoteID); using (var wfm = new WasteFactorManager()) { wasteFactors = wfm.ByCompany(quote.CompanyID.GetValueOrDefault()).ToList(); } decimal wasteFactor = wasteFactors.Any( wf => wf.ProductID == item.ProductID && wf.ProductLineID == item.ProductLineID) ? wasteFactors.First( wf => wf.ProductID == item.ProductID && wf.ProductLineID == item.ProductLineID) .WasteFactor1.GetValueOrDefault() : 0M; // calculate the amount and save switch (item.Measurement) { case (Measurement.SquareFeet): if (item.SquareFt.GetValueOrDefault() == 0) { item.SquareFt = item.Height * item.Width; } var pieceSqFt = (material.Height - material.Overlap.GetValueOrDefault()) * (1M / 12M) * material.Width; var pieces = Math.Ceiling((decimal)(item.SquareFt.GetValueOrDefault() * (1M + wasteFactor) / pieceSqFt)); item.Amount = pieces * material.UnitCost; break; case (Measurement.LinearFeet): item.Amount = item.LinearFt * (1M + wasteFactor) * material.UnitCost / material.Width; break; case (Measurement.Constant): item.Amount = item.Dollars; break; } item = qm.CreateItem(item); } return(RedirectToAction("Edit", new { id = item.QuoteID })); }
public decimal CalculateProductsComponent(QuoteItem quoteItem, IList <int> modelTypes) { var listQuery = this.Context.ProductAccessories .Where(a => a.ParentProductId == quoteItem.ProductId && a.RequirementTypeId == (int)RequirementTypeEnums.Standard); if (modelTypes != null) { listQuery = listQuery.Where(a => modelTypes.Contains(a.Product.ProductModelTypeId)); } var listCount = listQuery.ToList(); return(listCount.Count > 0 ? listCount.Sum(i => i.Quantity * quoteItem.Quantity) : (quoteItem == null) ? 0 : quoteItem.Quantity); }
public int SaveItem(QuoteItem quoteItem) { if (quoteItem.ID == 0) { Context.QuoteItem.Add(quoteItem); } else { Context.QuoteItem.Attach(quoteItem); Context.Entry(quoteItem).State = System.Data.Entity.EntityState.Modified; } Context.SaveChanges(); return(quoteItem.ID); }
public async void RequestQuote() { try { if (!string.IsNullOrEmpty(quoteUrl)) { Scroll = ScrollEnum.Scroll; var quotes = await _tronaldDumpService.GetQuoteAsync(quoteUrl); if (quotes != null) { var id = 1; if (Quotes.Count > 0) { id = Quotes.Last().Id + 1; } var quote = new QuoteItem { Id = id, Quote = quotes.value, Tags = quotes.tags, Icon = iconUrl }; Quotes.Add(quote); if (Device.RuntimePlatform == Device.Android || Device.RuntimePlatform == Device.UWP) { await _databaseService.AddQuote(new QuoteDbItem { Icon = quote.Icon, Id = quote.Id, Quote = quote.Quote, Tags = String.Join(";", quote.Tags.ToArray()) }); } } else { _toastMessage.ShowToast(commonErrorMessage); } } else { _toastMessage.ShowToast(apiErrorMessage); } } catch { _toastMessage.ShowToast(commonErrorMessage); } }
// GET: QuoteItems/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } QuoteItem quoteItem = db.QuoteItems.Find(id); if (quoteItem == null) { return(HttpNotFound()); } ViewBag.AssayID = new SelectList(db.ProtocolNotebooks, "AssayID", "AssayName", quoteItem.AssayID); ViewBag.QuoteID = new SelectList(db.QuoteEstimates, "QuoteID", "ModifiedBy", quoteItem.QuoteID); return(View(quoteItem)); }
private bool LoadProductForQuoteItem(QuoteItem item) { if (item == null) { return(false); } if (item.Product == null) { item.Product = Db.Context.Products .Where(w => w.ProductId == item.ProductId) .FirstOrDefault(); } return(item.Product == null ? false : true); }
public virtual QuoteItem ToQuoteItem(Product product, long quantity) { var retVal = new QuoteItem(); retVal.InjectFrom <NullableAndEnumValueInjecter>(product); retVal.Id = null; retVal.ImageUrl = product.PrimaryImage != null ? product.PrimaryImage.Url : null; retVal.ListPrice = product.Price.ListPrice; retVal.ProductId = product.Id; retVal.SalePrice = product.Price.SalePrice; retVal.ProposalPrices.Add(new TierPrice(product.Price.SalePrice, quantity)); retVal.SelectedTierPrice = retVal.ProposalPrices.First(); return(retVal); }
private async Task <IEnumerable <QuoteItem> > MapAsync(Basket basket) { var items = new List <QuoteItem>(); foreach (var item in basket.Items) { var catalogItem = await _itemRepository.GetByIdAsync(item.CatalogItemId); var itemOrdered = new CatalogItemExcerpt( catalogItem.Id, catalogItem.Gtin, catalogItem.GtinRegistryId, catalogItem.Name, catalogItem.PictureUri); var quoteItem = new QuoteItem(itemOrdered, item.UnitPrice, item.Quantity); items.Add(quoteItem); } return(items); }
public static QuoteItem ToQuoteItem(this Product product, long quantity) { var quoteItem = new QuoteItem(); quoteItem.InjectFrom <NullableAndEnumValueInjecter>(product); quoteItem.Id = null; quoteItem.ImageUrl = product.PrimaryImage != null ? product.PrimaryImage.Url : null; quoteItem.ListPrice = product.Price.ListPrice; quoteItem.ProductId = product.Id; quoteItem.SalePrice = product.Price.SalePrice; quoteItem.ProposalPrices.Add(new TierPrice(product.Price.SalePrice, quantity)); quoteItem.SelectedTierPrice = quoteItem.ProposalPrices.First(); return(quoteItem); }
private void OnAdvise(object sender, DdeAdviseEventArgs args) { DdeClient dc = (DdeClient)sender; string key = dc.Service + "|" + dc.Topic + "!" + args.Item; try { QuoteItem tmpItem = collectData[key]; collectData[key].value = args.Data; foreach (string strItem in tmpItem.sendItem) { DDEServer.Advise(myTopic, strItem); } } catch { } }
public QuoteItem GetQuoteItem(int quoteId, int quoteItemId) { Quote q = GetById(quoteId); List <QuoteItem> lst = new List <QuoteItem>(q.QuoteItems); QuoteItem qi = lst.Find(delegate(QuoteItem record) { if (record.ID == quoteItemId) { return(true); } return(false); }); return(qi); }
public int CalculateVRVIndoor(QuoteItem item) { if (!LoadProductForQuoteItem(item)) { return(0); } var prod = item.Product; if (prod.ProductModelTypeId == (int)ProductModelTypeEnum.Indoor && prod.ProductFamilyId == (int)ProductFamilyEnum.VRV) { return(CalculateProductsComponent(new QuoteItem[] { item }, new int[] { (int)ProductModelTypeEnum.Outdoor })); } return(0); }
public int CalculateRTU(QuoteItem item) { if (!LoadProductForQuoteItem(item)) { return(0); } var prod = item.Product; if (prod.ProductModelTypeId == (int)ProductModelTypeEnum.Outdoor && (prod.ProductFamilyId == (int)ProductFamilyEnum.LightCommercialSplitSystem || prod.ProductFamilyId == (int)ProductFamilyEnum.LightCommercialPackagedSystem)) { return(CalculateProductsComponent(new QuoteItem[] { item })); } return(0); }
public async Task <ActionResult <QuoteItem> > PostQuoteItem(QuoteItem quoteItem) { _context.QuoteItems.Add(quoteItem); if (quoteItem.author == "") { ModelState.AddModelError("Author", "Не добавлен автор"); } // если есть ошибки - возвращаем ошибку 400 if (!ModelState.IsValid) { return(BadRequest(ModelState)); } await _context.SaveChangesAsync(); return(CreatedAtAction("GetQuoteItem", new { id = quoteItem.Id }, quoteItem)); }
public static QuoteModule.Client.Model.QuoteItem ToQuoteServiceModel(this QuoteItem webModel) { var serviceModel = new QuoteModule.Client.Model.QuoteItem(); serviceModel.InjectFrom <NullableAndEnumValueInjecter>(webModel); serviceModel.Currency = webModel.Currency.Code; serviceModel.ListPrice = (double)webModel.ListPrice.Amount; serviceModel.ProposalPrices = webModel.ProposalPrices.Select(pp => pp.ToQuoteServiceModel()).ToList(); serviceModel.SalePrice = (double)webModel.SalePrice.Amount; if (webModel.SelectedTierPrice != null) { serviceModel.SelectedTierPrice = webModel.SelectedTierPrice.ToQuoteServiceModel(); } return(serviceModel); }
public virtual quoteDto.QuoteItem ToQuoteItemDto(QuoteItem quoteItem) { var serviceModel = new quoteDto.QuoteItem(); serviceModel.InjectFrom <NullableAndEnumValueInjecter>(quoteItem); serviceModel.Currency = quoteItem.Currency.Code; serviceModel.ListPrice = (double)quoteItem.ListPrice.Amount; serviceModel.ProposalPrices = quoteItem.ProposalPrices.Select(ToQuoteTierPriceDto).ToList(); serviceModel.SalePrice = (double)quoteItem.SalePrice.Amount; if (quoteItem.SelectedTierPrice != null) { serviceModel.SelectedTierPrice = ToQuoteTierPriceDto(quoteItem.SelectedTierPrice); } return(serviceModel); }
private static void NotifyInvoiceChanged(QuoteItem obj) { Quote quote = null; if (obj is PurchaseQuoteItem) { quote = ((PurchaseQuoteItem)obj).PurchaseQuote; } if (obj is SalesQuoteItem) { quote = ((SalesQuoteItem)obj).SalesQuote; } if (quote != null) { quote.Recalculate("Total"); quote.Recalculate("TotalNet"); } }
protected void rptQuoteLine_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { QuoteItem qi = (e.Item.DataItem as QuoteItem); if (qi != null) { TotalCount = TotalCount + qi.Subtotal; QuoteLineEditor qle = (e.Item.FindControl("QuoteLineEditor1") as QuoteLineEditor); qle.Mode = EditionMode.View; qle.QuoteId = QuoteId; qle.QuoteItemId = qi.ID; qle.QuoteItem = qi; qle.DataBind(); } } }
protected override RequestResult OnRequest(DdeConversation conversation, string item, int format) { if (format == 1) { string key = item; try { QuoteItem tmpddeItem = sendData[key]; return(new RequestResult(sendData[key].value)); //return new RequestResult(dic_clients[tmpddeItem.collectServer + "|"+ tmpddeItem.collectTopic].Request(tmpddeItem.collectItem,1,1000)); } catch { //return new RequestResult(sendData[key].value); } } return(RequestResult.NotProcessed); }
public async Task Handle(AddQuoteItemToQuoteCommand message) { var quote = await _quoteRepository.GetById(message.QuoteId); var quoteItem = QuoteItem.Create(message.Name, message.Description, message.Total); quote.AddQuoteItem(quoteItem); await _unitOfWork.SaveChangesAsync(); message.Id = quoteItem.Id; // Optional: var quoteItemAddedToQuoteEvent = new QuoteItemAddedToQuoteEvent { QuoteId = quote.Id, QuoteItemId = quoteItem.Id }; await _bus.RaiseEvent(quoteItemAddedToQuoteEvent); }
public void InsertQuoteItem(QuoteItem qi) { // Calculate Line Total and Tax Total if (qi.taxable) { qi.tax_total = 0.10 * (qi.qty * qi.rate); } else { qi.tax_total = 0.00; } qi.line_total = (qi.qty * qi.rate) + qi.tax_total; try { connection = new SQLiteConnection(connection_String); connection.Open(); cmd = connection.CreateCommand(); cmd.Parameters.Add(new SQLiteParameter("@jobno", qi.jobno)); cmd.Parameters.Add(new SQLiteParameter("@qty", qi.qty)); cmd.Parameters.Add(new SQLiteParameter("@item", qi.item)); cmd.Parameters.Add(new SQLiteParameter("@rate", qi.rate)); cmd.Parameters.Add(new SQLiteParameter("@descr", qi.descr)); cmd.Parameters.Add(new SQLiteParameter("@grouping", qi.grouping)); cmd.Parameters.Add(new SQLiteParameter("@taxable", qi.taxable)); cmd.Parameters.Add(new SQLiteParameter("@discountable", qi.discountable)); cmd.Parameters.Add(new SQLiteParameter("@printable", qi.printable)); cmd.Parameters.Add(new SQLiteParameter("@line_total", qi.line_total)); cmd.Parameters.Add(new SQLiteParameter("@tax_total", qi.tax_total)); cmd.Parameters.Add(new SQLiteParameter("@tab_index", qi.tab_index)); cmd.Parameters.Add(new SQLiteParameter("@row_index", qi.row_index)); cmd.CommandText = String.Format("INSERT into QTE_ITEMS VALUES (@qty, @item, @rate, @descr, @grouping, @taxable,@discountable,@printable,@jobno,@line_total,@tax_total,@tab_index,@row_index)"); cmd.ExecuteNonQuery(); connection.Close(); } catch (Exception ex) { System.Windows.MessageBox.Show(ex.Message); } }
public QuoteItem AddItem(QuoteItemProductData productData) { if (productData == null) { throw new BusinessRuleException("The quote item must have a product."); } if (productData.Quantity == 0) { throw new BusinessRuleException("The product quantity must be at last 1."); } var quoteItem = new QuoteItem(Guid.NewGuid(), productData.ProductId, productData.Quantity); _items.Add(quoteItem); return(quoteItem); }
public QuoteItem Edit(int?id) { var editItem = new QuoteItem(); if (id != 0) { var item = Db.Quotes .Select(x => new QuoteItem { Id = x.Id, Name = x.Name, CompanyName = x.Company.Name, CompanyId = x.CompanyId, CustomDesign = x.CustomDesign }) .FirstOrDefault(x => x.Id == id); return(item); } return(editItem); }
public QuoteItemModel(QuoteItem item) { var product = item.Product; var serialisedItem = item.SerialisedItem; this.Product = serialisedItem?.Name ?? product?.Name; this.Description = serialisedItem?.Description ?? product?.Description; this.Details = item.Details; this.Quantity = item.Quantity; // TODO: Where does the currency come from? var currency = "€"; this.Price = item.UnitPrice.ToString("0.00") + " " + currency; // TODO: Make TotalPrice a derived field on ProductQuote var totalPrice = item.Quantity * item.UnitPrice; this.Amount = totalPrice.ToString("0.00") + " " + currency; this.Comment = item.Comment; }
public Quote GetQuote(string id) { #region 填充测试数据 Quote quote = new Quote(); quote.Id = id; quote.Company = "MarvellousWorks"; QuoteItem[] items = new QuoteItem[2]; items[0] = new QuoteItem(); items[0].ProductID = 1; items[0].Price = 220; items[0].QuantitiveInStock = 10; items[1] = new QuoteItem(); items[1].ProductID = 2; items[1].Price = 3.4; items[1].QuantitiveInStock = 3000; quote.Items = items; #endregion return(quote); }
public int CalculateSplitOutdoor(QuoteItem item) { if (!LoadProductForQuoteItem(item)) { return(0); } var prod = item.Product; if ((prod.ProductModelTypeId == (int)ProductModelTypeEnum.Outdoor || prod.ProductModelTypeId == (int)ProductModelTypeEnum.System) && (prod.ProductFamilyId == (int)ProductFamilyEnum.MiniSplit || prod.ProductFamilyId == (int)ProductFamilyEnum.AlthermaSplit || prod.ProductFamilyId == (int)ProductFamilyEnum.SkyAir || prod.ProductFamilyId == (int)ProductFamilyEnum.MultiSplit)) { return(CalculateProductsComponent(new QuoteItem[] { item }, new int[] { (int)ProductModelTypeEnum.Outdoor })); } return(0); }
private QuoteItem fetchMemItemMatch(EntityVersion newVersion, Code langCode, Code memCode, Code wordCode, int quantity, decimal rate, ref int sequence, QuoteItem[] existingItems) { QuoteItem storeItem = null; // We have a new Item if (storeItem == null) { storeItem = new QuoteItem(); storeItem.Quote_IID = newVersion.IID; storeItem.Quote_Version_IID = newVersion.Entity_Version_IID; storeItem.Language_CID = langCode; storeItem.Sequence_Number = sequence; storeItem.Charge_Item_CID = memCode; storeItem.Quantity = quantity; storeItem.Unit_CID = wordCode; storeItem.Unit_Rate = rate; } return(storeItem); }