public static IEnumerable <IEnumerable <IElasticMapper> > GetUpdatedData(string index_name, string id, string type, string[] values) { var planning_cases = new List <Case_Model>(); var open_aftercares = new List <Aftercare_Model>(); var error_correction_settlements = new List <Settlement_Model>(); var error_correction_treatments = new List <Submitted_Case_Model>(); var patients = new List <Patient_Model>(); var patient_details = new List <PatientDetailViewModel>(); var orders = new List <Order_Model>(); var octs = new List <Oct_Model>(); switch (type) { case "doctor": #region UPDATE PLANNING CASES var cases_from_elastic = Get_Cases.GetCasesWhereIDPresent <Case_Model>(id, "treatment_doctor_id", index_name, "case"); if (cases_from_elastic.Any()) { planning_cases = cases_from_elastic.Select(cas => { cas.treatment_doctor_name = values[0]; cas.treatment_doctor_lanr = values[1]; return(cas); }).ToList(); } cases_from_elastic = Get_Cases.GetCasesWhereIDPresent <Case_Model>(id, "aftercare_doctor_practice_id", index_name, "case"); if (cases_from_elastic.Any()) { planning_cases.AddRange(cases_from_elastic.Select(cas => { planning_cases.RemoveAll(pc => pc.id == cas.id); cas.treatment_doctor_name = values[0]; cas.treatment_doctor_lanr = values[1]; cas.aftercare_name = values[0]; cas.aftercare_doctor_lanr = values[1]; return(cas); }).ToList()); } #endregion #region UPDATE AFTERCARES var aftercares_from_elastic = Get_Cases.GetCasesWhereIDPresent <Aftercare_Model>(id, "treatment_doctor_id", index_name, "aftercare"); if (aftercares_from_elastic.Any()) { open_aftercares = aftercares_from_elastic.Select(ac => { ac.treatment_doctor_name = values[0]; ac.op_lanr = values[1]; return(ac); }).ToList(); } aftercares_from_elastic = Get_Cases.GetCasesWhereIDPresent <Aftercare_Model>(id, "aftercare_doctor_practice_id", index_name, "aftercare"); if (aftercares_from_elastic.Any()) { open_aftercares.AddRange(aftercares_from_elastic.Select(ac => { open_aftercares.RemoveAll(oac => oac.id == ac.id); ac.treatment_doctor_name = values[0]; ac.ac_lanr = values[1]; ac.aftercare_doctor_name = values[0]; return(ac); }).ToList()); } #endregion #region UPDATE SETTLEMENTS IN ERROR CORRECTION var settlements_from_elastic = Get_Settlement.GetCasesWhereIDPresent(id, "treatment_doctor_id", index_name, "op"); if (settlements_from_elastic.Any()) { error_correction_settlements = settlements_from_elastic.Select(cas => { cas.doctor = values[0]; cas.lanr = values[1]; return(cas); }).ToList(); } settlements_from_elastic = Get_Settlement.GetCasesWhereIDPresent(id, "aftercare_doctor_practice_id", index_name, "ac"); if (settlements_from_elastic.Any()) { error_correction_settlements.AddRange(settlements_from_elastic.Select(cas => { error_correction_settlements.RemoveAll(ecs => ecs.id == cas.id); cas.doctor = values[0]; cas.lanr = values[1]; cas.doctor = values[0]; cas.lanr = values[1]; return(cas); }).ToList()); } #endregion #region UPDATE MM TREATMENTS IN ERROR CORRECTION var treatments_from_elastic = Get_Cases.GetSubmittedCasesInErrorCorrectionAndWhereIDPresent(id, "doctor_id", index_name, "op"); if (treatments_from_elastic.Any()) { error_correction_treatments = treatments_from_elastic.Select(cas => { cas.doctor_name = values[0]; cas.doctor_lanr = values[1]; return(cas); }).ToList(); } treatments_from_elastic = Get_Cases.GetSubmittedCasesInErrorCorrectionAndWhereIDPresent(id, "doctor_id", index_name, "ac"); if (treatments_from_elastic.Any()) { error_correction_treatments.AddRange(treatments_from_elastic.Select(cas => { error_correction_treatments.RemoveAll(ect => ect.id == cas.id); cas.doctor_name = values[0]; cas.doctor_lanr = values[1]; cas.doctor_name = values[0]; cas.doctor_lanr = values[1]; return(cas); }).ToList()); } #endregion #region UPDATE ORDERS var orders_from_elastic = Get_Orders.GetOrdersWhereForIdAndOrdinal(id, "doctor_id", index_name); if (orders_from_elastic.Any()) { orders = orders_from_elastic.Select(ord => { ord.treatment_doctor_name = values[0]; ord.lanr = values[1]; return(ord); }).ToList(); } #endregion #region UPDATE PATIENTS var patients_from_elastic = Retrieve_Patients.GetPatientsWhereIDPresent(id, "op_doctor_id", index_name); if (patients_from_elastic.Any()) { patients = patients_from_elastic.Select(patient => { patient.last_first_op_doctor_name = values[0]; patient.op_doctor_lanr = values[1]; return(patient); }).ToList(); } patients_from_elastic = Retrieve_Patients.GetPatientsWhereIDPresent(id, "ac_doctor_id", index_name); if (patients_from_elastic.Any()) { patients.AddRange(patients_from_elastic.Select(patient => { patients.RemoveAll(pat => pat.id == patient.id); patient.last_first_op_doctor_name = values[0]; patient.op_doctor_lanr = values[1]; patient.last_first_ac_doctor_name = values[0]; patient.ac_doctor_lanr = values[1]; return(patient); }).ToList()); } #endregion #region UPDATE PATIENT DETAILS var patients_details_from_elastic = Retrieve_Patients.GetPatientDetailsForIdAndOrdinal(id, "treatment_doctor_id", index_name); if (patients_details_from_elastic.Any()) { patient_details = patients_details_from_elastic.Select(patient => { patient.doctor = values[0]; return(patient); }).ToList(); } patients_details_from_elastic = Retrieve_Patients.GetPatientDetailsForIdAndOrdinal(id, "aftercare_doctor_practice_id", index_name); if (patients_details_from_elastic.Any()) { patient_details.AddRange(patients_details_from_elastic.Select(patient => { patient.doctor = values[0]; return(patient); }).ToList()); } #endregion #region UPDATE OCT octs.AddRange(Retrieve_Octs.GetOctsWhereFieldsHaveValues(new List <FieldValueParameter>() { new FieldValueParameter() { FieldName = "oct_doctor_id", FieldValue = id }, new FieldValueParameter() { FieldName = "treatment_doctor_id", FieldValue = id, Negation = true } }, null, index_name) .Select(t => { t.oct_doctor_name = values[0]; return(t); }).ToList()); octs.AddRange(Retrieve_Octs.GetOctsWhereFieldsHaveValues(new List <FieldValueParameter>() { new FieldValueParameter() { FieldName = "treatment_doctor_id", FieldValue = id }, new FieldValueParameter() { FieldName = "oct_doctor_id", FieldValue = id, Negation = true } }, null, index_name) .Select(t => { t.treatment_doctor_name = values[0]; return(t); }).ToList()); octs.AddRange(Retrieve_Octs.GetOctsWhereFieldsHaveValues(new List <FieldValueParameter>() { new FieldValueParameter() { FieldName = "treatment_doctor_id", FieldValue = id }, new FieldValueParameter() { FieldName = "oct_doctor_id", FieldValue = id } }, null, index_name) .Select(t => { t.oct_doctor_name = values[0]; t.treatment_doctor_name = values[0]; return(t); }).ToList()); #endregion #region UPDATE AC DOCTORS var types = Elastic_Utils.GetAllTypes(index_name); HashSet <string> last_used_types = new HashSet <string>(); var newTypes = types.Replace(index_name, "allData"); dynamic data = JObject.Parse(newTypes); var mappings = data.allData.mappings; var neededLength = Guid.Empty.ToString().Length + 5; var elasticType = "user_"; foreach (var acType in mappings) { if (acType.Name.Contains(elasticType) && acType.Name.Length == neededLength) { var dataForType = Get_Practices_and_Doctors.GetACDoctorsWhereIDPresent(id, "id", index_name, acType.Name); foreach (var acDoc in dataForType) { acDoc.display_name = String.Format("{0} ({1})", values[0], values[1]); } var accountID = acType.Name.Split(new string[] { elasticType }, StringSplitOptions.None)[1]; UpdateAftercareDoctor(dataForType, index_name, accountID, elasticType); } } ; #endregion break; case "practice": #region UPDATE PLANNING CASES var practice_cases_from_elastic = Get_Cases.GetCasesWhereIDPresent <Case_Model>(id, "aftercare_doctors_practice_id", index_name, "case"); if (practice_cases_from_elastic.Any()) { planning_cases = practice_cases_from_elastic.Select(cas => { cas.aftercare_doctors_practice_name = values[0]; cas.aftercare_practice_bsnr = values[1]; return(cas); }).ToList(); } practice_cases_from_elastic = Get_Cases.GetCasesWhereIDPresent <Case_Model>(id, "aftercare_doctor_practice_id", index_name, "case"); if (practice_cases_from_elastic.Any()) { planning_cases.AddRange(practice_cases_from_elastic.Select(cas => { planning_cases.RemoveAll(pc => pc.id == cas.id); cas.aftercare_doctors_practice_name = values[0]; cas.aftercare_practice_bsnr = values[1]; cas.aftercare_name = values[0]; cas.aftercare_practice_bsnr = values[1]; return(cas); }).ToList()); } #endregion #region UPDATE AFTERCARES var practice_aftercares_from_elastic = Get_Cases.GetCasesWhereIDPresent <Aftercare_Model>(id, "treatment_doctors_practice_id", index_name, "aftercare"); if (practice_aftercares_from_elastic.Any()) { open_aftercares = practice_aftercares_from_elastic.Select(ac => { ac.treatment_doctor_practice_name = values[0]; ac.bsnr = values[1]; return(ac); }).ToList(); } #endregion #region UPDATE MM TREATMENTS IN ERROR CORRECTION var practice_treatments_from_elastic = Get_Cases.GetSubmittedCasesInErrorCorrectionAndWhereIDPresent(id, "practice_id", index_name); if (practice_treatments_from_elastic.Any()) { error_correction_treatments = practice_treatments_from_elastic.Select(cas => { cas.practice_name = values[0]; cas.practice_bsnr = values[1]; return(cas); }).ToList(); } #endregion #region UPDATE ORDERS var practice_orders_from_elastic = Get_Orders.GetOrdersWhereIDPresent(id, "practice_id", index_name); if (practice_orders_from_elastic.Any()) { orders = practice_orders_from_elastic.Select(ord => { ord.treatment_doctor_practice_name = values[0]; ord.bsnr = values[1]; return(ord); }).ToList(); } #endregion #region UPDATE PATIENTS var pratice_patients_from_elastic = Retrieve_Patients.GetPatientsWhereIDPresent(id, "practice_id", index_name); if (pratice_patients_from_elastic.Any()) { patients = pratice_patients_from_elastic.Select(patient => { patient.practice = values[0]; patient.practice_bsnr = values[1]; return(patient); }).ToList(); } pratice_patients_from_elastic = Retrieve_Patients.GetPatientsWhereIDPresent(id, "ac_practice_id", index_name); if (pratice_patients_from_elastic.Any()) { patients.AddRange(pratice_patients_from_elastic.Select(patient => { patients.RemoveAll(pat => pat.id == patient.id); patient.practice = values[0]; patient.practice_bsnr = values[1]; patient.ac_practice = values[0]; patient.ac_practice_bsnr = values[1]; return(patient); }).ToList()); } #endregion break; case "patient": IFormatProvider culture = new System.Globalization.CultureInfo("de", true); #region UPDATE PLANNING CASES var patient_cases_from_elastic = Get_Cases.GetCasesWhereIDPresent <Case_Model>(id, "patient_id", index_name, "case"); if (patient_cases_from_elastic.Any()) { planning_cases = patient_cases_from_elastic.Select(cas => { cas.patient_name = values[0]; cas.patient_insurance_number = values[1]; cas.patient_birthdate = DateTime.Parse(values[2], culture, System.Globalization.DateTimeStyles.AssumeLocal); cas.patient_birthdate_string = values[2]; return(cas); }).ToList(); } #endregion #region UPDATE AFTERCARES var patient_aftercares_from_elastic = Get_Cases.GetCasesWhereIDPresent <Aftercare_Model>(id, "patient_id", index_name, "aftercare"); if (patient_aftercares_from_elastic.Any()) { open_aftercares = patient_aftercares_from_elastic.Select(ac => { ac.patient_name = values[0]; ac.patient_insurance_number = values[1]; ac.patient_birthdate = DateTime.Parse(values[2], culture, System.Globalization.DateTimeStyles.AssumeLocal); ac.patient_birthdate_string = values[2]; return(ac); }).ToList(); } #endregion #region UPDATE SETTLEMENTS IN ERROR CORRECTION var patient_settlements_from_elastic = Get_Settlement.GetCasesWhereIDPresent(id, "patient_id", index_name); if (patient_settlements_from_elastic.Any()) { error_correction_settlements = patient_settlements_from_elastic.Select(cas => { cas.patient_full_name = values[0]; cas.patient_insurance_number = values[1]; cas.birthday = values[2]; return(cas); }).ToList(); } #endregion #region UPDATE MM TREATMENTS IN ERROR CORRECTION var patient_treatments_from_elastic = Get_Cases.GetSubmittedCasesInErrorCorrectionAndWhereIDPresent(id, "patient_id", index_name); if (patient_treatments_from_elastic.Any()) { error_correction_treatments = patient_treatments_from_elastic.Select(cas => { cas.patient_name = values[0]; cas.patient_insurance_number = values[1]; cas.patient_birthdate = DateTime.Parse(values[2], culture, System.Globalization.DateTimeStyles.AssumeLocal); cas.patient_birthdate_string = values[2]; return(cas); }).ToList(); } #endregion #region UPDATE ORDERS var patient_orders_from_elastic = Get_Orders.GetOrdersWhereIDPresent(id, "patient_id", index_name); if (patient_orders_from_elastic.Any()) { orders = patient_orders_from_elastic.Select(ord => { ord.patient_name = values[0]; ord.patient_insurance_number = values[1]; ord.patient_birthdate = DateTime.Parse(values[2], culture, System.Globalization.DateTimeStyles.AssumeLocal); ord.patient_birthdate_string = values[2]; return(ord); }).ToList(); } #endregion #region UPDATE OCT octs = Retrieve_Octs.GetOctsWhereFieldsHaveValues(new List <FieldValueParameter>() { new FieldValueParameter() { FieldName = "patient_id", FieldValue = id }, new FieldValueParameter() { FieldName = "status.lower_case_sort", FieldValue = "oct1" }, }, null, index_name) .Select(t => { t.patient_name = values[0]; t.patient_insurance_number = values[1]; t.patient_birthdate = DateTime.Parse(values[2], culture, System.Globalization.DateTimeStyles.AssumeLocal); return(t); }).ToList(); #endregion break; case "drug": #region UPDATE PLANNING CASES var drug_cases_from_elastic = Get_Cases.GetCasesWhereIDPresent <Case_Model>(id, "drug_id", index_name, "case"); if (drug_cases_from_elastic.Any()) { planning_cases = drug_cases_from_elastic.Select(cas => { cas.drug = values[0]; return(cas); }).ToList(); } #endregion #region UPDATE SETTLEMENTS IN ERROR CORRECTION var drug_settlements_from_elastic = Get_Settlement.GetCasesWhereIDPresent(id, "drug_id", index_name); if (drug_settlements_from_elastic.Any()) { error_correction_settlements = drug_settlements_from_elastic.Select(cas => { cas.drug = values[0]; return(cas); }).ToList(); } #endregion #region UPDATE MM TREATMENTS IN ERROR CORRECTION var drug_treatments_from_elastic = Get_Cases.GetSubmittedCasesInErrorCorrectionAndWhereIDPresent(id, "drug_id", index_name); if (drug_treatments_from_elastic.Any()) { error_correction_treatments = drug_treatments_from_elastic.Select(cas => { cas.drug = values[0]; return(cas); }).ToList(); } #endregion #region UPDATE ORDERS var drug_orders_from_elastic = Get_Orders.GetOrdersWhereIDPresent(id, "drug_id", index_name); if (drug_orders_from_elastic.Any()) { orders = drug_orders_from_elastic.Select(ord => { ord.drug = values[0]; return(ord); }).ToList(); } #endregion #region UPDATE PATIENT DETAILS var drug_patients_details_from_elastic = Retrieve_Patients.GetPatientDetailsWhereIDPresent(id, "drug_id", index_name); if (drug_patients_details_from_elastic.Any()) { patient_details = drug_patients_details_from_elastic.Select(patient => { patient.drug = values[0]; if (patient.detail_type == "order") { patient.diagnose_or_medication = values[0]; } return(patient); }).ToList(); } #endregion break; case "diagnose": #region UPDATE PLANNING CASES var diagnose_cases_from_elastic = Get_Cases.GetCasesWhereIDPresent <Case_Model>(id, "diagnose_id", index_name, "case"); if (diagnose_cases_from_elastic.Any()) { planning_cases = diagnose_cases_from_elastic.Select(cas => { cas.diagnose = values[0]; return(cas); }).ToList(); } #endregion #region UPDATE SETTLEMENTS IN ERROR CORRECTION var diagnose_settlements_from_elastic = Get_Settlement.GetCasesWhereIDPresent(id, "diagnose_id", index_name); if (diagnose_settlements_from_elastic.Any()) { error_correction_settlements = diagnose_settlements_from_elastic.Select(cas => { cas.diagnose = values[0]; return(cas); }).ToList(); } #endregion #region UPDATE MM TREATMENTS IN ERROR CORRECTION var diagnose_treatments_from_elastic = Get_Cases.GetSubmittedCasesInErrorCorrectionAndWhereIDPresent(id, "diagnose_id", index_name); if (diagnose_treatments_from_elastic.Any()) { error_correction_treatments = diagnose_treatments_from_elastic.Select(cas => { cas.diagnose = values[0]; return(cas); }).ToList(); } #endregion #region UPDATE ORDERS var diagnose_orders_from_elastic = Get_Orders.GetOrdersWhereIDPresent(id, "diagnose_id", index_name); if (diagnose_orders_from_elastic.Any()) { orders = diagnose_orders_from_elastic.Select(ord => { ord.diagnose = values[0]; return(ord); }).ToList(); } #endregion #region UPDATE PATIENT DETAILS var diagnose_patients_details_from_elastic = Retrieve_Patients.GetPatientDetailsWhereIDPresent(id, "diagnose_id", index_name); if (diagnose_patients_details_from_elastic.Any()) { patient_details = diagnose_patients_details_from_elastic.Select(patient => { if (patient.detail_type == "op" || patient.detail_type == "ac") { patient.diagnose_or_medication = values[0]; } return(patient); }).ToList(); } #endregion break; default: break; } return(new List <IEnumerable <IElasticMapper> >() { planning_cases, open_aftercares, error_correction_settlements, error_correction_treatments, orders, patients, patient_details, octs }); }
protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_CAS_WOctoSE_0938 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null) { #region UserCode var returnValue = new FR_Guid(); //Put your code here var should_send_email = false; var treatment_year_start_date = cls_Get_TreatmentYear.Invoke(Connection, Transaction, new P_CAS_GTY_1125() { Date = Parameter.treatment_date, LocalizationCode = Parameter.localization, PatientID = Parameter.patient_id, }, securityTicket).Result; var treatment_year_length = cls_Get_TreatmentYearLength.Invoke(Connection, Transaction, new P_CAS_GTYL_1317() { Date = Parameter.treatment_date, PatientID = Parameter.patient_id }, securityTicket).Result; var ops_in_treatment_year = cls_Get_OpDates_for_PatientID_and_LocalizationCode_in_TreatmentYear.Invoke(Connection, Transaction, new P_CAS_GOpDfPIDaLCiTY_1110() { LocalizationCode = Parameter.localization, PatientID = Parameter.patient_id, TreatmentYearStartDate = treatment_year_start_date, TreatmentYearEndDate = treatment_year_start_date.AddDays(treatment_year_length - 1) }, securityTicket).Result; var existingBillPosition = cls_Get_Existing_OCT_BillPosition_for_PatientID_and_LocalizationCode.Invoke(Connection, Transaction, new P_CAS_GEBPfPIDaLC_1803() { LocalizationCode = Parameter.localization, PatientID = Parameter.patient_id }, securityTicket).Result; if (existingBillPosition != null && existingBillPosition.CaseID == Parameter.case_id) { var op_to_reassign_oct_to = ops_in_treatment_year.FirstOrDefault(t => t.CaseID != Parameter.case_id && ((!t.IsPerformed && !t.IsDeleted) || (t.IsPerformed && t.FsStatus != 8 && t.FsStatus != 11 && t.FsStatus != 17))); if (op_to_reassign_oct_to != null) { var caseBillCode = new ORM_HEC_CAS_Case_BillCode(); caseBillCode.Load(Connection, Transaction, existingBillPosition.CaseBillCodeID); caseBillCode.HEC_CAS_Case_RefID = op_to_reassign_oct_to.CaseID; caseBillCode.Save(Connection, Transaction); } else { var oct = Retrieve_Octs.GetOctsWhereFieldsHaveValues(new List <FieldValueParameter>() { new FieldValueParameter() { FieldName = "case_id", FieldValue = Parameter.case_id.ToString() } }, null, securityTicket.TenantID.ToString()).SingleOrDefault(); if (oct != null) { var oct_id = Guid.Parse(oct.id); var oct_planned_action = new ORM_HEC_ACT_PlannedAction(); oct_planned_action.Load(Connection, Transaction, oct_id); oct_planned_action.IsCancelled = true; oct_planned_action.Save(Connection, Transaction); } } should_send_email = cls_Get_Active_NonError_OctBillPositionID_for_CaseID.Invoke(Connection, Transaction, new P_CAS_GANEOctBPIDfCID_0925() { CaseID = Parameter.case_id }, securityTicket).Result.Any(); } if (should_send_email) { var performedOcts = cls_Get_PerformedOctDoctorData_for_CaseID.Invoke(Connection, Transaction, new P_CAS_GPOctDDfCID_0935() { CaseID = Parameter.case_id }, securityTicket).Result; if (performedOcts.Any()) { var mailToL = new List <String>(); var accountMails = cls_Get_All_Account_LoginEmails_Who_Receive_Notifications.Invoke(Connection, Transaction, securityTicket).Result.ToList(); foreach (var mail in accountMails) { mailToL.Add(mail.LoginEmail); } var mailToFromCompanySettings = cls_Get_Company_Settings.Invoke(Connection, Transaction, securityTicket).Result.Email; mailToL.Add(mailToFromCompanySettings); var patient_details = cls_Get_Patient_Details_for_PatientID.Invoke(Connection, Transaction, new P_P_PA_GPDfPID_1124() { PatientID = Parameter.patient_id }, securityTicket).Result; var treatment_doctor_details = cls_Get_Doctor_Details_for_DoctorID.Invoke(Connection, Transaction, new P_DO_GDDfDID_0823() { DoctorID = Parameter.op_doctor_id }, securityTicket).Result.First(); var appName = WebConfigurationManager.AppSettings["mmAppUrl"]; var prefix = HttpContext.Current.Request.Url.AbsoluteUri.Contains("https") ? "https://" : "http://"; var imageUrl = HttpContext.Current.Request.Url.AbsoluteUri.Substring(0, HttpContext.Current.Request.Url.AbsoluteUri.IndexOf("api")) + "Content/images/logo.png"; var email_template = File.ReadAllText(HttpContext.Current.Server.MapPath("~/EmailTemplates/TreatmentCancelledFromSettlementPageOctSubmittedEmailTemplate .html")); var subjectsJson = File.ReadAllText(HttpContext.Current.Server.MapPath("~/EmailTemplates/EmailSubjects.json")); dynamic subjects = JsonConvert.DeserializeObject(subjectsJson); var subjectMail = subjects["TreatmentCancelledFromSettlementPageSubject"].ToString(); email_template = EmailTemplater.SetTemplateData(email_template, new { patient_first_name = patient_details.patient_first_name, patient_last_name = patient_details.patient_last_name, treatment_date = Parameter.treatment_date.ToString("dd.MM.yyyy"), treatment_doctor_title = treatment_doctor_details.title, treatment_doctor_first_name = treatment_doctor_details.first_name, treatment_doctor_last_name = treatment_doctor_details.last_name, octs = performedOcts, mmapp_treatment_page_url = prefix + HttpContext.Current.Request.Url.Authority + "/" + appName + "/#/treatment", medios_connect_logo_url = imageUrl }, "{{", "}}"); try { string mailFrom = WebConfigurationManager.AppSettings["mailFrom"]; var mailsDistinct = mailToL.Distinct().ToList(); foreach (var mailTo in mailsDistinct) { EmailNotificationSenderUtil.SendEmail(mailFrom, mailTo, subjectMail, email_template); } } catch (Exception ex) { LogUtils.Logger.LogDocAppInfo(new LogUtils.LogEntry(System.Reflection.MethodInfo.GetCurrentMethod(), ex, null, "Cancel case from settlement: Email sending failed."), "EmailExceptions"); } } } return(returnValue); #endregion UserCode }