{"id":18275,"date":"2022-10-30T10:13:26","date_gmt":"2022-10-30T04:43:26","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-how-to-calculate-a-discount-in-linq-closed\/"},"modified":"2022-10-30T10:13:26","modified_gmt":"2022-10-30T04:43:26","slug":"solved-how-to-calculate-a-discount-in-linq-closed","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-how-to-calculate-a-discount-in-linq-closed\/","title":{"rendered":"[Solved] How to Calculate a Discount In LINQ [closed]"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-34287373\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"34287373\" data-parentid=\"34285961\" data-score=\"0\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>Firstly this code is really starting to need a <code>ViewModel<\/code> or some other construct that would enable you to decouple your business logic from your UI.<\/p>\n<p>Having said that, the quick and dirty answer to get you going, would be to implement an interim linq query and then build your results from that<\/p>\n<pre><code>\/\/ From your code\nvar validRows = gridpur.Rows.Cast&lt;GridViewRow&gt;()\n    .Where(r =&gt; ((CheckBox)r.FindControl(\"chkSel\")).Checked);\nvar totals = validRows.Select((r =&gt; \n    double.Parse(((TextBox)r.FindControl(\"txtQuantity\")).Text)\n    * double.Parse(((TextBox)r.FindControl(\"txtUnitprice\")).Text));\n<\/code><\/pre>\n<p>It will also help if we move from linq as extension methods to linq as integrated query syntax, but feel free to mix and match<\/p>\n<pre><code>var validRows = from r in gridpur.Rows.Cast&lt;GridViewRow&gt;()\n    where ((CheckBox)r.FindControl(\"chkSel\")).Checked)\n    select r;\nvar totals = from r in validRows\n   select double.Parse(((TextBox)r.FindControl(\"txtQuantity\")).Text)\n    * double.Parse(((TextBox)r.FindControl(\"txtUnitprice\")).Text));\n<\/code><\/pre>\n<p>We can now introduce let statement and intermediary variables in the query<\/p>\n<pre><code>var totals = from r in validRows\n   let quantity = double.Parse(((TextBox)r.FindControl(\"txtQuantity\")).Text)\n   let unitPrice = double.Parse(((TextBox)r.FindControl(\"txtUnitprice\")).Text))\n   select quantity * unitPrice;\n<\/code><\/pre>\n<p>This has a major benefit of making the query more readable.<\/p>\n<p>Now we can add other columns and calculations<\/p>\n<pre><code>var totals = from r in validRows\n   let quantity = double.Parse(((TextBox)r.FindControl(\"txtQuantity\")).Text)\n   let unitPrice = double.Parse(((TextBox)r.FindControl(\"txtUnitprice\")).Text))\n   let discountPercent = double.Parse(((TextBox)r.FindControl(\"txtDiscount\")).Text) \/ 100.0d\n   select quantity * unitPrice * discountPercent;\n var sumTotals = totals.Sum();\n<\/code><\/pre>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">0<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved How to Calculate a Discount In LINQ [closed] <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] Firstly this code is really starting to need a ViewModel or some other construct that would enable you to decouple your business logic from your UI. Having said that, the quick and dirty answer to get you going, would be to implement an interim linq query and then build your results from that \/\/ &#8230; <a title=\"[Solved] How to Calculate a Discount In LINQ [closed]\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-how-to-calculate-a-discount-in-linq-closed\/\" aria-label=\"More on [Solved] How to Calculate a Discount In LINQ [closed]\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[751,324,578],"class_list":["post-18275","post","type-post","status-publish","format-standard","hentry","category-solved","tag-asp-net","tag-c","tag-linq"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] How to Calculate a Discount In LINQ [closed] - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-how-to-calculate-a-discount-in-linq-closed\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] How to Calculate a Discount In LINQ [closed] - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] Firstly this code is really starting to need a ViewModel or some other construct that would enable you to decouple your business logic from your UI. Having said that, the quick and dirty answer to get you going, would be to implement an interim linq query and then build your results from that \/\/ ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-how-to-calculate-a-discount-in-linq-closed\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-30T04:43:26+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-calculate-a-discount-in-linq-closed\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-calculate-a-discount-in-linq-closed\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] How to Calculate a Discount In LINQ [closed]\",\"datePublished\":\"2022-10-30T04:43:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-calculate-a-discount-in-linq-closed\/\"},\"wordCount\":128,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"asp.net\",\"c++\",\"linq\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-calculate-a-discount-in-linq-closed\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-how-to-calculate-a-discount-in-linq-closed\/\",\"name\":\"[Solved] How to Calculate a Discount In LINQ [closed] - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-10-30T04:43:26+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-calculate-a-discount-in-linq-closed\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-how-to-calculate-a-discount-in-linq-closed\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-calculate-a-discount-in-linq-closed\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] How to Calculate a Discount In LINQ [closed]\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] How to Calculate a Discount In LINQ [closed] - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-how-to-calculate-a-discount-in-linq-closed\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] How to Calculate a Discount In LINQ [closed] - JassWeb","og_description":"[ad_1] Firstly this code is really starting to need a ViewModel or some other construct that would enable you to decouple your business logic from your UI. Having said that, the quick and dirty answer to get you going, would be to implement an interim linq query and then build your results from that \/\/ ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-how-to-calculate-a-discount-in-linq-closed\/","og_site_name":"JassWeb","article_published_time":"2022-10-30T04:43:26+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-how-to-calculate-a-discount-in-linq-closed\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-calculate-a-discount-in-linq-closed\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] How to Calculate a Discount In LINQ [closed]","datePublished":"2022-10-30T04:43:26+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-calculate-a-discount-in-linq-closed\/"},"wordCount":128,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["asp.net","c++","linq"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-how-to-calculate-a-discount-in-linq-closed\/","url":"https:\/\/jassweb.com\/solved\/solved-how-to-calculate-a-discount-in-linq-closed\/","name":"[Solved] How to Calculate a Discount In LINQ [closed] - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-10-30T04:43:26+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-calculate-a-discount-in-linq-closed\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-how-to-calculate-a-discount-in-linq-closed\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-how-to-calculate-a-discount-in-linq-closed\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] How to Calculate a Discount In LINQ [closed]"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/18275","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=18275"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/18275\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=18275"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=18275"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=18275"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}