public async Task <bool> SendMessageUpdate(PostMessageUpdateRequest request) { string message = request.Message; int admUserId = request.AdmUserId; int admSiteId = request.AdmSiteId; AdmMessage admMessage = _autoMapper.Map <AdmMessage>(request); admMessage.MessageDate = _repository.GetSchoolNow(admSiteId); foreach (var id in request.UserIDs) { AdmUser admUser = await _repository.GetAsync <AdmUser>(u => u.AdmUserID == id); admMessage.Recipients.Add(admUser); } bool isForwarded = request.ActionType.Equals("forwarded"); admMessage.AdmMessagesDetails.Add(new AdmMessagesDetail { AdmMessageID = admMessage.AdmMessageID, SentByAdmUserID = admUserId, MesageText = message.Trim(), MessageDate = _repository.GetSchoolNow(admSiteId), IsForwarded = isForwarded }); await _repository.CreateAsync <AdmMessage>(admMessage); return(true); }
public async Task <FormsListResponse> RenderForms(RenderFormsVm model) { try { var trans = GetTrans(model.CallerOrgCode, model.UserName, model.OrderId); if (trans == null) { throw new ADMServerException("Couldn't find Trans"); } var transString = trans.GetXml()?.OuterXml; //Create request for formservice //Make request to formservice var formServiceResponse = await RenderFormsWebServiceCall(transString, model); //if status code isn't good throw exception var formServiceResponseString = await formServiceResponse.Content.ReadAsStringAsync(); var jObj = JObject.Parse(formServiceResponseString); var admString = jObj["TxPayload"].ToString(); //TODO: is this Step Necessary? var formsMsg = new AdmMessage() { Body = admString }; var formsTrans = formsMsg.GetBodyAsDataEntity() as IAdmTrans; //loopthrough formInstances of forms trans. Add each Form to trans formsTrans?.FormInstances.ToList().ForEach(formInstance => { var fi = trans.FormInstances.AddNew("FormInstance_Attachment"); fi.FormName = formInstance.FormName; fi.ProviderFormNumber = formInstance.ProviderFormNumber; fi.FormInstanceTrackingID = formInstance.FormInstanceTrackingID; fi.DocumentControlNumber = formInstance.DocumentControlNumber; fi.FormInstanceStatus = formInstance.FormInstanceStatus; fi.FormOptional = formInstance.FormOptional; fi.UserCode = formInstance.UserCode; fi.Sequence = formInstance.Sequence; fi.InfoSourceTC = formInstance.InfoSourceTC; fi.Attachments[0].AttachmentData.Data = formInstance.Attachments[0].AttachmentData.Data; }); //Update Trans in DB //trans.Store.Update(trans); //trans.Store.Refresh(trans); //Return new Appropriate response Message var retObj = new FormsListResponse() { CorrelationGuid = model.CorrelationGuid, FormInstances = MapFormInstances(trans.FormInstances.ToList()) }; return(retObj); } catch (Exception e) { _logManager.WriteEntry($"{e.Message} | CorrelationGUID: {model.CorrelationGuid}", LogLevel.Error, 4025); throw; } }