public async Task AddNote(IEnumerable <string> requestIds, string userId, string userName, bool isTechnician, string noteDescription) { foreach (var id in requestIds) { bool isInt = int.TryParse(id, out int requestId); if (!isInt) { continue; } Request request = await this.repository.All().FirstOrDefaultAsync(r => r.Id == requestId); if (isTechnician || userId == request.RequesterId) { RequestNote note = new RequestNote { RequestId = requestId, Description = noteDescription, CreationTime = DateTime.UtcNow, Author = userName }; request.Notes.Add(note); } } await this.SaveChangesAsync(); }
public void ShowWebServiceUrl() { RequestNote note = new RequestNote(); var url = note.Url; Console.WriteLine(url); }
public void GetRequestionBySheetId() { // RequestNoteSoap ws = new RequestNoteSoapClient(); Request req = new Request(); req.requestHeader = new RequestHeader(); req.requestHeader.sender = "2.16.840.1.113883.4.487.2.1.9"; req.requestHeader.receiver = "2.16.840.1.113883.4.487.2.1.3"; req.requestHeader.requestTime = DateTime.Now.ToString("yyyyMMddHH24mmss"); req.requestHeader.msgType = "RequisitionFind"; req.requestHeader.msgId = "SPEC20140909000009"; req.requestHeader.msgPriority = "Normal"; req.requestHeader.msgVersion = "1.0"; req.requestBody = $@" <RequisitionFind> <SheetID>{"10001143"}</SheetID> <ExamID></ExamID> </RequisitionFind>" ; RequestNote note = new RequestNote(); var result = note.RequisitionFind(req); Console.WriteLine(result); // return result; var resObj = LGInterface.GetRequestionBySheetId("10001143"); }
/// <summary> /// 根据申请单号获取申请单详细信息 /// </summary> /// <returns></returns> public static RequestInfoResult GetRequestionBySheetId(string sheetId) { // RequestNoteSoap ws = new RequestNoteSoapClient(); Request req = new Request(); req.requestHeader = new RequestHeader(); req.requestHeader.sender = "2.16.840.1.113883.4.487.2.1.9"; req.requestHeader.receiver = "2.16.840.1.113883.4.487.2.1.3"; req.requestHeader.requestTime = DateTime.Now.ToString("yyyyMMddHH24mmss"); req.requestHeader.msgType = "RequisitionFind"; req.requestHeader.msgId = "SPEC20140909000009"; req.requestHeader.msgPriority = "Normal"; req.requestHeader.msgVersion = "1.0"; req.requestBody = $@" <RequisitionFind> <SheetID>{sheetId}</SheetID> <ExamID></ExamID> </RequisitionFind>" ; RequestNote note = new RequestNote(); note.Url = f.ReadString("广州中山附一", "平台服务url", "http://168.168.252.112:4463/RequestNote"); log.WriteMyLog("尝试从电子申请单WebService获取信息,入参:\r\n" + req.requestBody + "\r\nUrl:" + note.Url); RequestInfoResult result = null; try { var respones = note.RequisitionFind(req); log.WriteMyLog("获取电子申请单信息成功:" + respones.responseBody); result = XmlUtil.Deserialize <RequestInfoResult>(respones.responseBody); } catch (Exception e) { log.WriteMyLog("从电子申请单WebService获取信息失败:\r\n" + e); } //SheetID(电子申请单ID)为空,代表没找到申请单 if (string.IsNullOrEmpty(result.SheetID)) { result = null; } //2017年11月13日 岱嘉张继松: //当是门诊 +特诊+科室不是内镜中心(代码7100)的科室,送检科室全部匹配成特诊门诊,因为这部分报告是需要送到特诊门诊中心的。 if (result != null && (result.PatientStyle == "0" && result.HTH == "82" && result.DepartMentID != "7100")) { result.DepartMent = "特诊门诊"; result.DepartMentID = "6160"; } return(result); }
/// <summary> /// 根据申请单号获取申请单详细信息 /// </summary> /// <returns></returns> public static RequestInfoResult GetRequestionBySheetId(string sheetId) { // RequestNoteSoap ws = new RequestNoteSoapClient(); Request req = new Request(); req.requestHeader = new RequestHeader(); req.requestHeader.sender = "2.16.840.1.113883.4.487.2.1.9"; req.requestHeader.receiver = "2.16.840.1.113883.4.487.2.1.3"; req.requestHeader.requestTime = DateTime.Now.ToString("yyyyMMddHH24mmss"); req.requestHeader.msgType = "RequisitionFind"; req.requestHeader.msgId = "SPEC20140909000009"; req.requestHeader.msgPriority = "Normal"; req.requestHeader.msgVersion = "1.0"; req.requestBody = $@" <RequisitionFind> <SheetID>{sheetId}</SheetID> <ExamID></ExamID> </RequisitionFind>" ; RequestNote note = new RequestNote(); log.WriteMyLog("尝试从电子申请单WebService获取信息,入参:\r\n" + req.requestBody + "\r\nUrl:" + note.Url); RequestInfoResult result = null; try { var respones = note.RequisitionFind(req); log.WriteMyLog("获取电子申请单信息成功:" + respones.responseBody); result = XmlUtil.Deserialize <RequestInfoResult>(respones.responseBody); } catch (Exception e) { log.WriteMyLog("从电子申请单WebService获取信息失败:\r\n" + e); } //SheetID(电子申请单ID)为空,代表没找到申请单 if (string.IsNullOrEmpty(result.SheetID)) { result = null; } return(result); }
public async Task AddNote(int requestId, string userId, string userName, bool isTechnician, string noteDescription) { Request request = await this.ById(requestId).FirstAsync(); if (isTechnician || userId == request.RequesterId) { RequestNote note = new RequestNote { RequestId = requestId, Description = noteDescription, CreationTime = DateTime.UtcNow, Author = userName }; request.Notes.Add(note); await this.SaveChangesAsync(); } }
public ServiceCallResult <bool> AddRequestNote([FromBody] RequestNoteViewModel requestNote) { try { _wtContext.SetCurrentUser(Auth.GetCurrentUser(User.Identity.Name).fullName); RequestNote newRequestNote = new RequestNote(); newRequestNote.RequestId = requestNote.RequestId; newRequestNote.Note = requestNote.Note; _wtContext.RequestNotes.Add(newRequestNote); _wtContext.SaveChanges(); return(ServiceCallResult <bool> .CreateSuccessResult(String.Format(UserMessageResource.FieldAddedSuccessfully, FieldNamesResource.RequestNote), true)); } catch (Exception ex) { return(ServiceCallResult <bool> .CreateErrorResult(String.Format(UserMessageResource.ErrorAddingField, FieldNamesResource.RequestNote) + ex.Message, false)); } }
public ServiceCallResult <RequestViewModel> UpdateRequest([FromBody] RequestViewModel request) { try { string previousStatus = ""; bool owningStreamChange = false; bool statusChange = false; _wtContext.SetCurrentUser(Auth.GetCurrentUser(User.Identity.Name).fullName); if (!isRequestValid(request)) { return(ServiceCallResult <RequestViewModel> .CreateErrorResult(String.Format(UserMessageResource.ErrorSavingInputInvalid, FieldNamesResource.Request, FieldNamesResource.Fields), request)); } var existingRequest = _wtContext.Requests.Include(x => x.Status).Include(x => x.OwningStream).Where(x => x.Id == request.Id).FirstOrDefault(); if (existingRequest != null) { existingRequest.ApplicationId = request.AppName.Id; existingRequest.ProjectName = request.ProjectName; existingRequest.Problem = request.Problem; existingRequest.BenefitCase = request.BenefitCase; existingRequest.COEPriority = request.COEPriority; existingRequest.GBSPriority = request.GBSPriority; if (request.StatusId != existingRequest.StatusId) { previousStatus = existingRequest.Status.Name; existingRequest.StatusId = request.StatusId; } existingRequest.MD_50_DueDate = request.MD_50_DueDate != null?Convert.ToDateTime(request.MD_50_DueDate) : (DateTime?)null; existingRequest.MD_70_DueDate = request.MD_70_DueDate != null?Convert.ToDateTime(request.MD_70_DueDate) : (DateTime?)null; existingRequest.TestingDate = request.TestingDate != null?Convert.ToDateTime(request.TestingDate) : (DateTime?)null; existingRequest.ProductionDate = request.ProductionDate != null?Convert.ToDateTime(request.ProductionDate) : (DateTime?)null; existingRequest.TotalEstimate = request.TotalEstimate; existingRequest.OracleDevEstimateOffShore = request.OracleDevEstimateOffShore; existingRequest.OracleDevEstimateOnShore = request.OracleDevEstimateOnShore; existingRequest.DCOEEstimate = request.DCOEEstimate; existingRequest.CRNo = request.CRNo; existingRequest.FunctionalContact = request.FunctionalContact; existingRequest.BIContact = request.BIContact; existingRequest.OracleDevelopmentLead = request.OracleDevelopmentLead; existingRequest.DCOEDevelopmentLead = request.DCOEDevelopmentLead; existingRequest.MD_50 = request.MD_50; existingRequest.MD_70 = request.MD_70; existingRequest.TIPUrl = request.TIPUrl; existingRequest.EBSGateQuestionnaireUrl = request.EBSGateQuestionnaireUrl; existingRequest.BIGateQuestionnaireUrl = request.BIGateQuestionnaireUrl; existingRequest._NETGateQuestionnaireUrl = request._NETGateQuestionnaireUrl; existingRequest.OTMGateQuestionnaireUrl = request.OTMGateQuestionnaireUrl; existingRequest.ReadyForEBSGateId = request.ReadyForEBSGate != null ? request.ReadyForEBSGate.Id : (int?)null; existingRequest.EBSGateStatusId = request.EBSGateStatus != null ? request.EBSGateStatus.Id : (int?)null; existingRequest.NextEBSGateId = request.NextEBSGate != null ? request.NextEBSGate.Id : (int?)null; existingRequest.ReadyForOTMGateId = request.ReadyForOTMGate != null ? request.ReadyForOTMGate.Id : (int?)null; existingRequest.OTMGateStatusId = request.OTMGateStatus != null ? request.OTMGateStatus.Id : (int?)null; existingRequest.OTMEBSGateId = request.OTMEBSGate != null ? request.OTMEBSGate.Id : (int?)null; existingRequest.ReadyForBIGateId = request.ReadyForBIGate != null ? request.ReadyForBIGate.Id : (int?)null; existingRequest.BIGateStatusId = request.BIGateStatus != null ? request.BIGateStatus.Id : (int?)null; existingRequest.NextBIGateId = request.NextBIGate != null ? request.NextBIGate.Id : (int?)null; existingRequest.ReadyFor_NETGateId = request.ReadyFor_NETGate != null ? request.ReadyFor_NETGate.Id : (int?)null; existingRequest._NETGateStatusId = request._NETGateStatus != null ? request._NETGateStatus.Id : (int?)null; existingRequest.Next_NETGateId = request.Next_NETGate != null ? request.Next_NETGate.Id : (int?)null; existingRequest.EstimateInfra = request.EstimateInfra; existingRequest.FrontLineContact = request.FrontLineContact; existingRequest.OwningSiteId = request.OwningSite != null ? request.OwningSite.Id : (int?)null; existingRequest.Requestor = request.Requestor; existingRequest.BIRequestId = request.BIRequestId; existingRequest.OriginalSystemReference = request.OriginalSystemReference; existingRequest.Attribute1 = request.Attribute1; existingRequest.Attribute2 = request.Attribute2; existingRequest.Attribute3 = request.Attribute3; existingRequest.Attribute4 = request.Attribute4; existingRequest.Attribute5 = request.Attribute5; existingRequest.Attribute6 = request.Attribute6; existingRequest.Attribute7 = request.Attribute7; existingRequest.Attribute8 = request.Attribute8; existingRequest.Attribute9 = request.Attribute9; existingRequest.Attribute10 = request.Attribute10 != null?Convert.ToDateTime(request.Attribute10) : (DateTime?)null; //default these values to false, set them to true whether values exist in impacted stream array. existingRequest.BIImpactedStream = false; existingRequest.OTMImpactedStream = false; //Change Valid if (existingRequest.StatusId != request.Status.Id) { statusChange = true; existingRequest.StatusId = request.Status.Id; } if (existingRequest.OwningStreamId != request.OwningStream.Id) { owningStreamChange = true; existingRequest.OwningStreamId = request.OwningStream.Id; } //regions var regions = _wtContext.RequestRegions.Where(x => x.RequestId == request.Id).ToList(); _wtContext.RequestRegions.RemoveRange(regions); foreach (var r in request.Regions) { var reg = new RequestRegion(); reg.RequestId = request.Id; reg.RegionId = r.Id; _wtContext.RequestRegions.Add(reg); } //sbus var sbus = _wtContext.RequestSBUs.Where(x => x.RequestId == request.Id).ToList(); _wtContext.RequestSBUs.RemoveRange(sbus); foreach (var s in request.SBUs) { var sbu = new RequestSBU(); sbu.RequestId = request.Id; sbu.SBUId = s.Id; _wtContext.RequestSBUs.Add(sbu); } //impactedstreams var impactedstreams = _wtContext.RequestImpactedStreams.Where(x => x.RequestId == request.Id).ToList(); _wtContext.RequestImpactedStreams.RemoveRange(impactedstreams); foreach (var i in request.ImpactedStreams) { var ist = new RequestImpactedStream(); ist.RequestId = request.Id; ist.ImpactedStreamId = i.Id; if (i.Name.ToUpper() == "BI") { existingRequest.BIImpactedStream = true; } if (i.Name.ToUpper() == "OTM") { existingRequest.OTMImpactedStream = true; } _wtContext.RequestImpactedStreams.Add(ist); } //modules var modules = _wtContext.RequestModules.Where(x => x.RequestId == request.Id).ToList(); _wtContext.RequestModules.RemoveRange(modules); foreach (var i in request.Modules) { var mod = new RequestModule(); mod.RequestId = request.Id; mod.ModuleId = i.Id; _wtContext.RequestModules.Add(mod); } //developmentteams var developmentteams = _wtContext.RequestDevelopmentTeams.Where(x => x.RequestId == request.Id).ToList(); _wtContext.RequestDevelopmentTeams.RemoveRange(developmentteams); foreach (var i in request.DevelopmentTeams) { var dt = new RequestDevelopmentTeam(); dt.RequestId = request.Id; dt.DevelopmentTeamId = i.Id; _wtContext.RequestDevelopmentTeams.Add(dt); } //oraclepreprodenvironments var oracleenvs = _wtContext.RequestOraclePreProdEnvironments.Where(x => x.RequestId == request.Id).ToList(); _wtContext.RequestOraclePreProdEnvironments.RemoveRange(oracleenvs); foreach (var i in request.OraclePreProdEnvironments) { var oe = new RequestOraclePreProdEnvironment(); oe.RequestId = request.Id; oe.OraclePreProdEnvironmentId = i.Id; _wtContext.RequestOraclePreProdEnvironments.Add(oe); } //add note if status has changed if (!string.IsNullOrEmpty(previousStatus)) { var note = new RequestNote(); note.RequestId = request.Id; note.Note = "Status Changed from " + previousStatus + " to " + request.Status.Name; _wtContext.RequestNotes.Add(note); } //attachments _wtContext.SaveChanges(); } else { return(ServiceCallResult <RequestViewModel> .CreateErrorResult(String.Format(UserMessageResource.ErrorSavingInputInvalid, FieldNamesResource.Request, FieldNamesResource.Fields), request)); } Request ret = _wtContext.Requests.Where(x => x.Id == request.Id) .Include(x => x.Application) .Include(x => x.Attachments) .Include(x => x.Status) .Include(x => x.Regions).ThenInclude(x => x.Region) .Include(x => x.SBUs).ThenInclude(x => x.SBU) .Include(x => x.OwningSite) .Include(x => x.OwningStream) .Include(x => x.ImpactedStreams).ThenInclude(x => x.ImpactedStream) .Include(x => x.Modules).ThenInclude(x => x.Module) .Include(x => x.DevelopmentTeams).ThenInclude(x => x.DevelopmentTeam) .Include(x => x.OraclePreProdEnvironments).ThenInclude(x => x.OraclePreProdEnvironment) .Include(x => x.BIRequest) .Include(x => x.BIGateStatus) .Include(x => x.NextBIGate) .Include(x => x.ReadyForBIGate) .Include(x => x._NETGateStatus) .Include(x => x.Next_NETGate) .Include(x => x.ReadyFor_NETGate) .Include(x => x.EBSGateStatus) .Include(x => x.NextEBSGate) .Include(x => x.ReadyForEBSGate) .Include(x => x.OTMGateStatus) .Include(x => x.OTMEBSGate) .Include(x => x.ReadyForOTMGate).FirstOrDefault(); OwningStream owningStream = _wtContext.OwningStreams.Where(n => n.Id == request.OwningStream.Id).FirstOrDefault(); string email = string.Empty; if (owningStream != null) { email = owningStream.dlEmailAddress; } //Send Notifications if (statusChange) { string title = "New Oracle COE Request Logged"; sendNotificationEmail(ret, EmailType.OwningStreamChange, title, email); } if (owningStreamChange) { string title = "New Oracle COE Request Logged"; sendNotificationEmail(ret, EmailType.OwningStreamChange, title, email); } var vm = Mappers <Request, RequestViewModel> .MapToViewModel(ret); return(ServiceCallResult <RequestViewModel> .CreateSuccessResult(string.Format(UserMessageResource.FieldSavedSuccessfully, FieldNamesResource.Request), vm)); } catch (Exception ex) { return(ServiceCallResult <RequestViewModel> .CreateErrorResult(string.Format(UserMessageResource.ErrorAddingField, FieldNamesResource.Request) + ex.Message, new RequestViewModel())); } }