public void GetRoutesParser() { var sut = new EntityParserFactory(); var parser = sut.Create(SupportedFileNames.Routes); Assert.True(typeof(Route).IsAssignableFrom(parser.GetType().GetGenericArguments()[0])); Assert.True(typeof(RoutesMap).IsAssignableFrom(parser.GetType().GetGenericArguments()[1])); }
public void Import(int empresa, int linea, IData idata, int version) { using (var transaction = SmartTransaction.BeginTransaction()) { try { var parser = EntityParserFactory.GetEntityParser(idata); if (parser == null) { throw new EntityParserException(); } var entity = parser.Parse(empresa, linea, idata); if (entity == null) { throw new EntityParserException(); } switch (idata.Operation) { case (int)Operation.Delete: parser.Delete(entity, empresa, linea, idata); break; case (int)Operation.Add: parser.Save(entity, empresa, linea, idata); break; case (int)Operation.Modify: parser.Update(entity, empresa, linea, idata); break; case (int)Operation.AddOrModify: parser.SaveOrUpdate(entity, empresa, linea, idata); break; } transaction.Commit(); } catch (Exception ex) { STrace.Exception(typeof(Server).FullName, ex, String.Format("Exception Server.Import(empresa={0}, linea={1})", empresa, linea)); transaction.Rollback(); } } }