Exemplo n.º 1
0
        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;
        }
Exemplo n.º 3
0
 public static IEnumerable<VinRequestItem> GetRequestItems(int requestId)
 {
     using (StoreDataContext ctx = new StoreDataContext())
     {
         return _getRequestItems(ctx, requestId).ToList();
     }
 }
Exemplo n.º 4
0
 public IQueryable <T> FindById(Expression <Func <T, bool> > predicate)
 {
     using (StoreDataContext dataContext = new StoreDataContext())
     {
         return(dataContext.Set <T>().Where(predicate));
     }
 }
Exemplo n.º 5
0
        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;
        }
Exemplo n.º 6
0
 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();
            }
        }
Exemplo n.º 8
0
 public CartService(StoreDataContext dataContext, IHttpContextAccessor httpContext, IProductRepository productRepo)
 {
     _dataContext   = dataContext;
     _httpContext   = httpContext;
     _productRepo   = productRepo;
     _anonymousUser = "******";
 }
Exemplo n.º 9
0
 public static string GetClientIDByWcfServiceAccount(string wcfServiceAccount)
 {
     using (var dc = new StoreDataContext())
     {
         return _getClientIdByServiceAccount(dc, wcfServiceAccount).SingleOrDefault();
     }
 }
Exemplo n.º 10
0
        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();
            }
        }
Exemplo n.º 11
0
 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");
 }
Exemplo n.º 12
0
        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;
 }
Exemplo n.º 15
0
        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);
            }
        }
Exemplo n.º 16
0
        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);
            }
        }
Exemplo n.º 17
0
        public async Task <ActionResult> DeleteCategory(
            [FromServices] StoreDataContext _context,
            [FromBody] Category category)
        {
            _context.Categories.Remove(category);
            await _context.SaveChangesAsync();

            return(NoContent());
        }
Exemplo n.º 18
0
        public virtual async Task <IList <T> > GetAllAsync(string userId)
        {
            using (StoreDataContext dataContext = new StoreDataContext())
            {
                var results = await dataContext.Set <T>().ToListAsync();

                return(results);
            }
        }
Exemplo n.º 19
0
        public override async Task <IList <Course> > GetAllAsync()
        {
            using (StoreDataContext dbContext = new StoreDataContext())
            {
                var results = await dbContext.Courses.Include("Tags").ToListAsync();

                return(results);
            }
        }
Exemplo n.º 20
0
 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();
     }
 }
Exemplo n.º 21
0
 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));
        }
Exemplo n.º 23
0
        public async Task <ActionResult> Post(
            [FromServices] StoreDataContext context,
            [FromBody] Usuario Usuario
            )
        {
            await context.Usuarios.AddAsync(Usuario);

            await context.SaveChangesAsync();

            return(Created("", Usuario));
        }
Exemplo n.º 24
0
 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] ;
     }
 }
Exemplo n.º 25
0
 private void Dispose(bool disposing)
 {
     if (disposing)
     {
         if (_context != null)
         {
             _context.Dispose();
             _context = null;
         }
     }
 }
Exemplo n.º 26
0
        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();
            }
        }
Exemplo n.º 27
0
        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();
            }
        }
Exemplo n.º 28
0
 // 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();
 }
Exemplo n.º 29
0
 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();
 }
Exemplo n.º 31
0
        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>();
        }
Exemplo n.º 32
0
        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));
        }
Exemplo n.º 33
0
        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>();
        }
Exemplo n.º 34
0
        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!");
            });
        }
Exemplo n.º 35
0
        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));
        }
Exemplo n.º 36
0
 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
 }
Exemplo n.º 37
0
        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
                };
            }
        }
Exemplo n.º 40
0
        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();
            }
        }
Exemplo n.º 41
0
        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();
            }
        }
Exemplo n.º 42
0
 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;
 }
Exemplo n.º 43
0
        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);
        }
Exemplo n.º 44
0
        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();
 }
Exemplo n.º 46
0
 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;
 }
Exemplo n.º 50
0
        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(); }
                }
            }
        }
Exemplo n.º 51
0
 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>();
             }
         }
     }
 }
Exemplo n.º 52
0
 private void Save( StoreDataContext context, IEnumerable<ShoppingCartItem> items )
 {
     _storage.SaveItems( context, items );
     OnContentChanged( EventArgs.Empty );
 }
Exemplo n.º 53
0
 protected override void OnInit(EventArgs e)
 {
     base.OnInit(e);
     this.DataContext = (new DCFactory<StoreDataContext>()).DataContext;
 }
Exemplo n.º 54
0
 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);
 }
Exemplo n.º 56
0
 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();
     //}
 }
Exemplo n.º 59
0
        /// <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();
        }
Exemplo n.º 60
0
        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();
                }
            }
        }