public async Task <List <PatientAppointment> > getPatientDeviceCRM(string patientGuid, DateTime startdate, DateTime enddate) { try { List <PatientAppointment> list = new List <PatientAppointment>(); // Get Patient from CRM SoapEntityRepository entityRepository = SoapEntityRepository.GetService(); QueryExpression query = new QueryExpression("msemr_appointmentemr"); if (string.IsNullOrEmpty(patientGuid)) { throw new ValidationException("Patient Id must be specified"); } query.Criteria.AddCondition("msemr_actorpatient", ConditionOperator.Equal, new Guid(patientGuid)); //query.Criteria.AddCondition("msemr_planstartdate", ConditionOperator.GreaterEqual, Convert.ToDateTime(startdate)); //query.Criteria.AddCondition("msemr_planenddate", ConditionOperator.LessEqual, Convert.ToDateTime(enddate)); query.ColumnSet = new Microsoft.Xrm.Sdk.Query.ColumnSet(true); EntityCollection entitycollection = entityRepository.GetEntityCollection(query); if (entitycollection != null) { for (int i = 0; i < entitycollection.Entities.Count; i++) { PatientAppointment obj = new PatientAppointment(); obj = getPatientAppointmentModelFilled(entitycollection[i], obj, ""); list.Add(obj); } } return(list); } catch (Exception ex) { throw ex; } }
public async Task <Post> createPost(Post post) { //SoapCredential.UserName = AppSettings.GetByKey("USERNAME"); //SoapCredential.Password = AppSettings.GetByKey("PASSWORD"); //SoapCredential.Domain = AppSettings.GetByKey("DOMAIN"); SoapEntityRepository entityRepository = SoapEntityRepository.GetService(); // xrm.mzk_patientorder patientOrderEntity = new xrm.mzk_patientorder(); // xrm.Post postentity = new xrm.Post(); try { //var whoAmIRequest = new WhoAmIRequest(); //var whoAmIResponse = (WhoAmIResponse)entityRepository..Execute(whoAmIRequest); //var currentUserRef = new EntityReference( // SystemUser.EntityLogicalName, whoAmIResponse.UserId); // RegardingObjectId xrm.Post postentity = new xrm.Post() { Text = post.text, Source = new OptionSetValue((int)PostSource.ManualPost), RegardingObjectId = new EntityReference("systemuser", Guid.Parse(post.UserId)) }; Id = Convert.ToString(entityRepository.CreateEntity(postentity)); if (!string.IsNullOrEmpty(Id)) { post.Id = Id; } } catch (Exception ex) { throw ex; } return(post); }
public bool createStatusLog(int caseStatus, string caseId) { try { SoapEntityRepository entityRepository = SoapEntityRepository.GetService(); mzk_caselog entity = new mzk_caselog(); entity.mzk_CaseStatus = new OptionSetValue(caseStatus); entity.mzk_caseid = new EntityReference(xrm.Incident.EntityLogicalName, new Guid(caseId)); entityRepository.CreateEntity(entity); return(true); } catch (Exception ex) { throw ex; } }
public Products getProductDetails(string productId) { string itemId = string.Empty; SoapEntityRepository entityRepository = SoapEntityRepository.GetService(); xrm.Product products = (xrm.Product)entityRepository.GetEntity(xrm.Product.EntityLogicalName, new Guid(productId), new ColumnSet(true)); Products model = new Products(); if (products != null) { if (products.Attributes.Contains("name")) { model.Name = products.Name; } if (products.Attributes.Contains("productnumber")) { model.ProductNumber = products.ProductNumber; } if (products.ProductId.HasValue) { model.ProductId = products.ProductId.Value.ToString(); } if (products.mzk_ProductType != null) { model.Type = products.mzk_ProductType.Value.ToString(); } if (products.mzk_Contrast.HasValue) { model.contrastOrder = products.mzk_Contrast.Value; } if (products.Attributes.Contains("mzk_specimensource")) { model.IsSpecimenSource = (bool)products.Attributes["mzk_specimensource"]; } } return(model); }
public async Task <bool> addPatientEncounterEducationalResource(List <EducationalResource> educationalResourceList) { try { SoapEntityRepository entityRepository = SoapEntityRepository.GetService(); foreach (EducationalResource resource in educationalResourceList) { mzk_patientencountereducationalresource mzk_patientencountereducationalresource = new mzk_patientencountereducationalresource(); mzk_patientencountereducationalresource.mzk_name = resource.name; if (!string.IsNullOrEmpty(resource.patientEncounterId)) { mzk_patientencountereducationalresource.mzk_patientencounter = new EntityReference("mzk_patientencounter", new Guid(resource.patientEncounterId)); } if (!string.IsNullOrEmpty(resource.patientId)) { mzk_patientencountereducationalresource.mzk_customer = new EntityReference("contact", new Guid(resource.patientId)); } if (!string.IsNullOrEmpty(resource.educationalResourceId)) { mzk_patientencountereducationalresource.mzk_educationalresource = new EntityReference("mzk_educationalresource", new Guid(resource.educationalResourceId)); entityRepository.CreateEntity(mzk_patientencountereducationalresource); } else { patientEncounterEducationalResourceId = Convert.ToString(entityRepository.CreateEntity(mzk_patientencountereducationalresource)); resource.note.EntityType = mzk_patientencountereducationalresource.EntityLogicalName; resource.note.ObjectId = patientEncounterEducationalResourceId; Notes notes = new Notes(); string x = await notes.AddNotes(resource.note); } } return(true); } catch (Exception ex) { throw ex; } }
public EntityCollection getReferralProducts(string workOrderId) { try { QueryExpression query = new QueryExpression(xrm.msdyn_workorder.EntityLogicalName); query.Criteria.AddCondition("msdyn_workorderid", ConditionOperator.Equal, new Guid(workOrderId)); LinkEntity WorkOrderCase = new LinkEntity(xrm.msdyn_workorder.EntityLogicalName, xrm.Incident.EntityLogicalName, "msdyn_servicerequest", "incidentid", JoinOperator.Inner) { }; LinkEntity CaseReferral = new LinkEntity(xrm.Incident.EntityLogicalName, xrm.Opportunity.EntityLogicalName, "mzk_referral", "opportunityid", JoinOperator.Inner) { }; LinkEntity ReferralPatientSpecificItem = new LinkEntity(xrm.Opportunity.EntityLogicalName, "mzk_patientspecificitem", "opportunityid", "mzk_referral", JoinOperator.Inner) { }; LinkEntity PatientSpecificItemProduct = new LinkEntity("mzk_patientspecificitem", "product", "mzk_product", "productid", JoinOperator.Inner) { LinkCriteria = { Conditions = { new ConditionExpression("mzk_producttype", ConditionOperator.Equal, 8) // 8 = Retail/Ancillery Items } }, Columns = new ColumnSet("productid", "name", "productnumber", "description", "defaultuomid", "mzk_unitid", "mzk_producttype", "entityimage"), EntityAlias = "Product", }; ReferralPatientSpecificItem.LinkEntities.Add(PatientSpecificItemProduct); CaseReferral.LinkEntities.Add(ReferralPatientSpecificItem); WorkOrderCase.LinkEntities.Add(CaseReferral); query.LinkEntities.Add(WorkOrderCase); SoapEntityRepository entityRepository = SoapEntityRepository.GetService(); EntityCollection entitycollection = entityRepository.GetEntityCollection(query); return(entitycollection); } catch (Exception ex) { throw ex; } }
public static Guid getProductId(string itemId) { Guid productId = Guid.Empty; SoapEntityRepository entityRepository = SoapEntityRepository.GetService(); QueryExpression query = new QueryExpression("product"); query.Criteria.AddCondition("mzk_axitemid", ConditionOperator.Equal, itemId); query.ColumnSet = new Microsoft.Xrm.Sdk.Query.ColumnSet("name", "productnumber", "productid"); EntityCollection entitycollection = entityRepository.GetEntityCollection(query); if (entitycollection != null && entitycollection.Entities != null && entitycollection.Entities.Count > 0) { Product products = (Product)entitycollection.Entities[0]; productId = products.ProductId.Value; } return(productId); }
public async Task <bool> PostRequestNewInsurance(string practiceId, Insurance insurance, string userCreatedBy) { SoapEntityRepository entityRepository = SoapEntityRepository.GetService(); int value = 275380002; Entity entity = new Entity(Account.EntityLogicalName); entity.Attributes["mzk_accounttype"] = new OptionSetValue(value); entity.Attributes["mzk_usercreatedby"] = userCreatedBy; //Addition entity.Attributes["mzk_usermodifiedby"] = userCreatedBy; //Addition entity.Attributes["name"] = insurance.insuranceName; entity.Attributes["telephone2"] = insurance.phone; entity.Attributes["fax"] = insurance.fax; entity.Attributes["address1_composite"] = insurance.address1; entity.Attributes["address2_composite"] = insurance.address2; entity.Attributes["address1_city"] = insurance.city; entity.Attributes["address1_stateorprovince"] = insurance.state; entity.Attributes["address1_postalcode"] = insurance.zip; entityRepository.CreateEntity(entity); return(true); }
public List <ActionManager> getList() { List <ActionManager> list = new List <ActionManager>(); QueryExpression query = new QueryExpression(xrm.mzk_actionmanager.EntityLogicalName); query.ColumnSet = new Microsoft.Xrm.Sdk.Query.ColumnSet(true); SoapEntityRepository entityRepository = SoapEntityRepository.GetService(); EntityCollection entitycollection = entityRepository.GetEntityCollection(query); foreach (xrm.mzk_actionmanager entity in entitycollection.Entities) { ActionManager model = new ActionManager(); model.Id = entity.Id.ToString(); model.name = entity.mzk_actionname; list.Add(model); } return(list); }
public List <AgeGroup> getList() { List <AgeGroup> list = new List <AgeGroup>(); QueryExpression query = new QueryExpression(xrm.mzk_agevalidation.EntityLogicalName); query.ColumnSet = new Microsoft.Xrm.Sdk.Query.ColumnSet(true); SoapEntityRepository entityRepository = SoapEntityRepository.GetService(); EntityCollection entitycollection = entityRepository.GetEntityCollection(query); foreach (Entity entity in entitycollection.Entities) { AgeGroup model = new AgeGroup(); model.Id = entity.Id.ToString(); model.Description = entity.Attributes["mzk_name"].ToString(); list.Add(model); } return(list); }
public List <Mentions> getMentions(string name) { List <Mentions> mentionsList = new List <Mentions>(); QueryExpression query = new QueryExpression("systemuser"); query.ColumnSet = new Microsoft.Xrm.Sdk.Query.ColumnSet("fullname", "systemuserid"); SoapCredential.UserName = AppSettings.GetByKey("USERNAME"); SoapCredential.Password = AppSettings.GetByKey("PASSWORD"); SoapCredential.Domain = AppSettings.GetByKey("DOMAIN"); if (!string.IsNullOrEmpty(name.ToLower())) { ConditionExpression conditionLikeFullName = new ConditionExpression(); conditionLikeFullName.AttributeName = "fullname"; conditionLikeFullName.Operator = ConditionOperator.Like; conditionLikeFullName.Values.Add("%" + name + "%"); query.Criteria.AddCondition(conditionLikeFullName); SoapEntityRepository entityRepository = SoapEntityRepository.GetService(); EntityCollection entitycollection = entityRepository.GetEntityCollection(query); foreach (Entity entity in entitycollection.Entities) { Mentions model = new Mentions(); //model.userId = entity.Id.ToString(); if (entity.Attributes.Contains("fullname")) { model.name = entity.Attributes["fullname"].ToString(); } if (entity.Attributes.Contains("systemuserid")) { model.id = entity.Attributes["systemuserid"].ToString(); } model.type = xrm.SystemUser.EntityTypeCode.ToString(); mentionsList.Add(model); } } return(mentionsList); }
private List <MeasurementUnit> getUnitValues(string mmtCodeId) { List <MeasurementUnit> listModel = new List <MeasurementUnit>(); SoapEntityRepository entityRepository = SoapEntityRepository.GetService(); QueryExpression query = new QueryExpression(mzk_mmtcode.EntityLogicalName); query.ColumnSet = new ColumnSet(true); query.Criteria.AddCondition("mzk_mmtcodeid", ConditionOperator.Equal, new Guid(mmtCodeId)); LinkEntity linkUnits = new LinkEntity(mzk_mmtcode.EntityLogicalName, mzk_unit.EntityLogicalName, "mzk_unitgroup", "mzk_unitgroup", JoinOperator.Inner); linkUnits.Columns = new Microsoft.Xrm.Sdk.Query.ColumnSet("mzk_code", "mzk_description", "mzk_baseunit"); query.LinkEntities.Add(linkUnits); EntityCollection entitycollection = entityRepository.GetEntityCollection(query); foreach (Entity entity in entitycollection.Entities) { MeasurementUnit model = new MeasurementUnit(); if (entity.Attributes.Contains("mzk_baseunit")) { model.isDefault = false; } else { model.isDefault = true; } if (entity.Attributes.Contains("mzk_unit1.mzk_code")) { model.unitId = (entity.Attributes["mzk_unit1.mzk_code"] as AliasedValue).Value.ToString(); } model.Id = entity.Id.ToString(); listModel.Add(model); } return(listModel); }
public async Task <string> AddNotes(Notes notes) { SoapEntityRepository entityRepository = SoapEntityRepository.GetService(); xrm.Annotation annotationNotes = new xrm.Annotation(); if (!string.IsNullOrEmpty(notes.NoteText)) { annotationNotes.NoteText = notes.NoteText; } if (!string.IsNullOrEmpty(notes.Subject)) { annotationNotes.Subject = notes.Subject; } if (!string.IsNullOrEmpty(notes.ObjectId)) { annotationNotes.ObjectId = new Microsoft.Xrm.Sdk.EntityReference(notes.EntityType, new Guid(notes.ObjectId)); } if (!string.IsNullOrEmpty(notes.fileName)) { annotationNotes.FileName = notes.fileName; } if (!string.IsNullOrEmpty(notes.mimeType)) { annotationNotes.MimeType = notes.mimeType; } if (!string.IsNullOrEmpty(notes.file)) { annotationNotes.DocumentBody = notes.file; } Id = Convert.ToString(entityRepository.CreateEntity(annotationNotes)); return(Id.ToString()); }
public async Task <bool> markPhysicalDischarge(string caseGuid) { try { SoapEntityRepository entityRepository = SoapEntityRepository.GetService(); xrm.Incident entity = (xrm.Incident)entityRepository.GetEntity(xrm.Incident.EntityLogicalName, new Guid(caseGuid), new Microsoft.Xrm.Sdk.Query.ColumnSet(true)); if (entity != null) { if (entity.Attributes.Contains("mzk_casestatus")) { mzk_casestatus caseStatus = (mzk_casestatus)((OptionSetValue)entity.Attributes["mzk_casestatus"]).Value; if (caseStatus != mzk_casestatus.FinanciallyDischarged) { throw new ValidationException("Only Financially discharged cases can be Physically discharged"); } entity.mzk_casestatus = new OptionSetValue((int)mzk_casestatus.PhysicallyDischarged); entityRepository.UpdateEntity(entity); this.createStatusLog((int)mzk_casestatus.PhysicallyDischarged, caseGuid); if (AppSettings.GetByKey("OperationsIntegration").ToLower() == true.ToString().ToLower()) { CaseRepository caseRepo = new CaseRepository(); caseRepo.updateCaseStatus(caseGuid, HMCaseStatus.PhysicalDischarge); } } } } catch (Exception ex) { throw ex; } return(true); }
public List <Role> getRoles(string userId) { List <Role> role = new List <Role>(); #region Role QueryExpression query = new QueryExpression(SystemUserRoles.EntityLogicalName); query.ColumnSet = new Microsoft.Xrm.Sdk.Query.ColumnSet(true); query.Criteria.AddCondition("systemuserid", ConditionOperator.Equal, new Guid(userId)); #endregion SoapEntityRepository entityRepository = SoapEntityRepository.GetService(); EntityCollection entitycollection = entityRepository.GetEntityCollection(query); foreach (SystemUserRoles entity in entitycollection.Entities) { Role model = new Role(); model.roleid = entity.RoleId; role.Add(model); } return(role); }
/* public async Task<List<Concept>> getConceptData(Concept concept, int pageNumber = 0) * { * List<Concept> Concept = new List<Concept>(); #region Concept * QueryExpression query = new QueryExpression("mzk_concept"); * * if (Convert.ToInt32(concept.ConceptType) == (int)mzk_conceptmzk_Category.Diagnosis) * { * FilterExpression childFilter = query.Criteria.AddFilter(LogicalOperator.Or); * * childFilter.AddCondition("mzk_conceptname", ConditionOperator.Like, ("%" + concept.name.ToLower() + "%")); * childFilter.AddCondition("mzk_conceptnumber", ConditionOperator.Like, ("%" + concept.name.ToLower() + "%")); * } * else * { * ConditionExpression condition1 = new ConditionExpression(); * condition1.AttributeName = "mzk_conceptname"; * condition1.Operator = ConditionOperator.Like; * condition1.Values.Add("%" + concept.name.ToLower() + "%"); * * FilterExpression filter1 = new FilterExpression(); * * filter1.Conditions.Add(condition1); * * query.Criteria.AddFilter(filter1); * } * * ConditionExpression condition2 = new ConditionExpression(); * condition2.AttributeName = "mzk_category"; * condition2.Operator = ConditionOperator.Equal; * condition2.Values.Add(concept.ConceptType); * * * FilterExpression filter2 = new FilterExpression(); * * filter2.Conditions.Add(condition2); * * query.Criteria.AddFilter(filter2); * query.ColumnSet = new Microsoft.Xrm.Sdk.Query.ColumnSet("mzk_conceptname", "mzk_conceptid", "mzk_conceptnumber", "mzk_icdcodeid"); * LinkEntity EntityUserFavourite; * if (!string.IsNullOrEmpty(concept.filter) && concept.filter == "favourite") * { * EntityUserFavourite = new LinkEntity("mzk_concept", "mzk_userfavourite", "mzk_conceptid", "mzk_conceptid", JoinOperator.Inner); * * EntityUserFavourite.Columns = new Microsoft.Xrm.Sdk.Query.ColumnSet("mzk_userfavouriteid"); * EntityUserFavourite.LinkCriteria.AddCondition("mzk_userid", ConditionOperator.Equal, concept.UserId); * } * else * { * EntityUserFavourite = new LinkEntity("mzk_concept", "mzk_userfavourite", "mzk_conceptid", "mzk_conceptid", JoinOperator.LeftOuter); * EntityUserFavourite.Columns = new Microsoft.Xrm.Sdk.Query.ColumnSet(true); * } * EntityUserFavourite.EntityAlias = "ConceptFavourite"; * if (!string.IsNullOrEmpty(concept.UserId)) * { * EntityUserFavourite.LinkCriteria.AddCondition("mzk_userid", ConditionOperator.Equal, concept.UserId); * query.LinkEntities.Add(EntityUserFavourite); * } * * if (pageNumber > 0) * { * query.PageInfo = new PagingInfo(); * query.PageInfo.Count = Convert.ToInt32(AppSettings.GetByKey("PageSize")); * query.PageInfo.PageNumber = pageNumber; * query.PageInfo.PagingCookie = null; * query.PageInfo.ReturnTotalRecordCount = true; * } * #endregion * SoapEntityRepository entityRepository = SoapEntityRepository.GetService(); * EntityCollection entitycollection = entityRepository.GetEntityCollection(query); * * List<string> conceptExistList = new List<string>(); * * if (!string.IsNullOrEmpty(concept.EncounterId) && Convert.ToInt32(concept.ConceptType) == (int)mzk_conceptmzk_Category.Diagnosis) * { * query = new QueryExpression(mzk_patientencounterdiagnosis.EntityLogicalName); * * query.ColumnSet = new Microsoft.Xrm.Sdk.Query.ColumnSet(true); * query.Criteria.AddCondition("mzk_patientencounterid", ConditionOperator.Equal, concept.EncounterId); * query.Criteria.AddCondition("mzk_status", ConditionOperator.Equal, (int)mzk_patientencounterdiagnosismzk_Status.Active); * * EntityCollection entitycollectionDiagnosis = entityRepository.GetEntityCollection(query); * * foreach (Entity entity in entitycollectionDiagnosis.Entities) * { * mzk_patientencounterdiagnosis order = (mzk_patientencounterdiagnosis)entity; * * conceptExistList.Add(order.mzk_DiagnosisConceptId.Id.ToString()); * } * } * * foreach (Entity entity in entitycollection.Entities) * { * Concept model = new Concept(); * if (entity.Attributes.Contains("mzk_conceptname")) * model.name = entity.Attributes["mzk_conceptname"].ToString(); * * if (entity.Attributes.Contains("mzk_conceptnumber")) * model.ConceptNumber = entity.Attributes["mzk_conceptnumber"].ToString(); * * if (entity.Attributes.Contains("mzk_icdcodeid")) * model.ICDCode = ((EntityReference)entity.Attributes["mzk_icdcodeid"]).Name; * * if (entity.Attributes.Contains("mzk_conceptid")) * model.conceptId = entity.Id.ToString(); * * if (!string.IsNullOrEmpty(concept.EncounterId)) * { * model.isAdded = !conceptExistList.Exists(item => item == entity.Id.ToString()); * //model.isAdded = this.DuplicateDetection(concept.EncounterId, model.conceptId); * } * * //Favourite "mzk_userfavourite5.mzk_userfavouriteid" * if (entity.Attributes.Contains("ConceptFavourite.mzk_userfavouriteid")) * model.FavouriteId = (entity.Attributes["ConceptFavourite.mzk_userfavouriteid"] as AliasedValue).Value.ToString(); * * Concept.Add(model); * } * * if (pageNumber > 0 && entitycollection != null) * { * Pagination.totalCount = entitycollection.TotalRecordCount; * } * * return Concept; * } */ public bool DuplicateDetection(string EncounterId, string conceptId) { SoapEntityRepository entityRepository = SoapEntityRepository.GetService(); QueryExpression query = new QueryExpression(mzk_patientencounterdiagnosis.EntityLogicalName); query.ColumnSet = new Microsoft.Xrm.Sdk.Query.ColumnSet(true); query.Criteria.AddCondition("mzk_patientencounterid", ConditionOperator.Equal, EncounterId); query.Criteria.AddCondition("mzk_diagnosisconceptid", ConditionOperator.Equal, conceptId); query.Criteria.AddCondition("mzk_status", ConditionOperator.Equal, (int)mzk_patientencounterdiagnosismzk_Status.Active); EntityCollection entitycollection = entityRepository.GetEntityCollection(query); if (entitycollection != null && entitycollection.Entities != null && entitycollection.Entities.Count > 0) { return(false); } else { return(true); } }
public async Task <bool> getConfigurationTimeZone() { SoapEntityRepository repo = SoapEntityRepository.GetService(); QueryExpression query = new QueryExpression("mzk_configuration"); LinkEntity ConfigurationTimeZone = new LinkEntity("mzk_configuration", "mzk_ordertimezone", "mzk_configurationid", "mzk_configuration", JoinOperator.Inner) { Columns = new ColumnSet("mzk_timezone"), EntityAlias = "TimeZone" }; query.LinkEntities.Add(ConfigurationTimeZone); EntityCollection entityCollection = repo.GetEntityCollection(query); foreach (Entity entity in entityCollection.Entities) { DateTime date = DateTime.UtcNow; date = TimeZoneInfo.ConvertTime(date, entity.GetAttributeValue <AliasedValue>("TimeZone.mzk_timezone").Value as TimeZoneInfo); //date = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(date, entity.GetAttributeValue<AliasedValue>("TimeZone.mzk_timezone").Value.ToString()); } return(true); }
public async Task <bool> createRescheduleRequest(string workOrderId, DateTime startDate, DateTime endDate) { bool status = true; int count = 0; SoapEntityRepository repo = SoapEntityRepository.GetService(); Entity entity = repo.GetEntity(xrm.msdyn_workorder.EntityLogicalName, new Guid(workOrderId), new ColumnSet("mzk_numberoftimerescheduled")); if (entity.Attributes.Contains("mzk_numberoftimerescheduled")) { count = Int32.Parse(entity["mzk_numberoftimerescheduled"].ToString()); } Entity workOrder = repo.GetEntity("msdyn_workorder", new Guid(workOrderId), new ColumnSet("mzk_scheduledstartdatetime"));//new Entity("msdyn_workorder", new Guid(workOrderId)); workOrder["mzk_lastscheduledstartdatetime"] = workOrder["mzk_scheduledstartdatetime"]; workOrder["mzk_scheduledstartdatetime"] = startDate; workOrder["mzk_scheduledenddatetime"] = endDate; workOrder["mzk_numberoftimerescheduled"] = count + 1; repo.UpdateEntity(workOrder); QueryExpression query = new QueryExpression("bookableresourcebooking"); query.Criteria.AddCondition("msdyn_workorder", ConditionOperator.Equal, workOrder.Id); EntityCollection collection = repo.GetEntityCollection(query); if (collection != null && collection.Entities != null && collection.Entities.Count > 0) { Entity booking = collection.Entities[0]; booking["starttime"] = startDate; booking["endtime"] = endDate; booking["msdyn_actualarrivaltime"] = null; repo.UpdateEntity(booking); } return(status); }
public List <OptionSet> getOptionSetItems(string entityName, string optionSetAttributeName) { try { SoapEntityRepository entityRepository = SoapEntityRepository.GetService(); List <OptionSet> OptionSet = new List <OptionSet>(); OptionMetadata[] optionList = null; if (string.IsNullOrEmpty(entityName)) { optionList = entityRepository.GetOptionSetItems(optionSetAttributeName); } else { optionList = entityRepository.GetOptionSetItems(entityName, optionSetAttributeName); } if (optionList != null) { foreach (OptionMetadata o in optionList) { OptionSet model = new OptionSet(); model.OptionSetName = o.Label.LocalizedLabels[0].Label; model.OptionSetValue = o.Value.Value.ToString(); if (!string.IsNullOrEmpty(o.Color)) { model.OptionSetColor = o.Color.ToString(); } //model.defaultValue = optionList.FirstOrDefault().Value.Value;// o.Value.GetValueOrDefault(); OptionSet.Add(model); } } return(OptionSet); } catch (Exception ex) { throw ex; } }
public List <Products> getProduct(string Type) { List <Products> Products = new List <Products>(); #region Product QueryExpression query = new QueryExpression("product"); ConditionExpression conditionType = new ConditionExpression(); conditionType.AttributeName = "mzk_producttype"; conditionType.Operator = ConditionOperator.Equal; conditionType.Values.Add(Type); FilterExpression filterType = new FilterExpression(); filterType.Conditions.Add(conditionType); query.Criteria.AddFilter(filterType); query.ColumnSet = new Microsoft.Xrm.Sdk.Query.ColumnSet("name", "productnumber", "productid"); #endregion SoapEntityRepository entityRepository = SoapEntityRepository.GetService(); EntityCollection entitycollection = entityRepository.GetEntityCollection(query); foreach (Entity entity in entitycollection.Entities) { Products model = new Products(); if (entity.Attributes.Contains("name")) { model.Name = entity.Attributes["name"].ToString(); } if (entity.Attributes.Contains("productnumber")) { model.ProductNumber = entity.Attributes["productnumber"].ToString(); } if (entity.Attributes.Contains("productid")) { model.ProductId = entity.Id.ToString(); } Products.Add(model); } return(Products); }
public async Task <List <FrequentlyAskedQuestions> > getFAQS(string patientId) { try { if (!string.IsNullOrEmpty(patientId)) { SoapEntityRepository entityRepository = SoapEntityRepository.GetService(); List <FrequentlyAskedQuestions> FAQS = new List <FrequentlyAskedQuestions>(); FAQS = getGeneralFAQS(entityRepository).Result; FAQS.AddRange(getContractSpecificFAQS(patientId, entityRepository).Result); return(FAQS); } else { throw new ValidationException("Patient Id missing"); } } catch (Exception ex) { throw ex; } }
public List <Clinic> getClinicsList(mzk_orgunittype clinicType) { List <Clinic> listModel = new List <Clinic>(); Clinic model; try { SoapEntityRepository repo = SoapEntityRepository.GetService(); QueryExpression query = new QueryExpression(msdyn_organizationalunit.EntityLogicalName); query.Criteria.AddCondition("mzk_type", ConditionOperator.Equal, (int)clinicType); query.Criteria.AddCondition("mzk_isscheduled", ConditionOperator.Equal, true); query.ColumnSet = new ColumnSet("msdyn_organizationalunitid", "msdyn_name"); EntityCollection entityCollection = repo.GetEntityCollection(query); foreach (Entity entity in entityCollection.Entities) { msdyn_organizationalunit orgUnit = (msdyn_organizationalunit)entity; model = new Clinic(); if (entity.Attributes.Contains("mzk_organizationalunitid")) { model.id = orgUnit.msdyn_organizationalunitId.Value.ToString(); model.clinicName = orgUnit.msdyn_name; listModel.Add(model); } } } catch (Exception ex) { throw ex; } return(listModel); }
public async Task <bool> saveCommunication(Communication post) { try { if (post != null) { SoapEntityRepository entityRepository = SoapEntityRepository.GetService(); Entity entity = new Entity("mzk_communication"); if (!string.IsNullOrEmpty(post.patientId)) { entity["regardingobjectid"] = new EntityReference(xrm.Contact.EntityLogicalName, new Guid(post.patientId)); if (!string.IsNullOrEmpty(post.subject)) { entity["subject"] = post.subject; if (!string.IsNullOrEmpty(post.description)) { entity["description"] = post.description; } entityRepository.CreateEntity(entity); return(true); } else { throw new ValidationException("Subject field is mandatory"); } } else { throw new ValidationException("Patient Id field is mandatory"); } } return(false); } catch (Exception ex) { throw ex; } }
public static mzk_casetype getCaseType(string encounterId, string caseId = "") { try { mzk_casetype caseType = mzk_casetype.OutPatient; PatientCase model = new PatientCase(); QueryExpression query = new QueryExpression(xrm.Incident.EntityLogicalName); query.ColumnSet = new Microsoft.Xrm.Sdk.Query.ColumnSet("mzk_casetype"); if (string.IsNullOrEmpty(caseId)) { LinkEntity enc = new LinkEntity(xrm.Incident.EntityLogicalName, mzk_patientencounter.EntityLogicalName, "incidentid", "mzk_caseid", JoinOperator.Inner); enc.LinkCriteria.AddCondition("mzk_patientencounterid", ConditionOperator.Equal, new Guid(encounterId)); query.LinkEntities.Add(enc); } else { query.Criteria.AddCondition("incidentid", ConditionOperator.Equal, new Guid(caseId)); } SoapEntityRepository entityRepository = SoapEntityRepository.GetService(); EntityCollection entitycollection = entityRepository.GetEntityCollection(query); if (entitycollection != null && entitycollection.Entities != null && entitycollection.Entities.Count > 0) { xrm.Incident entity = (xrm.Incident)entitycollection.Entities[0]; caseType = entity.mzk_CaseType != null ? (mzk_casetype)entity.mzk_CaseType.Value : caseType; } return(caseType); } catch (Exception ex) { throw ex; } }
public List <EncounterSetup> getEncounterSetup(string type) { List <EncounterSetup> EncounterSetup = new List <EncounterSetup>(); #region Patient Encounter Setup QueryExpression query = new QueryExpression("mzk_encountersetup"); FilterExpression childFilter = query.Criteria.AddFilter(LogicalOperator.And); childFilter.AddCondition("mzk_type", ConditionOperator.Equal, type); query.ColumnSet = new Microsoft.Xrm.Sdk.Query.ColumnSet("mzk_code", "mzk_description"); #endregion SoapEntityRepository entityRepository = SoapEntityRepository.GetService(); EntityCollection entitycollection = entityRepository.GetEntityCollection(query); foreach (Entity entity in entitycollection.Entities) { EncounterSetup model = new EncounterSetup(); model.Code = entity.Id.ToString();//.Attributes["mzk_ordersetupid"].ToString(); model.Description = entity.Attributes["mzk_description"].ToString(); EncounterSetup.Add(model); } return(EncounterSetup); }
public static bool createLog(string messageId, mzk_messagetype messageType, string refId, mzk_messagedirection direction, mzk_acknowledgecode ackCode, string _textMessage = "") { try { SoapEntityRepository repo = SoapEntityRepository.GetService(); Entity Hl7IntegrationLogs = new Entity("mzk_hl7integrationlogs"); if (!string.IsNullOrEmpty(messageId)) { Hl7IntegrationLogs["mzk_messagecontrolid"] = messageId; } Hl7IntegrationLogs["mzk_messagetype"] = new OptionSetValue((int)messageType); if (!string.IsNullOrEmpty(refId)) { Hl7IntegrationLogs["mzk_refid"] = refId; } Hl7IntegrationLogs["mzk_messagedirection"] = new OptionSetValue((int)direction); Hl7IntegrationLogs["mzk_acknowledgecode"] = new OptionSetValue((int)ackCode); if (!string.IsNullOrEmpty(_textMessage)) { Hl7IntegrationLogs["mzk_textmessage"] = _textMessage; } repo.CreateEntity(Hl7IntegrationLogs); return(true); } catch (Exception ex) { throw ex; } }
public async Task <string> addPatientProblem(PatientProblem patientProblem) { SoapEntityRepository entityRepository = SoapEntityRepository.GetService(); Entity patientProblemEntity = new Entity("mzk_patientproblem"); if (patientProblem.problemId != null && patientProblem.problemId != string.Empty) { patientProblemEntity.Attributes["mzk_diagnosisconceptid"] = new EntityReference("mzk_concept", new Guid(patientProblem.problemId)); } else { throw new ValidationException("Problem must be selected"); } if (patientProblem.PatientId != null && patientProblem.PatientId != string.Empty) { patientProblemEntity.Attributes["mzk_customerid"] = new EntityReference("contact", new Guid(patientProblem.PatientId)); } if (patientProblem.onSetNotes != null && patientProblem.onSetNotes != string.Empty) { patientProblemEntity.Attributes["mzk_onsetnotes"] = patientProblem.onSetNotes; } if (patientProblem.onSetDate != null && patientProblem.onSetDate != DateTime.MinValue) { patientProblemEntity.Attributes["mzk_onsetdate"] = Convert.ToDateTime(patientProblem.onSetDate); } if (patientProblem.ProblemType != 0 && patientProblem.ProblemType.ToString() != string.Empty) { patientProblemEntity.Attributes["mzk_problemtype"] = new OptionSetValue(patientProblem.ProblemType); } //if (patientProblem.Chronicity != 0 && patientProblem.Chronicity.ToString() != string.Empty) //patientProblemEntity.Attributes["mzk_chronicity"] = new OptionSetValue(patientProblem.Chronicity); patientProblemEntity.Attributes["mzk_status"] = new OptionSetValue((int)mzk_patientproblemmzk_status.Active); Id = entityRepository.CreateEntity(patientProblemEntity); return(Id.ToString()); }
public async Task <List <Clinic> > getUserClinicsTree(string resourceId = null) { List <Clinic> listModel = new List <Clinic>(); Clinic model; try { SoapEntityRepository repo = SoapEntityRepository.GetService(); QueryExpression query = new QueryExpression(mzk_resourceclinic.EntityLogicalName); query.Criteria.AddCondition("mzk_resource", ConditionOperator.Equal, new Guid(resourceId)); query.ColumnSet = new ColumnSet(true); EntityCollection entityCollection = repo.GetEntityCollection(query); foreach (Entity entity in entityCollection.Entities) { mzk_resourceclinic resourceClinic = (mzk_resourceclinic)entity; model = new Clinic(); if (entity.Attributes.Contains("mzk_organizationalunit")) { model.id = resourceClinic.mzk_OrganizationalUnit.Id.ToString(); model.clinicName = resourceClinic.mzk_OrganizationalUnit.Name; listModel.Add(model); } } } catch (Exception ex) { throw ex; } return(listModel); }
public async Task <bool> updatePatientProblems(List <PatientProblem> problemList) { try { SoapEntityRepository entityRepository = SoapEntityRepository.GetService(); foreach (PatientProblem model in problemList) { Entity entity = null; if (!string.IsNullOrEmpty(model.Id.ToString())) { entity = entityRepository.GetEntity("mzk_patientproblem", new Guid(model.Id.ToString()), new Microsoft.Xrm.Sdk.Query.ColumnSet(true)); } entity.Attributes["mzk_status"] = new OptionSetValue(Convert.ToInt32(mzk_patientproblemmzk_status.Resolved)); entityRepository.UpdateEntity(entity); } return(true); } catch (Exception ex) { throw ex; } }
public static Dictionary <string, Products> getProduct(List <string> itemId) { Dictionary <string, Products> productList = new Dictionary <string, Products>(); SoapEntityRepository entityRepository = SoapEntityRepository.GetService(); QueryExpression query = new QueryExpression("product"); FilterExpression childFilter = query.Criteria.AddFilter(LogicalOperator.Or); foreach (string item in itemId) { if (!string.IsNullOrEmpty(item)) { childFilter.AddCondition("mzk_axitemid", ConditionOperator.Equal, item); } } query.ColumnSet = new Microsoft.Xrm.Sdk.Query.ColumnSet("name", "productnumber", "productid", "mzk_axitemid", "mzk_producttype"); EntityCollection entitycollection = entityRepository.GetEntityCollection(query); foreach (Entity entity in entitycollection.Entities) { Product products = (Product)entity; Products prod = new Products(); prod.ProductId = products.ProductId.Value.ToString(); if (products.mzk_ProductType != null) { prod.Type = products.mzk_ProductType.Value.ToString(); } productList.Add(products.mzk_AXItemId, prod); } return(productList); }