public static SparePartFranch Load(StoreDataContext context, SparePartPriceKey key) { if (context == null) throw new ArgumentNullException("context"); if (key == null) throw new ArgumentNullException("key"); string query = @"SELECT * FROM fSparePartWithCustomFactors({0},{1},{2},{3},{4})"; return context.ExecuteQuery<SparePartFranch>(query, "" /* код франча для "региональных" прайсов */, key.PN, key.Mfr, key.SupplierId, 0 /*добавочный период к срокам поставки*/,"rmsauto").SingleOrDefault<SparePartFranch>(); }
public static SparePartFranch Load(StoreDataContext context, SparePartPriceKey key) { if (context == null) throw new ArgumentNullException("context"); if (key == null) throw new ArgumentNullException("key"); //TODO: Протестировать создание _getPart string query = @"SELECT * FROM fSparePartWithCustomFactors({0},{1},{2},{3})"; return context.ExecuteQuery<SparePartFranch>(query, AcctgRefCatalog.RmsFranches[SiteContext.Current.InternalFranchName].RegionCode /* код франча для "региональных" прайсов */, key.PN, key.Mfr, key.SupplierId).SingleOrDefault<SparePartFranch>(); }
internal void AssignSparePart(SparePartFranch part, RmsAuto.Acctg.ClientGroup clientGroup, decimal personalMarkup) { _issues = ShoppingCartItemIssues.NoIssues; if (part != null) { if( UnitPrice != part.GetFinalSalePrice( clientGroup, personalMarkup ) ) _issues |= ShoppingCartItemIssues.FinalPartPriceChanged; UpdateQtyIssues( part ); //if (Qty < part.DefaultOrderQty) // _issues |= ShoppingCartItemIssues.QtyBelowRequiredMinimum; //else if (Qty % part.DefaultOrderQty != 0) // _issues |= ShoppingCartItemIssues.QtyMultiplicityViolation; //if (part.QtyInStock.GetValueOrDefault() > 0 && Qty > part.QtyInStock) // _issues |= ShoppingCartItemIssues.QtyAboveAvailableInStock; // deas 25.05.2011 task4218 запрет заказа товаров по нулевой цене if ( UnitPrice == 0 ) _issues |= ShoppingCartItemIssues.FinalPartPriceNoSet; } else _issues |= ShoppingCartItemIssues.SparePartDiscontinued; _part = part; //Здесь не нужно использовать фабрику так как using (var dc = new StoreDataContext()) { try { var resList = dc.spSelSuppliersWithoutAnalogs().ToList().Select( s => s.SupplierID ).ToList<int>(); _isAnalogsNotSupported = resList.Contains( part.SupplierID ); //TODO: дописать запрос IEnumerable<int> resList2 = dc.ExecuteQuery<int>("Select [SupplierID] From SuppliersWithOnlyAnalogs"); if (resList2.Contains(part.SupplierID)) { _isAnalogsNotSupported = null; }; } catch { //просто не падаем } finally { if (dc.Connection.State == System.Data.ConnectionState.Open) dc.Connection.Close(); } } }
public static List<SparePartFranch> LoadMassive(StoreDataContext context, IEnumerable<SparePartPriceKey> keys) { if (context == null) throw new ArgumentNullException("context"); if (keys == null) throw new ArgumentNullException("keys"); String query = "DECLARE @t TABLE(Manufacturer varchar(50), PartNumber varchar(50), SupplierID int) "; foreach (var key in keys) { query += "INSERT INTO @t VALUES('" + key.Mfr + "','" + key.PN + "','" + key.SupplierId + "') "; } query += @" select s.* from @t as t cross apply fSparePartWithCustomFactorsRMS({0}, t.PartNumber, t.Manufacturer, t.SupplierID, {1}) s union select s.* from @t as t cross apply fSparePartWithCustomFactors({0}, t.PartNumber, t.Manufacturer, t.SupplierID, {1}) s"; IEnumerable<SparePartFranch> parts = context.ExecuteQuery<SparePartFranch>( query, AcctgRefCatalog.RmsFranches[SiteContext.Current.InternalFranchName].RegionCode, AcctgRefCatalog.RmsFranches[SiteContext.Current.InternalFranchName].AdditionalPeriod); return new List<SparePartFranch>(parts); }
public static List<SparePartFranch> LoadMassive(StoreDataContext context, IEnumerable<SparePartPriceKey> keys) { if (AcctgRefCatalog.RmsFranches[SiteContext.Current.InternalFranchName].InternalFranchName == "rmsauto") { if (context == null) throw new ArgumentNullException("context"); if (keys == null) throw new ArgumentNullException("keys"); String query = "DECLARE @t TABLE(Manufacturer varchar(50), PartNumber varchar(50), SupplierID int) "; foreach (var key in keys) { query += "INSERT INTO @t VALUES('" + key.Mfr + "','" + key.PN + "','" + key.SupplierId + "') "; } query += "SELECT s.* " + "FROM SparePartWithCustomFactors AS s " + "JOIN @t AS t on s.Manufacturer = t.Manufacturer AND " + "s.PartNumber = t.PartNumber AND s.SupplierID = t.SupplierID"; IEnumerable<SparePartFranch> parts = context.ExecuteQuery<SparePartFranch>(query); return new List<SparePartFranch>(parts); } else { return SparePartsDacFranch.LoadMassive(context, keys); } }
public static List<SparePartFranch> LoadMassive(StoreDataContext context, IEnumerable<ShoppingCartAddItem> keys) { if (context == null) throw new ArgumentNullException("context"); if (keys == null) throw new ArgumentNullException("keys"); String query = "DECLARE @t TABLE(Manufacturer varchar(50), PartNumber varchar(50), SupplierID int) "; foreach (var key in keys) { query += "INSERT INTO @t VALUES('" + key.Key.Mfr + "','" + key.Key.PN + "','" + key.Key.SupplierId + "') "; } query += "SELECT s.* " + "FROM SparePartWithCustomFactors AS s " + "JOIN @t AS t on s.Manufacturer = t.Manufacturer AND " + "s.PartNumber = t.PartNumber AND s.SupplierID = t.SupplierID"; IEnumerable<SparePartFranch> parts = context.ExecuteQuery<SparePartFranch>( query); return new List<SparePartFranch>(parts); }