public IMongoProcedure GetProcedure(GetMongoProceduresRequest request) { IMongoProcedure proc = GetInstanceFromExecutingAssembly(request); if (proc != null) { proc.Request = request; } return(proc); }
private void executeMongoProcedure(string procName) { double version = 1.0; double docVersion = 1.0; string contract = "InHealth001"; string context = "NG"; string userId = "user"; GetMongoProceduresRequest request = new GetMongoProceduresRequest { Version = version, Name = procName, DocumentVersion = docVersion, ContractNumber = contract, Context = context, UserId = userId }; MongoProcedureFactory factory = new MongoProcedureFactory(); IMongoProcedure proc = factory.GetProcedure(request); proc.Execute(); }
private IMongoProcedure GetInstanceFromExecutingAssembly(GetMongoProceduresRequest request) { IMongoProcedure pr = null; string nm = string.Empty; foreach (Type mytype in Assembly.GetExecutingAssembly().GetTypes() .Where(mytype => mytype.GetInterfaces().Contains(typeof(IMongoProcedure)) && !mytype.IsAbstract)) { if (GetStaticPropertyName(request.Name, mytype)) { pr = mytype.GetConstructor(new Type[] { }).Invoke(new object[] { }) as IMongoProcedure; break; } } return(pr); }