private void FillData(string clientId) { if (!string.IsNullOrEmpty(clientId)) { List<ShoppingCartItem> cartItems = new List<ShoppingCartItem>(); using (var context = new DCFactory<StoreDataContext>()) { cartItems = context.DataContext.ShoppingCartItems.Where(i => i.ClientID == clientId).ToList(); } _gvToExcel.DataSource = cartItems; _gvToExcel.DataBind(); } }
private void LoadDiscsFromReader(SpreadsheetReader reader, LoadResult result) { //проверка наличия в файле единственного листа с заказом reader.CurrentSheet = 0; int numOfFields = 9; List<RmsAuto.Store.Cms.Entities.Disc> t = new List<RmsAuto.Store.Cms.Entities.Disc>(); for (int r = 1; r < reader.RecordCount; r++) { string[] rec = new string[numOfFields]; for (int i = 0; i < numOfFields; i++) rec[i] = reader[r, i]; rec = rec.Each(s => s.Trim()).ToArray(); if (rec.All(s => s == "")) continue; if (rec.All(s => string.IsNullOrEmpty(s))) { break; } var t1 = new RmsAuto.Store.Cms.Entities.Disc(); for (int c = 0; c < numOfFields; c++) { string value = rec[c]; try { switch (c) { case 0: t1.Manufacturer = value; break; case 1: t1.ModelName = value; break; case 2: t1.PartNumber = value; break; case 3: t1.Width = Decimal.Parse(value); break; case 4: t1.Diameter = Decimal.Parse(value); break; case 5: t1.Gab = Decimal.Parse(value); break; case 6: t1.PCD = value; break; case 7: t1.Dia = Decimal.Parse(value); break; } } catch { //TODO допилить обработку ошибок } } t.Add(t1); } using (CmsDataContext cms = new CmsDataContext()) { try { cms.Connection.Open(); cms.Transaction = cms.Connection.BeginTransaction(); var current = cms.Discs.Select(x => x).ToList(); current.Sort(new DiscComparer()); t.Sort(new DiscComparer()); t = t.Select(x => x).Distinct(new DiscComparer()).ToList(); //Пробегаем по каждому объекту каталога и смотрим какая у него была картинка foreach (var RefObj in t) { var tmp = current.Where(x => x.PartNumber == RefObj.PartNumber).FirstOrDefault(); RefObj.ImageUrl = tmp != null && tmp.ImageUrl.HasValue ? tmp.ImageUrl : (int)NoPhotoID.Disc; } // "мерджим" старое и новое t = t.UnionAndDistinct<RmsAuto.Store.Cms.Entities.Disc>(current, new DiscComparer()); cms.Discs.DeleteAllOnSubmit(current); cms.Discs.InsertAllOnSubmit(t); cms.SubmitChanges(ConflictMode.ContinueOnConflict); cms.Transaction.Commit(); Response.Redirect(Request.Url.ToString()); } catch (ChangeConflictException) { //TODO допилить обработку ошибок //Если не удалось изменить какую-то одну запись это не значит что нужно делать откат всего } catch (Exception) { cms.Transaction.Rollback(); //ShowMessage("Указано неиспользуемое имя бренда"); Logger.WriteError("Ошибка при сохранении результатов загрузки дисков", EventLogerID.BLException, EventLogerCategory.BLError); } finally { if (cms.Connection.State == System.Data.ConnectionState.Open) { cms.Connection.Close(); } } } }
private void LoadTiresFromReader(SpreadsheetReader reader, LoadResult result) { //проверка наличия в файле единственного листа с заказом reader.CurrentSheet = 0; int numOfFields = 9; List<RmsAuto.Store.Cms.Entities.Battery> t = new List<RmsAuto.Store.Cms.Entities.Battery>(); for (int r = 1; r < reader.RecordCount; r++) { string[] rec = new string[numOfFields]; for (int i = 0; i < numOfFields; i++) rec[i] = reader[r, i]; rec = rec.Each(s => s.Trim()).ToArray(); if (rec.All(s => s == "")) continue; if (rec.All(s => string.IsNullOrEmpty(s))) { break; } var t1 = new RmsAuto.Store.Cms.Entities.Battery(); for (int c = 0; c < numOfFields; c++) { string value = rec[c]; try { switch (c) { case 0: t1.Manufacturer = value; break; case 1: t1.ModelName = value; break; case 2: t1.PartNumber = value; break; case 3: t1.Capacity = Decimal.Parse(value); break; case 4: t1.polarity = value; break; case 5: t1.cleat = value; break; case 6: t1.Size = value; break; } } catch { //TODO допилить обработку ошибок } } t.Add(t1); } using (CmsDataContext cms = new CmsDataContext()) { try { cms.Connection.Open(); cms.Transaction = cms.Connection.BeginTransaction(); var current = cms.Batteries.Select(x => x).ToList(); current.Sort(new BatteryComparer()); t.Sort(new BatteryComparer()); t = t.Select(x => x).Distinct(new BatteryComparer()).ToList(); //Пробегаем по каждому объекту каталога и смотрим какая у него была картинка foreach (var RefObj in t) { var tmp = current.Where(x => x.PartNumber == RefObj.PartNumber).FirstOrDefault(); RefObj.ImageUrl = tmp != null && tmp.ImageUrl.HasValue ? tmp.ImageUrl : (int)NoPhotoID.Battery; } t = t.UnionAndDistinct<RmsAuto.Store.Cms.Entities.Battery>(current, new BatteryComparer()); cms.Batteries.DeleteAllOnSubmit(current); cms.Batteries.InsertAllOnSubmit(t); cms.SubmitChanges(ConflictMode.ContinueOnConflict); cms.Transaction.Commit(); } catch (ChangeConflictException) { //TODO допилить обработку ошибок } catch (Exception) { cms.Transaction.Rollback(); Logger.WriteError("Ошибка при сохранении результатов загрузки аккумуляторов", EventLogerID.BLException, EventLogerCategory.BLError); } finally { if (cms.Connection.State == System.Data.ConnectionState.Open) { cms.Connection.Close(); } } } }
private void FillData() { int orderID = -1; int.TryParse(_txtOrderID.Text.Trim(), out orderID); if (orderID > 0) { List<OrderLine> orderLines = new List<OrderLine>(); using (var context = new DCFactory<StoreDataContext>()) { orderLines = context.DataContext.OrderLines.Where(l => l.OrderID == orderID && l.CurrentStatus != OrderLineStatusUtil.StatusByte("Rejected")).ToList(); } _gvOrderLines.DataSource = orderLines; _gvOrderLines.DataBind(); } }