public static string GetPriceList(this InsiderEntity i) { string overridePriceList = i.OverridePriceList(); if (overridePriceList != "") { return(overridePriceList); } string userPriceList = i.PriceList; string prefix = Functions.GetIntlPrefix(userPriceList); if (prefix == "SA") { userPriceList = userPriceList.Substring(3); prefix = ""; } string companyNo = i.GetCompanyNo(); if (i.IsConsultant() && (companyNo == Constants.COMPANY_NO.ASIA || companyNo == Constants.COMPANY_NO.MIDDLE_EAST)) { return(prefix + "EU"); } else if (i.MSRP == 1) { return(prefix + "EU"); } else if (i.GetLoginType() == Constants.LOGIN.EDUCATOR && i.ECC == "US" && i.PriceList == "EU") { return("GOVS"); } return(userPriceList); }
public static bool IsAussieDistributor(this InsiderEntity i) { if (i.AccountNo == "03*AS0612" || i.Email.EndsWith("@extron.com.au")) { return(true); } return(false); }
public PartialViewResult EmbeddedArticle(string articlehandle) { ExtronWeb.Models.Article article = new ExtronWeb.Models.Article(); InsiderEntity currentInsider = Insider.GetCurrentInsider(); var model = article.GetArticle(articlehandle, currentInsider); return(PartialView("../Widgets/EmbeddedArticle", model)); }
public static string GetDefaultHome(this InsiderEntity i) { Constants.LOGIN loginType = i.GetLoginType(); switch (loginType) { } return("/"); }
// TODO: need to enable role manager public static string GetUserRoles(this InsiderEntity i) { string[] roles = System.Web.Security.Roles.GetRolesForUser(i.Email); for (int r = 0; r < roles.Length; r++) { roles[r] = GetRole(roles[r]).ToString(); } return(String.Join(",", roles)); }
public static string GetPriceClassDescription(this InsiderEntity i) { using (var db = DBConn.Open("DB_WEB")) { string qry = "SELECT Description FROM tbl_PriceClass_L WHERE PriceClass = @PriceClass"; var desc = db.Query(qry, new { PriceClass = i.PriceClass }).FirstOrDefault().ToString(); return(desc); } }
public static bool CanViewEdContractPricing(this InsiderEntity i) { if (i.GetLoginType() == Constants.LOGIN.DEALER && (PRICING)i.MSRP == PRICING.PRICE_LIST_CONTRACT_PRICE && i.PriceList != "GOVS" && i.Country == "UNITED STATES") { return(true); } return(false); }
public IHttpActionResult Get() { InsiderEntity insider = Insider.GetCurrentInsider(); if (insider == null) { return(NotFound()); } return(Ok(insider)); }
public static Constants.LOGIN GetLoginType(this InsiderEntity i) { var type = i.FKAccountTypeID; if (Enum.IsDefined(typeof(Constants.LOGIN), type)) { return((Constants.LOGIN)type); } return(Constants.LOGIN.NONE); }
public static string GetAddressLabel(this InsiderEntity i) { string addressBlock = i.GetFullName() + "<br>" + i.Address1 + "<br>" + i.Address2 + "<br>" + i.Address3 + "<br>" + i.GetCityStateZip() + "<br>" + i.Country; return(addressBlock); }
public static string GetBillingAddressLabel(this InsiderEntity i) { string addressBlock = i.BillingName + "<br>" + i.BillingAddress1 + "<br>" + i.BillingAddress2 + "<br>" + i.BillingAddress3 + "<br>" + i.GetBillingCityStateZip() + "<br>" + i.BillingCountry; return(addressBlock); }
// GET: Article public ActionResult Index(string articlehandle) { ExtronWeb.Models.Article article = new ExtronWeb.Models.Article(); InsiderEntity currentInsider = Insider.GetCurrentInsider(); var model = article.GetArticle(articlehandle, currentInsider); if (model != null) { return(View(model)); } return(Redirect("/")); }
public IHttpActionResult GetPricing(string partnum) { InsiderEntity insider = Insider.GetCurrentInsider(); AvantePricingEntity pricing = Price.GetInsiderPrice(partnum, insider); ProdPricing result = new ProdPricing() { YourPrice = pricing.DealerPrice.GetPrice(), MSRP = pricing.ListPrice.GetPrice() }; return(Ok(result)); }
public static bool HasMsrpPricingException(this InsiderEntity i) { if (!i.CanViewPricing()) { return(true); } // Per Minnie Tan: do not show MSRP to Asia resellers if (Functions.TerritoryInAsia(i.Territory) && !i.IsAussieDistributor() && i.PriceList != "EU") { return(true); } return(false); }
private static InsiderEntity GetInsiderEntity(string email) { using (var db = DBConn.Open("DB_WEB_STG")) { string qry = "SELECT tbl_DealerOnly.*" + " from tbl_DealerOnly where Email = @Email"; InsiderEntity model = db.Query <InsiderEntity>(qry, new { Email = email }).FirstOrDefault(); if (model != null) { GetAvanteData(model); if (model.FirstName != null) { return(model); } } } return(null); }
public static string OverridePriceList(this InsiderEntity i) { if (i.Email.EndsWith("@extron.com")) { int recording; int.TryParse(HttpContext.Current.Response.Cookies["recording"].Value, out recording); if (recording > 0) { using (var db = DBConn.Open("DB_WEB")) { string qry = "SELECT ISNULL(PriceList, '') AS OverridePriceList, WantMsrp FROM tbl_DeckSession WHERE PKSessionID = @SessionId"; string overridePriceList = db.Query(qry, new { SessionId = recording }).FirstOrDefault().ToString(); return(overridePriceList); } } } return(""); }
public static AvantePricingEntity GetInsiderPrice(string partnum, InsiderEntity insider, bool applyDiscounts = true) { if (insider.AccountNo == "") { return(null); // new PriceEntity() { value = NO_ACCESS }; } AvantePricingEntity p = GetAvantePricing(partnum, insider, applyDiscounts); if (insider.IsMSRPOnly()) { p.DealerPrice = CALL_PRICING; } if (insider.HasMsrpPricingException()) { p.ListPrice = CALL_PRICING; } return(p); }
public static PRICING GetPricingAccess(this InsiderEntity i) { switch (i.MSRP) { case 0: return(PRICING.PRICE_LIST); case 1: return(PRICING.MSRP_ONLY); case 2: return(PRICING.NO_PRICING); case 3: return(PRICING.PRICE_LIST_CONTRACT_PRICE); default: return(PRICING.NO_PRICING); } }
public static bool IsVerticalMarketIntegrator(this InsiderEntity i) { if (i.PriceClass.Contains(PRICE_CLASS.VERTICAL_MARKET_INTEGRATOR) || i.PriceClass.Contains(PRICE_CLASS.KEY_CORPORATE) || i.PriceClass.Contains(PRICE_CLASS.COMPANY_O2_KEY_CORPORATE)) { return(true); } switch (i.PriceClass) { case PRICE_CLASS.GOVERNMENT: case PRICE_CLASS.MANUFACTURER_SALES: case PRICE_CLASS.MANUFACTURER_SPECIAL: return(true); default: return(false); } }
public static InsiderEntity GetCurrentInsider() { if (!HttpContext.Current.Request.IsAuthenticated) { return(new InsiderEntity()); } var user = HttpContext.Current.Request.GetOwinContext().Authentication.User; var jwtToken = new JwtSecurityToken(user.FindFirst("id_token").Value); string email = jwtToken.Subject; InsiderEntity model = MemoryCache.Default.Get(Constants.USER_CACHE_PREFIX + email) as InsiderEntity; if (model == null) { model = GetInsiderEntity(email); MemoryCache.Default.Add(Constants.USER_CACHE_PREFIX + email, model, DateTime.Now.AddMinutes(60)); } if (model.Email != "*****@*****.**") { SetUserRegionLanguage(model.Territory, model.LangPref); } return(model); }
public JsonResult SubmitTopicFeedback(ExtronWeb.Models.Help.Help.FeedbackEntity feedback) { var model = new TopicViewModel(); InsiderEntity currentInsider = Insider.GetCurrentInsider(); if (currentInsider.Email == null) { feedback.Email = "NO_LOGIN"; } else { feedback.Email = currentInsider.Email; } feedback.UserAgent = HttpContext.Request.UserAgent; feedback.IPAddress = Request.UserHostAddress; if (model.SubmitTopicFeedback(feedback)) { return(Json(feedback)); } return(null); }
public static bool IsEducatorK12(this InsiderEntity i) { return(i.PriceClass.Equals(PRICE_CLASS.EDUCATION_K12)); }
public static string GetBillingCityStateZip(this InsiderEntity i) { return(i.BillingCity + ", " + i.BillingState + " " + i.BillingZip); }
public ActionResult Login() { InsiderEntity currentInsider = Insider.GetCurrentInsider(); return(View(currentInsider)); }
public static string GetSupportEmail(this InsiderEntity i) { string terr = i.Territory; bool territoryInUSOrCanada = Functions.TerritoryInCanada(terr) || Functions.TerritoryInUnitedStates(terr); if (territoryInUSOrCanada) { if (i.IsEducatorK12()) { return("*****@*****.**"); } if (i.IsEducatorUniv()) { switch (terr) { case "CEN": return("*****@*****.**"); case "MA": return("*****@*****.**"); case "MW": return("*****@*****.**"); case "NE": return("*****@*****.**"); case "PNW": return("*****@*****.**"); case "SE": return("*****@*****.**"); case "SW": return("*****@*****.**"); case "EC": return("*****@*****.**"); case "WC": return("*****@*****.**"); } } } if (Functions.TerritoryInAsia(terr)) { if (i.IsEducatorK12() || i.IsEducatorUniv()) { return("*****@*****.**"); } } if (Functions.TerritoryInEurope(terr)) { if (i.IsEducatorK12() || i.IsEducatorUniv()) { return("edu-" + terr + "@extron.com"); } } if (i.IsConsultant()) { if (territoryInUSOrCanada) { return("*****@*****.**"); } if (Functions.TerritoryInEurope(terr)) { return("*****@*****.**"); } if (Functions.TerritoryInAsia(terr)) { return("*****@*****.**"); } } if (i.IsProgrammer()) { if (territoryInUSOrCanada) { return("*****@*****.**"); } } if (i.IsVerticalMarketIntegrator()) { if (territoryInUSOrCanada) { return("*****@*****.**"); } } return(terr + "*****@*****.**"); }
private static AvantePricingEntity GetAvantePricing(string partnum, InsiderEntity insider, bool applyDiscounts) { AvantePricingEntity model = new AvantePricingEntity(); Constants.CURRENCY_TYPE insiderCurrency = GetEnumCurrency(Functions.GetIntlPrefix(insider.PriceList)); RBAccess oredback = new RBAccess(); oredback.Command = "RPC_GetPricing_II"; oredback.SetParameter(1, ""); oredback.SetParameter(2, ""); oredback.SetParameter(3, insider.GetBillToAccount()); oredback.SetParameter(4, partnum); oredback.SetParameter(5, insider.PriceList); oredback.ClearFields(); oredback.AddField("MktngDesc", "MktngDesc"); oredback.AddField("WebEnabled", "WebEnabled"); oredback.AddField("PriceCode", "PriceCode"); oredback.AddField("CustPriceList", "CustPriceList"); oredback.AddField("PartGroup", "PartGroup"); oredback.AddField("DealerDisc", "DealerDisc"); oredback.AddField("DealerDiscQtyBrk", "DealerDiscQtyBrk"); oredback.AddField("DealerPrice", "DealerPrice"); oredback.AddField("DealerQtyBrk", "DealerQtyBrk"); oredback.AddField("ItemDisc", "ItemDisc"); oredback.AddField("ItemDiscQtyBrk", "ItemDiscQtyBrk"); oredback.AddField("ListPrice", "ListPrice"); oredback.AddField("ListQtyBrk", "ListQtyBrk"); oredback.AddField("Active", "AvanteActive"); oredback.AddField("ProductPhase", "ProductPhase"); oredback.AddField("ComponentPhase", "ComponentPhase"); oredback.AddField("TakeOrderFlag", "TakeOrder"); oredback.AddField("StopShipFlag", "StopShip"); DataTable avante = oredback.GetDataTable("dlrprc"); if (oredback.ErrorMessage != "") { return(null); } if (avante.Rows.Count == 0) { return(null); } DataRow data = avante.Rows[0]; model.MktngDesc = data["MktngDesc"].ToString(); model.WebEnabled = data["WebEnabled"].ToString() == "Y" ? true : false; model.AvanteActive = data["AvanteActive"].ToString() == "Y" ? true : false; model.TakeOrderFlag = data["TakeOrder"].ToString() == "Y" ? true : false; model.StopShip = data["StopShip"].ToString() == "Y" ? true : false; model.ProductPhase = GetEnumProductPhase(data["ProductPhase"].ToString()); model.ComponentPhase = GetEnumComponentPhase(data["ComponentPhase"].ToString()); model.PartGroup = data["PartGroup"].ToString(); model.PartGroup = model.PartGroup.Substring(model.PartGroup.IndexOf('*'), model.PartGroup.IndexOf(']')); model.PriceList = insider.PriceList == "" ? data["CustPriceList"].ToString() : insider.PriceList; if (insider.HasMsrpPricingException()) { model.ListPrice = CALL_PRICING; } else { string[] listPrices = data["ListPrice"].ToString().Split(RBAccess.VM); model.ListPrice = new PriceEntity() { value = Decimal.Parse(listPrices[0]), currency = insiderCurrency }; } decimal calcPrice; int qtyBrk, lineItem = 1, prevQtyBrk = 0; string qtyBrkDisplay; string[] dealerPrices = NO_ACCESS.ToString().Split(), dealerQtyBrks = NO_ACCESS.ToString().Split(); if (!insider.HasMsrpPricingException()) { dealerPrices = data["DealerPrice"].ToString().Split(RBAccess.VM); dealerQtyBrks = data["DealerQtyBrk"].ToString().Split(RBAccess.VM); } // The original pricing.vb ran through the loop, but only // ever returned the first price item generated. // Let's process only the first item to begin with. int i = 0; //for (int i = 0; i < dealerPrices.Length; i++) //{ calcPrice = Decimal.Parse(dealerPrices[i]); qtyBrk = Math.Min(int.Parse(dealerQtyBrks[i]), (int)NO_ACCESS); // CINTZERO qtyBrkDisplay = (prevQtyBrk + 1).ToString(); if (dealerPrices.Length == lineItem) { qtyBrkDisplay += "+"; } else { qtyBrkDisplay += "-" + qtyBrk.ToString(); } if (applyDiscounts && PriceExtension.IsEligible(calcPrice)) { int lineItemBrk; decimal lineItemPrice; string[] discounts, discountQtyBrks; // type 1 discount - line item if (data["ItemDisc"].ToString() != "") { discounts = data["ItemDisc"].ToString().Split(RBAccess.VM); discountQtyBrks = data["ItemDiscQtyBrk"].ToString().Split(RBAccess.VM); for (int j = 0; j < discounts.Length; j++) { lineItemPrice = decimal.Parse(discounts[j]); lineItemBrk = Math.Min(int.Parse(discountQtyBrks[j]), (int)NO_ACCESS); if (qtyBrk <= lineItemBrk) { calcPrice += lineItemPrice; break; } } } // type 4 discount - overall percentage if (data["DealerDisc"].ToString() != "") { discounts = data["DealerDisc"].ToString().Split(RBAccess.VM); discountQtyBrks = data["DealerDisc"].ToString().Split(RBAccess.VM); for (int j = 0; j < discounts.Length; j++) { lineItemPrice = decimal.Parse(discounts[j]); lineItemBrk = Math.Min(int.Parse(discountQtyBrks[j]), (int)NO_ACCESS); if (qtyBrk <= lineItemBrk) { calcPrice *= (1 + (lineItemPrice / 100)); break; } } } model.DealerPrice = new PriceEntity() { value = calcPrice, currency = insiderCurrency }; } //} return(model); }
public static bool IsProgrammer(this InsiderEntity i) { return(i.PriceClass.Contains(PRICE_CLASS.PROGRAMMER)); }
public static bool IsMSRPOnly(this InsiderEntity i) { return(i.MSRP == 1); }
public static bool IsEducatorUniv(this InsiderEntity i) { return(i.PriceClass.Equals(PRICE_CLASS.EDUCATION_UNIVERSITY)); }
public static bool IsConsultant(this InsiderEntity i) { return(i.PriceClass.Contains(PRICE_CLASS.CONSULTANT)); }