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); }
public GetMongoProceduresResponse ExecuteProcedure(GetMongoProceduresRequest request) { try { GetMongoProceduresResponse response = new GetMongoProceduresResponse(); response.Success = false; IMongoProcedure proc = new MongoProcedureFactory().GetProcedure(request); if (proc != null) { proc.Execute(); response.Results = proc.Results; response.Success = true; } return(response); } catch (Exception ex) { throw new Exception("DD:DataProgramManager:ExecuteProcedure()::" + ex.Message, ex.InnerException); } }
public GetMongoProceduresResponse Get(GetMongoProceduresRequest request) { GetMongoProceduresResponse response = new GetMongoProceduresResponse(); try { if (string.IsNullOrEmpty(request.UserId)) { throw new UnauthorizedAccessException("ProgramDD:Post()::Unauthorized Access"); } IProceduresManager pm = new ProceduresManager(); response = pm.ExecuteProcedure(request); response.Version = request.Version; } catch (Exception ex) { CommonFormatter.FormatExceptionResponse(response, base.Response, ex); string aseProcessID = ConfigurationManager.AppSettings.Get("ASEProcessID") ?? "0"; Common.Helper.LogException(int.Parse(aseProcessID), ex); } return(response); }