public IRelogComponent DoWork(Account account, ref ComponentResult result) { if (Check(account)) { result = new ComponentResult { Result = EComponentResult.Halt, LogMessage = "Halting due to alternative scheduler component settings for {0}.", }; if (IsReady(account)) { Update(account); result = new ComponentResult { Result = EComponentResult.Kill, LogMessage = "Stopping due to alternative scheduler component settings for {0}.", }; } } else { result = new ComponentResult { Result = EComponentResult.Ignore, }; } return(this); }
public IRelogComponent DoWork(Account account, ref ComponentResult result) { if (Check(account)) { result = new ComponentResult { Result = EComponentResult.Halt, LogMessage = LanguageManager.Singleton.GetTranslation(ETranslations.SchedulerComponentHalt), }; if (IsReady(account)) { Update(account); result = new ComponentResult { Result = EComponentResult.Kill, LogMessage = LanguageManager.Singleton.GetTranslation(ETranslations.SchedulerComponentKill), }; } } else { result = new ComponentResult { Result = EComponentResult.Ignore, }; } return(this); }
public IRelogComponent DoWork(Account account, ref ComponentResult result) { if (Check(account)) { result = new ComponentResult { Result = EComponentResult.Continue, }; if (IsReady(account)) { result = new ComponentResult { Result = EComponentResult.Halt, LogMessage = LanguageManager.Singleton.GetTranslation(ETranslations.LaunchDelayComponentHalt), }; } } else { result = new ComponentResult { Result = EComponentResult.Ignore, }; } return(this); }
public string Process(IPayLoad context) { IComponent component=service.GetComponent(context.ID); if (component == null) { ComponentResult result = new ComponentResult() { Code = 404, Message = "Not found Component : " + context.ID }; return CommonHelper.CreateComponentResult(result, context.Type); } return component.GetRenderer().Render(context, component); }
public static string CreateComponentResult(ComponentResult result,RenderType Type) { if(Type==RenderType.Xml) { return new XMLSerializer().Serializer(result); } else { return new JSONSerializer().Serializer(result); } }
public IEnumerable <ComponentResult> GetComponent() { Database db = new DatabaseProviderFactory().Create("JIRA"); List <ComponentResult> result = new List <ComponentResult>(); using (DbCommand cmd = db.GetStoredProcCommand("[dbo].[GetComponent]")) { cmd.CommandTimeout = dbTimeout; DataSet ds = db.ExecuteDataSet(cmd); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { ComponentResult component = new ComponentResult(); component.Id = (int)ds.Tables[0].Rows[i]["Id"]; component.Name = (string)ds.Tables[0].Rows[i]["Name"]; result.Add(component); } } return(result); }
public IRelogComponent DoWork(Account account, ref ComponentResult result) { if (Check(account)) { Update(account); result = new ComponentResult { Result = EComponentResult.Start, }; } else { result = new ComponentResult { Result = EComponentResult.Ignore, }; } return(this); }
public IRelogComponent DoWork(Account account, ref ComponentResult result) { if (Check(account)) { result = new ComponentResult { Result = EComponentResult.Halt, LogMessage = LanguageManager.Singleton.GetTranslation(ETranslations.BasicStopComponentHalt), }; if (IsReady(account)) { if (!account.PerformedCheck) { account.PerformedCheck = true; if (account.Running) { account.SetShouldBeRunning(true); } result = new ComponentResult { Result = EComponentResult.ContinueForced, }; } else { result = new ComponentResult { Result = EComponentResult.Kill, LogMessage = LanguageManager.Singleton.GetTranslation(ETranslations.BasicStopComponentStop), }; } Update(account); } } else { result = new ComponentResult { Result = EComponentResult.Ignore, }; } return(this); }
public IRelogComponent DoWork(Account account, ref ComponentResult result) { if (!account.RestartDelayActive && Check(account)) { account.SetRestartDelayActive(true); account.SetLastStopTime(DateTime.Now); } result = IsReady(account) ? new ComponentResult { Result = EComponentResult.Halt, LogMessage = LanguageManager.Singleton.GetTranslation(ETranslations.RestartDelayComponentHalt), } : new ComponentResult { Result = EComponentResult.Ignore, }; return(this); }
public IRelogComponent DoWork(Account account, ref ComponentResult result) { if (account.BreakObject != null && account.BreakObject.Check()) { if (account.BreakObject.IsReady()) { result = Check(account) ? new ComponentResult { Result = EComponentResult.Kill, LogMessage = LanguageManager.Singleton.GetTranslation(ETranslations.BreakComponentKill), } : new ComponentResult { Result = EComponentResult.Halt, LogMessage = LanguageManager.Singleton.GetTranslation(ETranslations.BreakComponentHalt), }; } else { result = new ComponentResult { Result = EComponentResult.Continue, }; } } else { result = new ComponentResult { Result = EComponentResult.Ignore, }; } if (IsReady(account)) { Update(account); } return(this); }
public string Process(IPayLoad payload) { ConfigurationPayLoad configPayload = payload as ConfigurationPayLoad; IConfigBean bean; if (string.IsNullOrEmpty(configPayload.ID)) { bean = defaultService.GetConfigBean(configPayload); return bean.GetRenderer().Render(configPayload, bean); } string action = configPayload.Action; if (action == "update") { return new JSONSerializer().Serializer(UpdateConfigBean(configPayload)); } bean = configService.GetConfigBean(configPayload); if (bean == null) { ComponentResult result = new ComponentResult() { Code = 404, Message = "Not found ConfigBean : " + configPayload.ID }; return CommonHelper.CreateComponentResult(result, payload.Type); } return bean.GetRenderer().Render(configPayload, bean); }
public IRelogComponent DoWork(Account account, ref ComponentResult result) { Logger.LoggingObject.Log("[TestComponent] DoWork"); return(this); }
/// <summary> /// См. <see cref="OutcomingMessageSender{TMessage}.OnSend(MessageInfo{TMessage}, MessagingServiceBase{TMessage})"/>. /// </summary> internal protected override ComponentResult OnSend(MessageInfo <EmailMessage> message, MessagingServiceBase <EmailMessage> service) { try { var mailMessage = new MailMessage() { From = new MailAddress(message.Message.From.ContactData, string.IsNullOrEmpty(message.Message.From.Name) ? message.Message.From.ContactData : message.Message.From.Name), SubjectEncoding = Encoding.UTF8, Subject = message.Message.Subject, IsBodyHtml = true, BodyEncoding = Encoding.UTF8, Body = message.Message.Body?.ToString(), }; if (service is EmailService && service is IDebugSupported emailService && emailService.IsDebugModeEnabled()) { var debugEmail = emailService.GetDebugRecipient(); if (string.IsNullOrEmpty(debugEmail)) { return(ComponentResult.NotHandled); } message.Message.To.ForEach(x => mailMessage.To.Add(new MailAddress(debugEmail, string.IsNullOrEmpty(x.Name) ? x.ContactData : x.Name))); } else { message.Message.To.ForEach(x => mailMessage.To.Add(new MailAddress(x.ContactData, string.IsNullOrEmpty(x.Name) ? x.ContactData : x.Name))); } try { if (_isIgnoreCertErrors && ServicePointManager.ServerCertificateValidationCallback != _certCallback) { ServicePointManager.ServerCertificateValidationCallback = _certCallback; } getClient().Send(mailMessage); return(ComponentResult.Complete); } catch (System.Security.Authentication.AuthenticationException ex) { if (DateTime.Now > _certErrorTimeout) { service.RegisterServiceEvent(EventType.Error, "SMTP - ошибка отправки письма", "Ошибка проверки сертификата", ex); _certErrorTimeout = DateTime.Now.AddMinutes(15); } return(ComponentResult.NotHandled); } catch (SmtpException ex) { if (ex.Message.Contains("5.7.1 Client does not have permissions to send as this sender")) { return(ComponentResult.Error($"У пользователя, от имени которого выполняется подключение к почтовому серверу, недостаточно прав для отправки писем от имени '{message.Message.From.ContactData}'.")); } var canBeResend = true; service.RegisterServiceEvent(EventType.Error, "SMTP - ошибка отправки письма", null, ex); //if (ex.Message.Contains("Message rejected: Email address is not verified")) //{ // var match = System.Text.RegularExpressions.Regex.Match(ex.Message, "Message rejected: Email address is not verified. The following identities failed the check in region ([^:]+): (.+)"); // if (match.Success) // { // throw new Exception($"Добавьте адрес '{match.Groups[2].Value}' в раздел 'Identity Management/Email Addresses', либо снимите ограничения на отправку писем в регионе '{match.Groups[1].Value}'."); // } // canBeResend = false; //} if (canBeResend) { switch (ex.StatusCode) { case SmtpStatusCode.ServiceClosingTransmissionChannel: case SmtpStatusCode.ServiceNotAvailable: case SmtpStatusCode.TransactionFailed: case SmtpStatusCode.GeneralFailure: try { _client.Dispose(); InitClient(); } catch { } getClient().Send(mailMessage); return(ComponentResult.Complete); default: throw; } } else { throw; } } //todo добавить прикрепление файлов в отправку писем. //if (is_array($files) && count($files) > 0) // foreach ($files as $k=>$v) // { // if (isset($v['url"]) && isset($v['name"])) // $mail->AddAttachment(SITE_PATH.$v['url"], $v['name"].'.'.pathinfo($v['url"], PATHINFO_EXTENSION)); // else if (isset($v['path"]) && isset($v['name"])) // $mail->AddAttachment($v['path"], $v['name"]); // } //$success = $mail->send(); }
public void DoWork() { while (_keepAlive) { while (_isRunning) { try { if (_needDelay) { Thread.Sleep(_delay); } foreach (Account account in Config.Singleton.AccountSettings.ToArray()) { var results = new List <ComponentResult>(); foreach ( ComponentClass component in ComponentManager.Singleton.GetComponents().ToArray().Where(c => c.IsEnabled)) { var result = new ComponentResult(); component.Component.DoWork(account, ref result); results.Add(result); } if (results.Any(r => r.Result == EComponentResult.KillForced)) { if (Config.Singleton.GeneralSettings.ExtensiveLogging) { foreach ( ComponentResult componentResult in results.Where(r => r.Result == EComponentResult.KillForced)) { Logger.LoggingObject.Log(ELogType.Debug, componentResult.LogMessage, account.LoginName); } } new KillWorker().DoWork(account).Update(account); } else if (results.Any(r => r.Result == EComponentResult.HaltForced)) { if (Config.Singleton.GeneralSettings.ExtensiveLogging) { foreach ( ComponentResult componentResult in results.Where(r => r.Result == EComponentResult.HaltForced)) { Logger.LoggingObject.Log(ELogType.Debug, componentResult.LogMessage, account.LoginName); } } account.SetLastStopTime(DateTime.Now); } else if (results.Any(r => r.Result == EComponentResult.StartForced)) { if (Config.Singleton.GeneralSettings.ExtensiveLogging) { foreach ( ComponentResult componentResult in results.Where(r => r.Result == EComponentResult.StartForced)) { Logger.LoggingObject.Log(ELogType.Debug, componentResult.LogMessage, account.LoginName); } } new StartWorker().DoWork(account); } else if (results.Any(r => r.Result == EComponentResult.ContinueForced)) { } else if (results.Any(r => r.Result == EComponentResult.Kill)) { if (Config.Singleton.GeneralSettings.ExtensiveLogging) { foreach ( ComponentResult componentResult in results.Where(r => r.Result == EComponentResult.Kill)) { Logger.LoggingObject.Log(ELogType.Debug, componentResult.LogMessage, account.LoginName); } } new KillWorker().DoWork(account).Update(account); } else if (results.Any(r => r.Result == EComponentResult.Halt)) { if (Config.Singleton.GeneralSettings.ExtensiveLogging) { foreach ( ComponentResult componentResult in results.Where(r => r.Result == EComponentResult.Halt)) { Logger.LoggingObject.Log(ELogType.Debug, componentResult.LogMessage, account.LoginName); } } } else if (results.Any(r => r.Result == EComponentResult.Start)) { if (VersionControl.CheckVersionBot()) { new StartWorker().DoWork(account).Update(account); } else { VersionControl.Update(); } } else if (results.Any(r => r.Result == EComponentResult.Continue)) { } else if (results.Any(r => r.Result == EComponentResult.Ignore)) { } else if (results.Any(r => r.Result == EComponentResult.Default)) { } } User32.EnumWindows(EnumTheWindows, IntPtr.Zero); IEnumerable <Process> gw2Processes = UpdateListWithRemainingGW2Processes(); if (_checkAll || Config.Singleton.GeneralSettings.PollingDelay >= 60) { Process[] enumerable = gw2Processes as Process[] ?? gw2Processes.ToArray(); foreach (Process gw2Process in enumerable) { UpdateProcessIdForMatchingScheduler(gw2Process); if (!gw2Process.Responding) { if (FrozenGW2Windows.All(p => p.Key.Id != gw2Process.Id)) { AddUnresponsiveProcessToTheList(gw2Process); } else { GetRidOfProcessesThatHaveBeenFrozenForLong(gw2Process); } } else { if (_enableViewStateChecks) { var viewState = (EViewState)GW2MinionLauncher.ViewState((uint)gw2Process.Id); //GetViewState(gw2Process); if (viewState != EViewState.ViewGameplay && DeadGW2Windows.All(p => p.Key.Id != gw2Process.Id)) { AddDeadProcessToTheList(gw2Process, viewState); } else if (viewState != EViewState.ViewGameplay) { GetRidOfProcessesThatHaveBeenIdleForLong(gw2Process, viewState); } else { RemoveWorkingWindowsFromTheList(gw2Process); } } RemoveRespondingWindowsFromTheList(gw2Process); MinimizeGW2Windows(gw2Process); } } //if (_buildNumberNeedUpdate == 0) //{ // try // { // _buildNumber = GW2MinionLauncher.BuildNumberFromApi(); // //VersionChecker.CheckForUpdates(); // } // catch // { // _buildNumber = 0; // } // _buildNumberNeedUpdate = 0; // try // { // if (enumerable.Any()) // _enableViewStateChecks = // GW2MinionLauncher.BuildNumber((uint) enumerable.First().Id) == _buildNumber; // && _buildNumber == Pointers.BuildNumber; // } // catch // { // _enableViewStateChecks = false; // } //} //_buildNumberNeedUpdate++; //if (_buildNumberNeedUpdate > 30) // _buildNumberNeedUpdate = 0; } _checkAll = !_checkAll; } catch (Exception) { } Thread.Sleep(Config.Singleton.GeneralSettings.PollingDelay * 1000); } Thread.Sleep(10000); } }
public PeekResult Peek(PeekParameters parameters) { try { if (parameters == null) { throw new ArgumentNullException("parameters"); } if (string.IsNullOrWhiteSpace(parameters.ItemUri)) { throw new ArgumentException(Resources.MissingItemUri); } if (Client.IsExistingObject(parameters.ItemUri)) { var readOptions = new ReadOptions { LoadFlags = LoadFlags.Expanded | LoadFlags.WebDavUrls }; var item = Client.Read(parameters.ItemUri, readOptions); switch (GetItemType(item.Id)) { case ItemType.Category: return(CategoryResult.From((CategoryData)item, Client, CurrentUserId)); case ItemType.Component: return(ComponentResult.From((ComponentData)item, CurrentUserId)); case ItemType.ComponentTemplate: return(ComponentTemplateResult.From((ComponentTemplateData)item, Client, CurrentUserId)); case ItemType.Folder: return(FolderResult.From((FolderData)item, CurrentUserId)); case ItemType.Group: return(GroupResult.From((GroupData)item)); case ItemType.Keyword: return(KeywordResult.From((KeywordData)item, CurrentUserId)); case ItemType.MultimediaType: return(MultimediaTypeResult.From((MultimediaTypeData)item)); case ItemType.Page: return(PageResult.From((PageData)item, Client, CurrentUserId)); case ItemType.PageTemplate: return(PageTemplateResult.From((PageTemplateData)item, Client, CurrentUserId)); case ItemType.Publication: return(PublicationResult.From((PublicationData)item, CurrentUserId)); case ItemType.PublicationTarget: return(PublicationTargetResult.From((PublicationTargetData)item)); case ItemType.Schema: return(SchemaResult.From((SchemaData)item, CurrentUserId)); case ItemType.StructureGroup: return(StructureGroupResult.From((StructureGroupData)item, CurrentUserId)); case ItemType.TargetGroup: return(TargetGroupResult.From((TargetGroupData)item, CurrentUserId)); case ItemType.TargetType: return(TargetTypeResult.From((TargetTypeData)item)); case ItemType.TemplateBuildingBlock: return(TemplateBuildingBlockResult.From((TemplateBuildingBlockData)item, Client, CurrentUserId)); case ItemType.User: return(UserResult.From((UserData)item, Client)); case ItemType.VirtualFolder: return(VirtualFolderResult.From((VirtualFolderData)item, CurrentUserId)); } } return(new EmptyResult()); } catch (Exception ex) { throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message)); } }
// GET: /<controller>/ public FileStreamResult GetTemplateDetails(int templateId, int patientId, string templatelocation, int labReportId, int currentUser) { LabDbContext labDbContext = new LabDbContext(connString); this.labTemplateFolder = templatelocation; var viewReport = (from temp in labDbContext.LabReportTemplates join pat in labDbContext.Patients on 1 equals 1 join req in labDbContext.Requisitions on pat.PatientId equals req.PatientId join labtest in labDbContext.LabTestComponentResults on req.RequisitionId equals labtest.RequisitionId join user in labDbContext.Employee on currentUser equals user.EmployeeId //below is equivalent syntax as LEFT JOIN. needed since providerid could be null in some cases. join employee in labDbContext.Employee on req.ProviderId equals employee.EmployeeId into emptemp from e in emptemp.DefaultIfEmpty() where temp.ReportTemplateID == templateId && pat.PatientId == patientId && labtest.LabReportId == labReportId select new { TemplateName = temp.ReportTemplateShortName, TemplateId = temp.ReportTemplateID, PatientCode = pat.PatientCode, FirstName = pat.FirstName, LastName = pat.LastName, MiddleName = pat.MiddleName, HospitalNo = pat.PatientCode, Age = pat.Age, SampleCreatedOn = req.SampleCreatedOn, LabNo = req.SampleCode, Comments = (string.IsNullOrEmpty(req.Comments) ? "" : req.Comments), Sex = pat.Gender, CreatedBy = user.LongSignature, // CreatedBy = (string.IsNullOrEmpty(user.Salutation) ? "" : user.Salutation + ". ") + user.FirstName + " " + (string.IsNullOrEmpty(user.MiddleName) ? "" : user.MiddleName + " ") + user.LastName + "<w:br/>" + (string.IsNullOrEmpty(user.MedCertificationNo) ? "" : user.MedCertificationNo), // ReferredBy = (string.IsNullOrEmpty(e.Salutation) ? "" : e.Salutation + ". ") + e.FirstName + " " + (string.IsNullOrEmpty(e.MiddleName) ? "" : e.MiddleName + " ") + e.LastName, ReferredBy = e.LongSignature, PatientId = pat.PatientId, Tests = (from req in labDbContext.Requisitions where req.PatientId == pat.PatientId join test in labDbContext.LabTests on req.LabTestId equals test.LabTestId join result in labDbContext.LabTestComponentResults on req.RequisitionId equals result.RequisitionId //where result.IsPrint == false && req.OrderStatus == "final" && where req.OrderStatus == "final" && test.ReportTemplateId == templateId && result.LabReportId == labReportId orderby test.LabSequence ascending group req by new { test.LabTestName, req.RequisitionId, test.LabTestId, test.LabSequence } into grp select new { TestName = grp.Key.LabTestName, RequisitionId = grp.Key.RequisitionId, TestId = grp.Key.LabTestId, Labsequence = grp.Key.LabSequence, Components = ( from res in labDbContext.LabTestComponentResults where res.RequisitionId == grp.Key.RequisitionId select new { ComponentName = res.ComponentName, Value = res.Value, Unit = res.Unit, Range = res.Range, Remarks = res.Remarks, //IsPrint = res.IsPrint, CreatedOn = res.CreatedOn, Method = res.Method, IsNegativeResult = res.IsNegativeResult, IsAbnormal = res.IsAbnormal }).ToList() } into final orderby final.Labsequence ascending select final ).ToList() }).FirstOrDefault(); //mapping the data PatTemplateResult patTemplateResult = new PatTemplateResult(); LabReportTemplateModel template = new LabReportTemplateModel(); template.ReportTemplateShortName = viewReport.TemplateName; patTemplateResult.PatientInfo.PatientName = viewReport.FirstName + " " + (string.IsNullOrEmpty(viewReport.MiddleName) ? "" : viewReport.MiddleName + " ") + viewReport.LastName + " (" + viewReport.HospitalNo + ")"; patTemplateResult.PatientInfo.Age = viewReport.Age; patTemplateResult.PatientInfo.Sex = viewReport.Sex; patTemplateResult.PatientInfo.ReferredBy = viewReport.ReferredBy; //new format for labNo = ddMMYY-SampleCode -- sud:15Dec2017 //new format for labNo = yyMMdd-SampleCode -- ashim:15Dec2017 string sampleDate = viewReport.SampleCreatedOn != null?viewReport.SampleCreatedOn.Value.ToString("yyMMdd") + "-" : ""; patTemplateResult.PatientInfo.LabNo = sampleDate + viewReport.LabNo.ToString(); patTemplateResult.PatientInfo.CreatedBy = viewReport.CreatedBy; if (patTemplateResult.PatientInfo.CreatedBy == "………………………… , , Mr. H.B. Thapa ,B.Sc.MLT-PGIMER(CHD) ,Senior Medical Lab.Technologist ,NHPC NO: A-96" || patTemplateResult.PatientInfo.CreatedBy == "………………………… , , Mr. Mani Ram Mahato ,B.Sc.MLT(TU) ,Medical Lab.Technologist ,NHPC NO: A-1135MLT") { patTemplateResult.PatientInfo.CreatedBy = " "; } else { patTemplateResult.PatientInfo.CreatedBy = viewReport.CreatedBy; } patTemplateResult.PatientInfo.Date = System.DateTime.Now.ToString("dd-MM-yyyy"); patTemplateResult.PatientInfo.Comments = string.IsNullOrEmpty(viewReport.Comments) ? "" : viewReport.Comments; patTemplateResult.tableInfo.TablePlaceHolder = "ReportTable"; //In this viewreport we have tests and inside of the tests we have its components ... //we are storing testname --from tests and componentName,range,unit,value and method --- from Components //first--> we are create a loop of od tests and ---inside that we are created an object of test class and adding testname to the property of that test //second--> in second loop(the loop is of component inside the tests)--inside that loop we are creating object component class aand assiging its porperties // and component is added to test object each time ... // and in the end of the first loop we are addidnf the test to the patTemplateResult object.. bool isNegResult = viewReport.Tests.SelectMany(a => a.Components) .Where(a => a.IsNegativeResult.HasValue && a.IsNegativeResult.Value).Count() > 0; if (isNegResult) { patTemplateResult.PatientInfo.Comments = viewReport.Tests[0].Components[0].Remarks; } if (viewReport.Tests.Count != 0) { for (var i = 0; i < viewReport.Tests.Count; i++) { Test test = new Test(); test.TestName = viewReport.Tests[i].TestName; for (var j = 0; j < viewReport.Tests[i].Components.Count; j++) { ComponentResult result = new ComponentResult() { ComponentName = viewReport.Tests[i].Components[j].ComponentName, Unit = viewReport.Tests[i].Components[j].Unit, Range = viewReport.Tests[i].Components[j].Range, Value = viewReport.Tests[i].Components[j].Value, Method = viewReport.Tests[i].Components[j].Method, Remarks = viewReport.Tests[i].Components[j].Remarks, IsAbnormal = viewReport.Tests[i].Components[j].IsAbnormal }; test.Result.Add(result); } patTemplateResult.tableInfo.Tests.Add(test); } } //adding the dictionaryInfo ----->in this key is the placeholder and value is actual value of the place holder... patTemplateResult.DictionaryInfo.Add("PatientName", patTemplateResult.PatientInfo.PatientName); patTemplateResult.DictionaryInfo.Add("Age", patTemplateResult.PatientInfo.Age); patTemplateResult.DictionaryInfo.Add("Sex", patTemplateResult.PatientInfo.Sex); patTemplateResult.DictionaryInfo.Add("ReferredBy", patTemplateResult.PatientInfo.ReferredBy); patTemplateResult.DictionaryInfo.Add("CreatedBy", patTemplateResult.PatientInfo.CreatedBy); patTemplateResult.DictionaryInfo.Add("LabNo", patTemplateResult.PatientInfo.LabNo.ToString()); patTemplateResult.DictionaryInfo.Add("Date", patTemplateResult.PatientInfo.Date); patTemplateResult.DictionaryInfo.Add("Comments", patTemplateResult.PatientInfo.Comments); LabReportExport labReportExport = new LabReportExport(connString, _highlightAbnormalLabResult); var memStream = new MemoryStream(); string filename = labReportExport.GetReportToExport(template, isNegResult, patTemplateResult, this.labTemplateFolder, this._highlightAbnormalLabResult); return(new FileStreamResult(new FileStream(filename, FileMode.Open), "application/msword")); }