/// <summary> /// Добавляет связи сертификатов с товарами /// </summary> /// <param name="db"></param> /// <param name="links"></param> private static void AddCertificateProdLinks(InsertHelper insert) { var queryCertificateList = (from p in distinctProducts select new { p.Id, p.Certificates }) .Select(s => new { List = s.Certificates .Select(g => new Certificate { ProductId = s.Id, Name = g.Name, IsHygienic = g.IsHygienic }).ToArray() }) .SelectMany(s => s.List) .ToArray(); var list = Mapper.Map <List <import_product_certificates> >(queryCertificateList); string title = insert.Entity.ToString().ToLower(); var entity = new EntityHelper <import_product_certificates> { Db = insert.Db, List = list, Title = title }; AddEntities(entity); }
/// <summary> /// Добавляет связи категорий с товарами /// </summary> /// <param name="db"></param> /// <param name="links"></param> private static void AddCatalogProdLinks(InsertHelper insert) { var queryCatalogList = (from p in distinctProducts select new { p.Id, p.Categories }) .Select(s => new { List = s.Categories .Select(g => new CatalogProductLink { ProductId = s.Id, CatalogId = g.Id }).ToArray() }) .SelectMany(s => s.List) .Distinct() .ToArray(); var uniqueCatalogProds = queryCatalogList .GroupBy(g => new { g.CatalogId, g.ProductId }, (key, group) => new CatalogProductLink { ProductId = key.ProductId, CatalogId = key.CatalogId }); var list = Mapper.Map <List <import_product_categories> >(uniqueCatalogProds); string title = insert.Entity.ToString().ToLower(); var entity = new EntityHelper <import_product_categories> { Db = insert.Db, List = list, Title = title }; AddEntities(entity); }
public void AddBook(string id, string type, string name, string desc) { string message = ""; if (type == "add") { try { DBManager manager = new DBManager(); var book = manager.GetContext().Lib.Find(Convert.ToInt32(id)); UpdateHelper.FromBook(Convert.ToInt32(id), book.Book_title, book.Short_description, Convert.ToString(book.Number_copies + 1), book.How_many_times.ToString()); message = "Запись успешно обновлена"; } catch (Exception ex) { message = "Не удалось обновить запись. Попробуйте еще раз"; } } else if (type == "new") { try { DBManager manager = new DBManager(); Book book = new Book { Book_title = name, Short_description = desc, Number_copies = 1, How_many_times = 0 }; InsertHelper.FromBook(name, desc, Convert.ToString(1), Convert.ToString(0)); int idBook = manager.GetContext().Lib.First(s => s.Book_title == name).Id; DBManager man2 = new DBManager(); var order = man2.GetContext().BuyOrders.Where(s => s.Id_book == idBook); if (order.Count() > 0) { foreach (var el in order) { DeleteHelper.FromBuyOrder(el.Id); } } message = "Запись успешно обновлена"; } catch (Exception ex) { message = "Не удалось обновить запись. Попробуйте еще раз"; } } else { message = "Не удалось обновить запись. Попробуйте еще раз"; } Response.Redirect("/Home/Add?message=" + message); }
/// <summary> /// Работа с файлами импорта /// </summary> /// <param name="file"></param> private static bool FileProcessing(FileInfo file, dbModel db, ReceiverParamsHelper receiverParams) { try { SrvcLogger.Info("{preparing}", $"импорт данных из: '{file.Name}'"); Log.Insert(0, $"Чтение данных: {file.Name}"); using (FileStream fileStream = new FileStream(file.FullName, FileMode.Open)) { SrvcLogger.Info("{preparing}", $"данные прочитаны из файла: {file.Name}"); Log.Insert(0, "Данные прочитаны"); var helper = new InsertHelper { FileStream = fileStream, Db = db, Entity = Entity.Catalogs }; if (file.Name.StartsWith("cat")) { InsertWithLogging(helper); } else if (file.Name.StartsWith("prod")) { foreach (Entity entity in Enum.GetValues(typeof(Entity))) { if (!entity.Equals(Entity.Catalogs)) { helper.Entity = entity; InsertWithLogging(helper); } } Step++; SrvcLogger.Info("{work}", "перенос данных из буферных таблиц"); Log.Insert(0, "Перенос данных из буферных таблиц"); Finalizer(db); Step++; } else if (file.Name.Contains(".zip")) { ImageService imageService = new ImageService(receiverParams); imageService.Execute(file); } } return(true); } catch (Exception e) { SrvcLogger.Error("{error}", e.ToString()); return(false); } }
public override void Write(int flowID, IEnumerable <KeyValuePair <long, Tick> > flow) { InsertHelper helper = helpers[flowID]; foreach (var kv in flow) { helper.Insert(kv.Key, kv.Value.Symbol, kv.Value.Timestamp, kv.Value.Bid, kv.Value.Ask, kv.Value.BidSize, kv.Value.BidSize, kv.Value.Provider); } helpers[flowID].Flush(); }
public string GetSql() { var sql = InsertHelper.GetInsertSql(_map, CreateValues); if (_map.HasAutoGeneratedId()) { sql += " SELECT LAST_INSERT_ID();"; } return(sql); }
public void GetColumns_SimpleObject_ShouldContainSimpleObjectsMappedColumns() { var simpleObjectMap = new SimpleObjectMap(); var columns = InsertHelper.GetColumns(simpleObjectMap); var columneNames = columns.Select(p => p.ColumnName); Assert.That(columneNames, Contains.Item("`LongColumnName`")); Assert.That(columneNames, Contains.Item("`SomeString`")); Assert.That(columneNames, Contains.Item("`NullableLong`")); Assert.That(columneNames, Contains.Item("`Guid`")); Assert.That(columneNames, Contains.Item("`NullableGuid`")); Assert.That(columneNames, Contains.Item("`IntBasedEnum`")); Assert.That(columneNames, Contains.Item("`NullableIntBasedEnum`")); }
public void ReadBook() { try { var type = Request.Params["Type"]; var name = Request.Params["selection"]; var idBook = Convert.ToInt32(Request.Params["Id_book"]); string message = ""; Employee employee = manager.GetContext().Employees.Where(s => s.FIO == name).FirstOrDefault(); Book book = manager.GetContext().Lib.Find(idBook); var issBook = manager.GetContext().IssuedBooks.Where(s => s.Id_book == idBook); if (type == "read,") { if (book.Number_copies - issBook.Count() > 0) { message += UpdateHelper.FromEmployee(employee.Id, employee.Department, employee.FIO, employee.Phone, employee.Read_books + 1); message += InsertHelper.FromIssued(idBook, employee.Id, DateTime.Now.AddDays(15).ToString()); var d = manager.GetContext().ReadingOrders.Where(s => s.Id_employee == employee.Id); if (d != null) { foreach (var b in d) { if (b.Id_book == idBook) { DeleteHelper.FromReadingOrder(b.Id); } } } } else { message = "В данный момент нет свободных книг. Вы можете оформить заказ на чтение"; } } else if (type == "order,") { message = InsertHelper.FromReadingOrder(employee.Id, Convert.ToInt32(idBook)); } Response.Redirect("/Home/Read?message=" + message); } catch (Exception ex) { Response.Redirect("/Home/Read?message=" + ex.Message); } }
public override void Init(int flowCount, long flowRecordCount) { helpers = new InsertHelper[flowCount]; connections = new FbConnection[flowCount]; FbConnection.CreateDatabase(GetConnectionString()); for (int i = 0; i < flowCount; i++) { connections[i] = new FbConnection(GetConnectionString()); connections[i].Open(); helpers[i] = new InsertHelper(insertsPerQuery, connections[i], CollectionName); } CreateTable(connections[0], CollectionName); }
/// <summary> /// Попытка вставки списка данных с логированием /// </summary> /// <param name="insert"></param> private static void InsertWithLogging(InsertHelper insert) { string title = insert.Entity.ToString().ToLower(); try { SrvcLogger.Info("{work}", $"{dictionary[title]} начало"); EmailBody += $"<p><b>{dictionary[title]}</b> начало</p>"; switch (insert.Entity) { case Entity.Catalogs: AddCategories(insert); break; case Entity.Products: distinctProducts = AddProducts(insert); break; case Entity.CatalogProductLinks: AddCatalogProdLinks(insert); break; case Entity.Images: AddImageProdLinks(insert); break; case Entity.Certificates: AddCertificateProdLinks(insert); break; } SrvcLogger.Info("{work}", $"{dictionary[title]} конец"); EmailBody += $"<p><b>{dictionary[title]}</b> конец</p>"; UpdateCurrentStep(); } catch (Exception e) { string errorMessage = e.ToString(); EmailBody += $"<p>{errorMessage}</p>"; SrvcLogger.Error("{error}", $"ошибка при импорте {dictionary[title]}"); SrvcLogger.Error("{error}", errorMessage); CountFalse++; } }
/// <summary> /// Добавляет категории /// </summary> /// <param name="db"></param> /// <param name="catalogs"></param> private static void AddCategories(InsertHelper insert) { var serializer = new XmlSerializer(typeof(CatalogList)); var arrayOfCatalogs = (CatalogList)serializer.Deserialize(insert.FileStream); var distinctCatalogs = (from c in arrayOfCatalogs.Catalogs select c).GroupBy(g => g.Id) .Select(s => s.First()).ToArray(); var list = Mapper.Map <List <import_catalogs> >(distinctCatalogs); string title = insert.Entity.ToString().ToLower(); var entity = new EntityHelper <import_catalogs> { Db = insert.Db, List = list, Title = title }; AddEntities(entity); }
/// <summary> /// Добавляет продукцию /// </summary> /// <param name="db"></param> /// <param name="products"></param> private static Product[] AddProducts(InsertHelper insert) { Product[] result = null; var serializer = new XmlSerializer(typeof(ArrayOfProducts)); var arrayOfProducts = (ArrayOfProducts)serializer.Deserialize(insert.FileStream); var distinctProducts = (from p in arrayOfProducts.Products select p).GroupBy(g => g.Id) .Select(s => s.First()).ToArray(); var list = Mapper.Map <List <import_products> >(distinctProducts); string title = insert.Entity.ToString().ToLower(); var entity = new EntityHelper <import_products> { Db = insert.Db, List = list, Title = title }; AddEntities(entity); result = distinctProducts; CountProducts = distinctProducts.Count(); return(result); }
public IEnumerable <Property> GetColumns() { return(InsertHelper.GetColumns(_map)); }
public string GetSql(int numberOfRows) { return(InsertHelper.GetUpsertSql(_map, columns => CreateValues(columns, numberOfRows))); }
public InsertStepBindings() { dbHelper = new InsertHelper(ScenarioContext.Current.Get <string>("connectionstring")); }