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); } }
//string s = "ctlQuestionT3Grid.xml"; public ctlQuestionT2(string language, string connectionString) { this.language = language; RadGridLocalizationProvider.CurrentProvider = new AmRadGridLocalizationProvider(); InitializeComponent(); strLanguage = language; strConnectionString = connectionString; db = new StoreDataContext(strConnectionString); db.CommandTimeout = GlobalClass.IntCommandTimeout; File.Delete("ctlQuestionT3Grid.xml"); File.Delete("ctlQuestionT2Grid.xml"); File.Delete("ctlQuestionT1Grid.xml"); //if (File.Exists(s)) //{ //this.radGridView1.LoadLayout(s); //} //else //{ // this.radGridView1.SaveLayout(s); //} TmerMain.Enabled = true; }
public static IEnumerable<VinRequestItem> GetRequestItems(int requestId) { using (StoreDataContext ctx = new StoreDataContext()) { return _getRequestItems(ctx, requestId).ToList(); } }
public IQueryable <T> FindById(Expression <Func <T, bool> > predicate) { using (StoreDataContext dataContext = new StoreDataContext()) { return(dataContext.Set <T>().Where(predicate)); } }
public frmQuestionX(string language, string connectionString, int questionXID) { strLanguage = language; strConnectionString = connectionString; InitializeComponent(); db = new StoreDataContext(strConnectionString); db.CommandTimeout = GlobalClass.IntCommandTimeout; this.vCourtBS.DataSource = from p in db.vCourts select p; this.vGenderBS.DataSource = from p in db.vGenders select p; this.vDateIntervalBS.DataSource = from p in db.vDate_Intervals select p; this.vCatalogX3BS.DataSource = from p in db.vCatalogX3s select p; this.vCatalogX43BS.DataSource = from p in db.vCatalogX43s select p; this.vCatalogX44BS.DataSource = from p in db.vCatalogX44s select p; this.vCatalogX45BS.DataSource = from p in db.vCatalogX45s select p; this.vCatalogX46BS.DataSource = from p in db.vCatalogX46s select p; this.vCatalogX47BS.DataSource = from p in db.vCatalogX47s select p; this.vCatalogD1BS.DataSource = from p in db.vCatalogD1s select p; this.vRecordStatusBS.DataSource = from p in db.vRecord_Status select p; this.vReviewerBindingSource.DataSource = from p in db.vReviewers select p; this.questionXBS.DataSource = from p in db.QuestionXes where p.QuestionX_ID == questionXID select p; if (questionXID == 0) { this.questionXBS.AddNew(); this.questionXBS.EndEdit(); } this.ActiveControl = this.mskQuestionNumber; }
public T Get(Expression <Func <T, bool> > predicate) { using (StoreDataContext dataContext = new StoreDataContext()) { return(dataContext.Set <T>().Where(predicate).FirstOrDefault()); } }
private void btnConvert3_Click(object sender, EventArgs e) { StoreDataContext db = new StoreDataContext(); foreach (var item in db.QuestionT3s) { String value = item.Question52; Char delimiter = ')'; if (!String.IsNullOrEmpty(value)) { String[] substrings = value.Split(delimiter); int intLimit = 0; foreach (var substring in substrings) { if (intLimit <= 2) { SubQuestionT3 itm = new SubQuestionT3(); itm.QuestionT3ID = item.QuestionT3_ID; itm.ContentText = substring.Trim(); if (!String.IsNullOrEmpty(substring)) { db.SubQuestionT3s.InsertOnSubmit(itm); } } intLimit = intLimit + 1; } } db.SubmitChanges(); } }
public CartService(StoreDataContext dataContext, IHttpContextAccessor httpContext, IProductRepository productRepo) { _dataContext = dataContext; _httpContext = httpContext; _productRepo = productRepo; _anonymousUser = "******"; }
public static string GetClientIDByWcfServiceAccount(string wcfServiceAccount) { using (var dc = new StoreDataContext()) { return _getClientIdByServiceAccount(dc, wcfServiceAccount).SingleOrDefault(); } }
public override async Task UpdateAsync(Course entity) { using (StoreDataContext dbContext = new StoreDataContext()) { var course = dbContext.Courses.FirstOrDefault(s => s.CourseId == entity.CourseId); course.Name = entity.Name; course.Precentage = entity.Precentage; course.StartedDateTime = entity.StartedDateTime; course.EndDateTime = entity.EndDateTime; course.Description = entity.Description; course.Author = entity.Author; course.ModifyDateTime = DateTime.Now; course.CourseStatus = entity.CourseStatus; course.Tags.Clear(); foreach (var tags in entity.Tags) { var dbTag = dbContext.Tags.FirstOrDefault(s => s.TagId == tags.TagId); course.Tags.Add(dbTag); } await dbContext.SaveChangesAsync(); } }
public HomeController(StoreDataContext dataContext, IProductRepository productRepository, IConfiguration config, IUserRepository userRepo) { _userRepo = userRepo; _dataContext = dataContext; _productRepository = productRepository; _resrevedTimeOut = new TimeSpan(0, 0, config.GetValue <int>("ProductReservedTimeout")); _itemsPerPage = config.GetValue <int>("IndexPageItemCount"); }
public async Task <ActionResult> Get( [FromServices] StoreDataContext context ) { var Usuarios = await context.Usuarios.AsNoTracking().ToListAsync(); return(Ok(Usuarios)); }
public async Task <ActionResult> Get( [FromServices] StoreDataContext context ) { var products = await context.Products.AsNoTracking().ToListAsync(); return(Ok(products)); }
public ProductRepository ( StoreDataContext context, IDistributedCache cache ) { _context = context; _cache = cache; }
public override async Task <Course> GetAsync(Expression <Func <Course, bool> > predicate) { using (StoreDataContext dbContext = new StoreDataContext()) { var result = await dbContext.Courses.Where(predicate).Include("Tags").FirstOrDefaultAsync(); return(result); } }
public virtual async Task <T> GetAsync(Expression <Func <T, bool> > predicate) { using (StoreDataContext dataContext = new StoreDataContext()) { var result = await dataContext.Set <T>().Where(predicate).FirstOrDefaultAsync(); return(result); } }
public async Task <ActionResult> DeleteCategory( [FromServices] StoreDataContext _context, [FromBody] Category category) { _context.Categories.Remove(category); await _context.SaveChangesAsync(); return(NoContent()); }
public virtual async Task <IList <T> > GetAllAsync(string userId) { using (StoreDataContext dataContext = new StoreDataContext()) { var results = await dataContext.Set <T>().ToListAsync(); return(results); } }
public override async Task <IList <Course> > GetAllAsync() { using (StoreDataContext dbContext = new StoreDataContext()) { var results = await dbContext.Courses.Include("Tags").ToListAsync(); return(results); } }
public static void SetRequestProceeded(int requestId, DateTime answerDate) { using (StoreDataContext ctx = new StoreDataContext()) { var request = _getVinRequest(ctx, requestId).Single(); request.Proceeded = true; request.AnswerDate = answerDate; ctx.SubmitChanges(); } }
public override async Task DeleteAsync(int id) { using (StoreDataContext dbContext = new StoreDataContext()) { var course = dbContext.Courses.FirstOrDefault(s => s.CourseId == id); course.Tags.Clear(); dbContext.Courses.Remove(course); await dbContext.SaveChangesAsync(); } }
public async Task <ActionResult> Post( [FromServices] StoreDataContext context, [FromBody] Product product ) { await context.Products.AddAsync(product); await context.SaveChangesAsync(); return(Created("", product)); }
public async Task <ActionResult> Post( [FromServices] StoreDataContext context, [FromBody] Usuario Usuario ) { await context.Usuarios.AddAsync(Usuario); await context.SaveChangesAsync(); return(Created("", Usuario)); }
public static string[] getRightsByClientID(string ClientID) { using (var dc = new StoreDataContext()) { var s = _getRightsByClientID(dc, ClientID).SingleOrDefault(); if (!string.IsNullOrEmpty(s)) return s.Split(';'); else return new string[0] ; } }
private void Dispose(bool disposing) { if (disposing) { if (_context != null) { _context.Dispose(); _context = null; } } }
public void Create(T entity) { using (StoreDataContext dataContext = new StoreDataContext()) { entity.CreatedDateTime = DateTime.Now; entity.ModifyDateTime = DateTime.Now; dataContext.Set <T>().Add(entity); dataContext.SaveChanges(); } }
public virtual async Task CreateAsync(T entity) { using (StoreDataContext dataContext = new StoreDataContext()) { entity.CreatedDateTime = DateTime.Now; entity.ModifyDateTime = DateTime.Now; dataContext.Set <T>().Add(entity); await dataContext.SaveChangesAsync(); } }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddDbContext<TodoContext>(opt => opt.UseInMemoryDatabase("TodoList")); services.AddDbContext<BookContext>(opt => opt.UseInMemoryDatabase("BookList")); services.AddDbContext<AuthorContext>(opt => opt.UseInMemoryDatabase("AuthorList")); services.AddDbContext<PublisherContext>(opt => opt.UseInMemoryDatabase("PublisherList")); StoreDataContext context = new StoreDataContext(); services.AddSingleton<AuthorRepository>(new AuthorRepository(context)); services.AddSingleton<BookRepository>(new BookRepository(context)); services.AddSingleton<PublisherRepository>(new PublisherRepository(context)); services.AddControllers(); }
public ctlQuestionT2(string language, string connectionString) { PivotGridLocalizationProvider.CurrentProvider = new AmPivotGridLoclizationProvider(); this.language = language; InitializeComponent(); strLanguage = language; strConnectionString = connectionString; db = new StoreDataContext(strConnectionString); db.CommandTimeout = GlobalClass.IntCommandTimeout; TmerMain.Enabled = true; this.radPivotGrid1.DataProvider.PrepareDescriptionForField += DataProvider_PrepareDescriptionForField; }
public void ClearItems(StoreDataContext context) { context .ShoppingCartItems .DeleteAllOnSubmit( context .ShoppingCartItems .Where(i => i.OwnerID == _ownerId && i.ClientID == _clientId)); context.SubmitChanges(); }
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 async Task <ActionResult> PutCategory( [FromServices] StoreDataContext _context, [FromBody] Category category) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.Entry <Category>(category).State = EntityState.Modified; await _context.SaveChangesAsync(); return(CreatedAtAction(nameof(PutCategory), category)); }
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>(); }
public void Configure(IApplicationBuilder app, IHostingEnvironment env, StoreDataContext ctx) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); ctx.Database.EnsureCreated(); } app.UseMvc(); app.Run(async(context) => { await context.Response.WriteAsync("Hello World!"); }); }
public async Task <ActionResult> PostCategory( [FromServices] StoreDataContext _context, [FromBody] Category category) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } await _context.Categories.AddAsync(category); await _context.SaveChangesAsync(); return(CreatedAtAction(nameof(PostCategory), category)); }
public static void SendOrder(StoreDataContext dc, ref OrderInfo order) { if (order == null) throw new ArgumentNullException("order"); ServiceProxy.Default.SendOrder(dc, order ); #region старый вариант ориентированный на веб-сервис //var handlingInfo = ServiceProxy.Default.SendOrder(order); //foreach (var line in order.OrderLines) //{ // var lineHandling = handlingInfo.LineHandlings // .Single(l => l.WebOrderLineId == line.WebOrderLineId); // line.AcctgOrderLineId = lineHandling.AcctgOrderLineId; // line.OrderLineStatus = lineHandling.OrderLineStatus; //} #endregion }
public virtual async Task UpdateAsync(T entity) { using (StoreDataContext dataContext = new StoreDataContext()) { try { entity.ModifyDateTime = DateTime.Now; dataContext.Entry(entity).State = EntityState.Modified; dataContext.SaveChanges(); } catch (DbUpdateConcurrencyException ex) { var entry = ex.Entries.Single(); } } }
public async Task <ActionResult> Delete( [FromServices] StoreDataContext context, int id ) { var item = await context.Products.FirstOrDefaultAsync(x => x.Id == id); if (item == null) { return(NotFound()); } context.Products.Remove(item); await context.SaveChangesAsync(); return(Ok(item)); }
protected void Page_Load( object sender, EventArgs e ) { using( var ctx = new StoreDataContext() ) { var modificationId = Request.QueryString.Get<int>( UrlKeys.StoreAndTecdoc.CarTypeId ); var modification = TecDocAggregator.GetModificationById( modificationId ); if( modification == null ) throw new HttpException( (int)HttpStatusCode.NotFound, "Not found" ); var model = modification.Model; var manufacturer = model.Manufacturer; var isCarModel = model.IsCarModel == 1; var brandItem = TecDocAggregator.GetBrandByManufacturerID( manufacturer.ID, isCarModel ? VehicleType.Car : VehicleType.Truck ); if( brandItem == null ) throw new HttpException( (int)HttpStatusCode.NotFound, "Not found" ); var brand = brandItem.Brand; //Хлебные крошки CmsContext.Current.BreadCrumbSuffix.Add( new BreadCrumbItem( manufacturer.Name, UrlManager.GetTecDocManufacturerHistoryUrl( isCarModel, brand.UrlCode ) ) ); CmsContext.Current.BreadCrumbSuffix.Add( new BreadCrumbItem( "Каталог неоригинальных запчастей", UrlManager.GetTecDocManufacturerDetailsUrl( isCarModel, brand.UrlCode ) ) ); CmsContext.Current.BreadCrumbSuffix.Add( new BreadCrumbItem( model.Name.Tex_Text, UrlManager.GetTecDocModelDetailsUrl( model.ID ) ) ); CmsContext.Current.BreadCrumbSuffix.Add( new BreadCrumbItem( modification.Name.Tex_Text, UrlManager.GetTecDocModificationDetailsUrl( modification.ID ) ) ); //Заголовок _titleLabel.Text = isCarModel ? "Легковые автомобили" : "Грузовые автомобили и автобусы"; _subTitleLabel.Text = Server.HtmlEncode(modification.Name.Tex_Text); //Список модификаций _tecDocPartsTree.ModificationId = modification.ID; //Ссылка на AutoXP _autoXPPlaceHolder.Visible = brand != null && !string.IsNullOrEmpty( brand.AutoXPUrl ); if( brand != null ) _autoXPLink.NavigateUrl = brand.AutoXPUrl; //параметры страницы var text = SeoTecDocTextTemplatesCache.Default.GetPageText(Request.RawUrl, modification.Name.Tex_Text); CmsContext.Current.PageFields = new PageFields { Title = text.PageTitle, Footer = text.PageFooter }; } }
public static void UpdateVinRequestItem(VinRequestItem item) { using (StoreDataContext ctx = new StoreDataContext()) { var old = _getRequestItem(ctx, item.Id).Single(); old.Name = item.Name; old.ManagerComment = item.ManagerComment; old.Manufacturer = item.Manufacturer; old.PartNumber = item.PartNumber; old.PartNumberOriginal = item.PartNumberOriginal; old.DeliveryDays = item.DeliveryDays; old.PricePerUnit = item.PricePerUnit; old.Quantity = item.Quantity; ctx.SubmitChanges(); } }
public override async Task CreateAsync(Course entity) { using (StoreDataContext dbContext = new StoreDataContext()) { foreach (var tags in entity.Tags) { dbContext.Entry(tags).State = EntityState.Unchanged; dbContext.Tags.Attach(tags); } entity.CreatedDateTime = DateTime.Now; entity.ModifyDateTime = DateTime.Now; dbContext.Courses.Add(entity); await dbContext.SaveChangesAsync(); } }
public static Dictionary<int, int> GetPermutations() { Dictionary<int, int> res = new Dictionary<int, int>(); using (var dc = new StoreDataContext()) { try { res = dc.Permutation1Cs.Select(x => x).ToDictionary(x => x.OldSupplierId, x => x.NewSupplierId); } catch (Exception ex) { Logger.WriteError( "Произошла ошибка при загрузке словаря перестановок SupplierID", EventLogerID.UnknownError, EventLogerCategory.UnknownCategory, ex ); } finally { if (dc.Connection.State == System.Data.ConnectionState.Open) dc.Connection.Close(); } } return res; }
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 Dictionary<SparePartKeyExt, AdditionalInfoExt> GetAdditionalInfoExt(IEnumerable<SparePartKeyExt> keys) { using (var dc = new StoreDataContext()) { var res = new Dictionary<SparePartKeyExt, AdditionalInfoExt>(); var infos = keys.Select(k => new AdditionalInfoExt() { Key = new SparePartKeyExt(k.Manufacturer, k.PartNumber, k.SupplierID), HasDefectPics = ( from spi in dc.SparePartImages where spi.PartNumber == k.PartNumber && spi.Manufacturer == k.Manufacturer && spi.SupplierID == k.SupplierID select spi).Any() }); // оставляем только те объекты, у которых HasDefectPics = true, т.к. пока в объекте нет других вещей // ("описание", "применяемость на авто" и т.д. по аналогии с текдоком) в нем есть смысл только если // на данную деталь существуют фото брака infos = infos.Where(i => i.HasDefectPics); res = infos.ToDictionary(i => i.Key, i => i); return res; } }
public IEnumerable<ShoppingCartItem> LoadItems(StoreDataContext context) { return LoadItems(); }
internal static void DeleteEntry(Guid entryUid, StoreDataContext context) { context.UserMaintEntries.DeleteOnSubmit(_getEntries(context, entryUid).Single()); context.SubmitChanges(); }
public void ClearItems(StoreDataContext context) { ClearItems(); }
void delPhoto(ref StoreDataContext store, string a, string m, string p, string id, string nm) { // проверяем есть ли фотография на удаление if (a == "del" && m != null && p != null && id != null && nm != null) { // достаем фотографию из бд SparePartImage deleteImage = store.SparePartImages.SingleOrDefault(q => q.Manufacturer == m && q.PartNumber == p && q.SupplierID == Convert.ToInt32(id) && q.ImageNumber == Convert.ToInt32(nm)); // если фотография есть, удаляем ee if (deleteImage != null) { store.SparePartImages.DeleteOnSubmit(deleteImage); store.SubmitChanges(); string storage = id == "1212" ? "Уценка 20%" : "Уценка 50%"; LblMessage.Text = "Фотография с параметрами: Производитель=" + m + ", Артикул=" + p + ", Склад уценки=" + storage + ", Номер фотографии=" + nm + " - удалена."; LblMessage.Visible = true; } } }
SparePartImage[] pageImages(ref StoreDataContext store, int count) { //Parallel SparePartImage[] ia = null; if (tbManufacturer != "") ia = store.SparePartImages.Where(i => i.Manufacturer == tbManufacturer).ToArray(); if (tbPartNumber != "") { if (ia == null) ia = store.SparePartImages.Where(i => i.PartNumber == tbPartNumber).ToArray(); else ia = ia.Where(i => i.PartNumber == tbPartNumber).ToArray(); } if (ddlSupplierID != "") { if (ia == null) ia = store.SparePartImages.Where(i => i.SupplierID == Convert.ToInt32(ddlSupplierID)).ToArray(); ia = ia.Where(i => i.SupplierID == Convert.ToInt32(ddlSupplierID)).ToArray(); } int from = ia == null ? getPositionFrom(store.SparePartImages.Count()) : getPositionFrom(ia.Length); if (ia == null) ia = store.SparePartImages.Skip(from).Take(count).ToArray(); else ia = ia.Skip(from).Take(count).ToArray(); return ia; }
public void DoSearch(string Company, string Width, string Diameter, string Gab) { List<Disc> mQuery = null; using (CmsDataContext cms = new CmsDataContext()) { try { //Алгоритм фильтрации 1) сначала выбираем все //IEnumerable<Disc> query = query = cms.Discs.Select(x => x); IEnumerable<Disc> query = cms.Discs.ToArray(); // 2)Выбираем только те, которые соответствуют названию производителя /*if (!String.IsNullOrEmpty(Company) && !Company.ToLower().Contains("все")) //Проверяем нличие брэнда в метаданных и списке брендов он должен быть настроен видимым query = query.Where(x => x.Manufacturer != null && x.Manufacturer.ToUpper().Contains(Company.ToUpper()) && cms.DiscBrands.Where(y => y.IsVisible).Select(y => y.Name.ToUpper()).Contains(Company.ToUpper())); else query = query.Where(x => x.Manufacturer != null && cms.DiscBrands.Where(y => y.IsVisible).Select(y => y.Name.ToUpper()).Contains(x.Manufacturer.ToUpper())); */ if (!String.IsNullOrEmpty(Company) && !Company.ToLower().Contains("все")) query = query.Where(x => x.Manufacturer.ToUpper() == Company.ToUpper()); // 3)Выбираем только те, которые соответствуют заданной высоте if (!String.IsNullOrEmpty(Width) && !Width.ToLower().Contains("все")) query = query.Where(x => x.Width == Convert.ToDecimal(Width.Replace('.', ','))); // 4) и т.д. if (!String.IsNullOrEmpty(Diameter) && !Diameter.ToLower().Contains("все")) query = query.Where(x => x.Diameter != null && x.Diameter == Convert.ToDecimal(Diameter)); if (!String.IsNullOrEmpty(Gab) && !Gab.ToLower().Contains("все")) { Gab = Gab.Replace(" ", ""); if (Gab.StartsWith("<")) query = query.Where(x => x.Gab <= Convert.ToDecimal(Gab.Split('<')[1])); else if (Gab.StartsWith(">")) query = query.Where(x => x.Gab >= Convert.ToDecimal(Gab.Split('>')[1])); else query = query.Where(x => x.Gab >= Convert.ToDecimal(Gab.Split('-')[0]) && x.Gab <= Convert.ToDecimal(Gab.Split('-')[1])); } //Конец фильтрации mQuery = query.ToList(); } catch { } finally { if (cms.Connection.State == System.Data.ConnectionState.Open) cms.Connection.Close(); } } using (var store = new StoreDataContext()) { try { List<Disc> BatteryPriceSearchResult = new List<Disc>(); ExceedMaxresult = false; foreach (Disc item in mQuery) { List<SearchResultItem> list; if (Cache.Get(item.Manufacturer + item.PartNumber) == null) { PartKey searchPartKey = new PartKey(item.Manufacturer, item.PartNumber); SparePartItem[] parts = new SparePartItem[0]; if (item.Manufacturer != null) { //TODO: Рассмотреть применение последнего параметра -- поиска аналогов parts = PricingSearch.SearchSpareParts(item.PartNumber, item.Manufacturer.ToUpper(), false); } //пересчитать цены, подгрузить дополнительную информацию о деталях RmsAuto.Acctg.ClientGroup clientGroup = SiteContext.Current.CurrentClient.Profile.ClientGroup; decimal personalMarkup = SiteContext.Current.CurrentClient.Profile.PersonalMarkup; var additionalInfos = RmsAuto.TechDoc.Facade.GetAdditionalInfo(new[] { searchPartKey }.Union(parts.Select(p => new PartKey(p.SparePart.Manufacturer, p.SparePart.PartNumber)))); // dan 01.06.2011 task4253 Механизм отображения фотографий брака в результатах поиска. var additionalInfosExt = RmsAuto.Store.Entities.Helpers.SearchHelper.GetAdditionalInfoExt( parts.Select(p => new SparePartKeyExt(p.SparePart.Manufacturer, p.SparePart.PartNumber, p.SparePart.SupplierID))); //курс валюты CurrencyRate currencyRate = GetCurrentCurrencyRate(); list = parts.Select( p => new RmsAuto.Store.Web.Controls.SearchResultItem { ItemType = p.ItemType, SparePart = p.SparePart, AdditionalInfo = additionalInfos.ContainsKey(new PartKey(p.SparePart.Manufacturer, p.SparePart.PartNumber)) ? additionalInfos[new PartKey(p.SparePart.Manufacturer, p.SparePart.PartNumber)] : null, // dan 01.06.2011 task4253 Механизм отображения фотографий брака в результатах поиска. AdditionalInfoExt = additionalInfosExt.ContainsKey(new SparePartKeyExt(p.SparePart.Manufacturer, p.SparePart.PartNumber, p.SparePart.SupplierID)) ? additionalInfosExt[new SparePartKeyExt(p.SparePart.Manufacturer, p.SparePart.PartNumber, p.SparePart.SupplierID)] : null, FinalSalePriceRUR = p.SparePart.GetFinalSalePrice(clientGroup, personalMarkup), FinalSalePrice = p.SparePart.GetFinalSalePrice(clientGroup, personalMarkup) / currencyRate.Rate, ShowPrices = true, ShowInfo = true }).Where(p => p.FinalSalePriceRUR > 0).ToList(); //dan 19.09.2011 добавил условие чтобы убрать позиции с нулевой ценой из результатов поиска Cache.Insert(item.Manufacturer + item.PartNumber, list, null, DateTime.UtcNow.AddMinutes(Convert.ToInt32(ConfigurationManager.AppSettings["CacheDuration"])), TimeSpan.Zero); } else { list = (List<SearchResultItem>)Cache.Get(item.Manufacturer + item.PartNumber); } if (BatteryPriceSearchResult.Count < MaxSearchCount) { foreach (var item2 in list) { Disc tmp = new Disc() { Dia = item.Dia, PCD = item.PCD, Gab = item.Gab, Manufacturer = item.Manufacturer, ModelName = item.ModelName, Diameter = item.Diameter, Width = item.Width, PartNumber = item.PartNumber, ImageUrl = item.ImageUrl, Price = item2.FinalSalePriceRUR, SparePart = item2.SparePart, Ref = String.Format(@"/SearchSpareParts.aspx?mfr={0}&pn={1}&st=1", item.Manufacturer.ToUpper(), item.PartNumber) }; BatteryPriceSearchResult.Add(tmp); break; //Ищем только одно предложение //TODO и зачем тут этот недостижимый участок кода??? if (BatteryPriceSearchResult.Count >= MaxSearchCount) { ExceedMaxresult = true; break; } } } else { ExceedMaxresult = true; break; } } //отсортировать результаты поиска CurrentSearchCount = BatteryPriceSearchResult.Count; PagedDataSource = new PagedDataSource(); PagedDataSource.DataSource = BatteryPriceSearchResult.OrderBy(x => x.Price).ToList(); PagedDataSource.AllowPaging = true; int count = 0; if (!String.IsNullOrEmpty(Request.Params["PageSize"]) && int.TryParse(Request.Params["PageSize"], out count)) { PagedDataSource.PageSize = Convert.ToInt32(Request.Params["PageSize"]); } if (PagedDataSource.PageSize == 0) { PagedDataSource.PageSize = 10; } TirePagerControl.Visible = BatteryPriceSearchResult.Count / PagedDataSource.PageSize + 1 > 1; //Установка значения пейджера if (BatteryPriceSearchResult.Count % PagedDataSource.PageSize > 0) TirePagerControl.MaxIndex = BatteryPriceSearchResult.Count / PagedDataSource.PageSize + 1; else TirePagerControl.MaxIndex = BatteryPriceSearchResult.Count / PagedDataSource.PageSize + 0; if (TirePagerControl.CurrentIndex > 0) { PagedDataSource.CurrentPageIndex = TirePagerControl.CurrentIndex - 1; rptSearchResults.DataSource = PagedDataSource; rptSearchResults.DataBind(); } if (BatteryPriceSearchResult.Count > 0) rptSearchResults.Visible = true; else { var labelResult = new Label(); labelResult.Style.Add(HtmlTextWriterStyle.FontWeight, "Bold"); labelResult.Style.Add(HtmlTextWriterStyle.Color, "Green"); labelResult.Text = "Ничего не найдено, попробуйте изменить параметры поиска."; _resultsPlaceHolder.Controls.Add(labelResult); rptSearchResults.Visible = false; } } catch (Exception ex) { Logger.WriteError(ex.Message, EventLogerID.BLException, EventLogerCategory.BLError); } finally { if (store.Connection.State == System.Data.ConnectionState.Open) { store.Connection.Close(); } } } }
static OrderLineStatusUtil() { List<String> FranchNames = AcctgRefCatalog.RmsFranches.Items.Select(x => x.InternalFranchName).ToList(); foreach (string s in FranchNames) { //Нет пока никаих "лайтов" для эмиратов if (AcctgRefCatalog.RmsFranches[s].isLite) { using (var dc = new DCFactory<StoreDataContext>(s)) { DataLoadOptions dlo = new DataLoadOptions(); dlo.LoadWith<OrderLineStatuses>(ols => ols.OrderLineStatusesLocs); dc.DataContext.LoadOptions = dlo; dc.DataContext.DeferredLoadingEnabled = false; _allStatusesDict[s] = dc.DataContext.OrderLineStatuses.ToList<OrderLineStatuses>(); } } else { using (var dc = new StoreDataContext()) { #region === Подгружаем локализации === DataLoadOptions dlo = new DataLoadOptions(); dlo.LoadWith<OrderLineStatuses>(ols => ols.OrderLineStatusesLocs); dc.LoadOptions = dlo; dc.DeferredLoadingEnabled = false; #endregion _allStatusesDict[s] = dc.OrderLineStatuses.ToList<OrderLineStatuses>(); } } } }
private void Save( StoreDataContext context, IEnumerable<ShoppingCartItem> items ) { _storage.SaveItems( context, items ); OnContentChanged( EventArgs.Empty ); }
protected override void OnInit(EventArgs e) { base.OnInit(e); this.DataContext = (new DCFactory<StoreDataContext>()).DataContext; }
private Dictionary<ShoppingCartKey, ShoppingCartItem> LoadItems( StoreDataContext context ) { // deas 28.02.2011 task2401 // Изменен ключ корзины для учета ReferenceID return _storage .LoadItems( context ) .ToDictionary<ShoppingCartItem, ShoppingCartKey>( i => new ShoppingCartKey( i.Manufacturer, i.PartNumber, i.SupplierID, i.ReferenceID ) ); }
public void SaveItems(StoreDataContext context, IEnumerable<ShoppingCartItem> items) { SaveItems(items); }
private void ClearItems( StoreDataContext context ) { _storage.ClearItems( context ); OnContentChanged( EventArgs.Empty ); }
public IEnumerable<ShoppingCartItem> LoadItems(StoreDataContext context) { return _selectItemsQuery(context, _ownerId, _clientId).ToArray(); }
public void SaveItems( StoreDataContext context, IEnumerable<ShoppingCartItem> items ) { //using (var context = new StoreDataContext()) //{ foreach ( var item in items ) { // deas 28.02.2011 task2401 // изменено сравнение на ItemID для хранения нескольких строк с разными ReferenceID var existing = context.ShoppingCartItems.SingleOrDefault( i => i.ItemID == item.ItemID ); //i.OwnerID == _ownerId && //i.ClientID == _clientId && //i.Manufacturer == item.Manufacturer && //i.PartNumber == item.PartNumber && //i.SupplierID == item.SupplierID ); if ( existing != null ) { if ( item.Qty == 0 ) context.ShoppingCartItems.DeleteOnSubmit( existing ); else { existing.UnitPrice = item.UnitPrice; existing.Qty = item.Qty; existing.ReferenceID = item.ReferenceID; existing.VinCheckupDataID = item.VinCheckupDataID; existing.StrictlyThisNumber = item.StrictlyThisNumber; existing.ItemNotes = item.ItemNotes; } } else { // deas 28.04.2011 task3929 добавление в корзине флага отправить в заказ context.ShoppingCartItems.InsertOnSubmit( new ShoppingCartItem { ClientID = _clientId, OwnerID = _ownerId, Manufacturer = item.Manufacturer, PartNumber = item.PartNumber, SupplierID = item.SupplierID, DeliveryDaysMin = item.DeliveryDaysMin, DeliveryDaysMax = item.DeliveryDaysMax, PartName = item.PartName, PartDescription = item.PartDescription, StrictlyThisNumber = item.StrictlyThisNumber, Qty = item.Qty, ReferenceID = item.ReferenceID, UnitPrice = item.UnitPrice, AddToOrder = item.AddToOrder, UnitPriceYesterday = item.UnitPriceYesterday } ); } } context.SubmitChanges(); //} }
/// <summary> /// Return OrderLineStatus from Hansa format in byte presentation in RMS format /// </summary> /// <param name="dc"></param> /// <param name="nameHansa"></param> /// <returns></returns> //public static byte StatusByteFromHansa(StoreDataContext dc, String nameHansa) //{ // var el = // from o in dc.OrderLineStatuses // where o.NameHansa == nameHansa // select o.OrderLineStatusID; // return (byte)el.First(); //} /// <summary> /// Return OrderLineStatus from Hansa format in byte presentation in RMS format /// </summary> /// <param name="nameHansa"></param> /// <returns></returns> //public static byte StatusByteFromHansa(String nameHansa) //{ // //using (var dc = new StoreDataContext()) // //{ // // return StatusByteFromHansa(dc, nameHansa); // //} // var el = // from o in _allStatuses // where o.NameHansa == nameHansa // select o.OrderLineStatusID; // return (byte)el.First(); //} /// <summary> /// Return selected for notification statuses in byte presentation for Client /// </summary> /// <param name="statuses"></param> /// <returns></returns> public static byte[] GetSelectedStatusesOfClient(StoreDataContext dc, string clientID) { List<byte> statusBytes = new List<byte>(); string[] selectedStatuses = { }; //var alertConfig = dc.ClientAlertConfigs.Where(ca => ca.ClientID == clientID).SingleOrDefault(); var client = dc.Users.FirstOrDefault( t => t.AcctgID == clientID ); var alertConfig = dc.spSelUserSetting( client.UserID ).SingleOrDefault(); if (alertConfig != null && alertConfig.AlertStatusIDs != null) { selectedStatuses = alertConfig.AlertStatusIDs.Split(';'); } else { return null; } foreach (var status in selectedStatuses) { byte statusByte = 0; if (byte.TryParse(status, out statusByte)) { statusBytes.Add(statusByte); } } return statusBytes.ToArray(); }
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(); } } }