public override object Delete(int id, int CompanyId) { InsuranceMaster insuranceMasterDB = _context.InsuranceMasters.Include("addressInfo").Include("contactInfo") .Where(p => p.Id == id && p.CreatedByCompanyId.HasValue == true && p.CreatedByCompanyId == CompanyId && (p.IsDeleted.HasValue == false || (p.IsDeleted.HasValue == true && p.IsDeleted.Value == false))) .FirstOrDefault <InsuranceMaster>(); if (insuranceMasterDB == null) { return(new BO.ErrorObject { ErrorMessage = "No record found for this InsuranceMaster.", errorObject = "", ErrorLevel = ErrorLevel.Error }); } insuranceMasterDB.AddressInfo.IsDeleted = true; insuranceMasterDB.ContactInfo.IsDeleted = true; insuranceMasterDB.IsDeleted = true; _context.Entry(insuranceMasterDB).State = System.Data.Entity.EntityState.Modified; _context.SaveChanges(); var res = ObjectConvert <BO.InsuranceMaster, InsuranceMaster>(insuranceMasterDB); return((object)res); }
public HttpResponseMessage Post([FromBody] InsuranceMaster data) { return(requestHandler.CreateGbObject(Request, data)); }
public override object Save <T>(T entity) { BO.InsuranceMaster insuranceMasterBO = (BO.InsuranceMaster)(object) entity; BO.AddressInfo addressBO = insuranceMasterBO.AddressInfo; BO.ContactInfo contactinfoBO = insuranceMasterBO.ContactInfo; if (insuranceMasterBO.CreatedByCompanyId.HasValue == true) { InsuranceMaster insuranceMasterDB = new InsuranceMaster(); using (var dbContextTransaction = _context.Database.BeginTransaction()) { bool IsEditMode = false; IsEditMode = (insuranceMasterBO != null && insuranceMasterBO.ID > 0) ? true : false; AddressInfo addressDB = new AddressInfo(); ContactInfo contactinfoDB = new ContactInfo(); #region Address if (addressBO != null) { bool Add_addressDB = false; addressDB = _context.AddressInfoes.Where(p => p.id == addressBO.ID && (p.IsDeleted.HasValue == false || (p.IsDeleted.HasValue == true && p.IsDeleted.Value == false))).FirstOrDefault(); if (addressDB == null && addressBO.ID <= 0) { addressDB = new AddressInfo(); Add_addressDB = true; } else if (addressDB == null && addressBO.ID > 0) { dbContextTransaction.Rollback(); return(new BO.ErrorObject { errorObject = "", ErrorMessage = "Address details dosent exists.", ErrorLevel = ErrorLevel.Error }); } addressDB.Name = IsEditMode == true && addressBO.Name == null ? addressDB.Name : addressBO.Name; addressDB.Address1 = IsEditMode == true && addressBO.Address1 == null ? addressDB.Address1 : addressBO.Address1; addressDB.Address2 = IsEditMode == true && addressBO.Address2 == null ? addressDB.Address2 : addressBO.Address2; addressDB.City = IsEditMode == true && addressBO.City == null ? addressDB.City : addressBO.City; addressDB.State = IsEditMode == true && addressBO.State == null ? addressDB.State : addressBO.State; addressDB.ZipCode = IsEditMode == true && addressBO.ZipCode == null ? addressDB.ZipCode : addressBO.ZipCode; addressDB.Country = IsEditMode == true && addressBO.Country == null ? addressDB.Country : addressBO.Country; //[STATECODE-CHANGE] //addressDB.StateCode = IsEditMode == true && addressBO.StateCode == null ? addressDB.StateCode : addressBO.StateCode; //[STATECODE-CHANGE] if (Add_addressDB == true) { addressDB = _context.AddressInfoes.Add(addressDB); } _context.SaveChanges(); } else { if (IsEditMode == false) { dbContextTransaction.Rollback(); return(new BO.ErrorObject { errorObject = "", ErrorMessage = "Please pass valid address details.", ErrorLevel = ErrorLevel.Error }); } addressDB = null; } #endregion #region Contact Info if (contactinfoBO != null) { bool Add_contactinfoDB = false; contactinfoDB = _context.ContactInfoes.Where(p => p.id == contactinfoBO.ID && (p.IsDeleted.HasValue == false || (p.IsDeleted.HasValue == true && p.IsDeleted.Value == false))).FirstOrDefault(); if (contactinfoDB == null && contactinfoBO.ID <= 0) { contactinfoDB = new ContactInfo(); Add_contactinfoDB = true; } else if (contactinfoDB == null && contactinfoBO.ID > 0) { dbContextTransaction.Rollback(); return(new BO.ErrorObject { errorObject = "", ErrorMessage = "Contact details dosent exists.", ErrorLevel = ErrorLevel.Error }); } contactinfoDB.Name = IsEditMode == true && contactinfoBO.Name == null ? contactinfoDB.Name : contactinfoBO.Name; contactinfoDB.CellPhone = IsEditMode == true && contactinfoBO.CellPhone == null ? contactinfoDB.CellPhone : contactinfoBO.CellPhone; contactinfoDB.EmailAddress = IsEditMode == true && contactinfoBO.EmailAddress == null ? contactinfoDB.EmailAddress : contactinfoBO.EmailAddress; contactinfoDB.HomePhone = IsEditMode == true && contactinfoBO.HomePhone == null ? contactinfoDB.HomePhone : contactinfoBO.HomePhone; contactinfoDB.WorkPhone = IsEditMode == true && contactinfoBO.WorkPhone == null ? contactinfoDB.WorkPhone : contactinfoBO.WorkPhone; contactinfoDB.FaxNo = IsEditMode == true && contactinfoBO.FaxNo == null ? contactinfoDB.FaxNo : contactinfoBO.FaxNo; contactinfoDB.OfficeExtension = IsEditMode == true && contactinfoBO.OfficeExtension == null ? contactinfoDB.OfficeExtension : contactinfoBO.OfficeExtension; contactinfoDB.AlternateEmail = IsEditMode == true && contactinfoBO.AlternateEmail == null ? contactinfoDB.AlternateEmail : contactinfoBO.AlternateEmail; contactinfoDB.PreferredCommunication = IsEditMode == true && contactinfoBO.PreferredCommunication == null ? contactinfoDB.PreferredCommunication : contactinfoBO.PreferredCommunication; contactinfoDB.IsDeleted = contactinfoBO.IsDeleted; if (Add_contactinfoDB == true) { contactinfoDB = _context.ContactInfoes.Add(contactinfoDB); } _context.SaveChanges(); } else { if (IsEditMode == false) { dbContextTransaction.Rollback(); return(new BO.ErrorObject { errorObject = "", ErrorMessage = "Please pass valid contact details.", ErrorLevel = ErrorLevel.Error }); } contactinfoDB = null; } #endregion #region Insurance Master if (insuranceMasterBO != null) { bool Add_insuranceMasterDB = false; insuranceMasterDB = _context.InsuranceMasters.Where(p => p.Id == insuranceMasterBO.ID && (p.IsDeleted.HasValue == false || (p.IsDeleted.HasValue == true && p.IsDeleted.Value == false))).FirstOrDefault <InsuranceMaster>(); if (insuranceMasterDB == null && insuranceMasterBO.ID <= 0) { insuranceMasterDB = new InsuranceMaster(); Add_insuranceMasterDB = true; } else if (insuranceMasterDB == null && insuranceMasterBO.ID > 0) { dbContextTransaction.Rollback(); return(new BO.ErrorObject { errorObject = "", ErrorMessage = "Insurance Master information dosent exists.", ErrorLevel = ErrorLevel.Error }); } insuranceMasterDB.CompanyCode = insuranceMasterBO.CompanyCode; insuranceMasterDB.CompanyName = IsEditMode == true && insuranceMasterBO.CompanyName == null ? insuranceMasterDB.CompanyName : insuranceMasterBO.CompanyName; insuranceMasterDB.ZeusID = insuranceMasterBO.ZeusID; insuranceMasterDB.PriorityBilling = insuranceMasterBO.PriorityBilling; insuranceMasterDB.Only1500Form = insuranceMasterBO.Only1500Form; insuranceMasterDB.PaperAuthorization = insuranceMasterBO.PaperAuthorization; insuranceMasterDB.CreatedByCompanyId = insuranceMasterBO.CreatedByCompanyId; insuranceMasterDB.AddressInfoId = (addressDB != null && addressDB.id > 0) ? addressDB.id : insuranceMasterDB.AddressInfoId; insuranceMasterDB.ContactInfoId = (contactinfoDB != null && contactinfoDB.id > 0) ? contactinfoDB.id : insuranceMasterDB.ContactInfoId; if (Add_insuranceMasterDB == true) { insuranceMasterDB = _context.InsuranceMasters.Add(insuranceMasterDB); } _context.SaveChanges(); } else { if (IsEditMode == false) { dbContextTransaction.Rollback(); return(new BO.ErrorObject { errorObject = "", ErrorMessage = "Please pass valid insurance master information details.", ErrorLevel = ErrorLevel.Error }); } insuranceMasterDB = null; } _context.SaveChanges(); #endregion dbContextTransaction.Commit(); insuranceMasterDB = _context.InsuranceMasters.Include("addressInfo").Include("contactInfo").Where(p => p.Id == insuranceMasterDB.Id && (p.IsDeleted.HasValue == false || (p.IsDeleted.HasValue == true && p.IsDeleted.Value == false))).FirstOrDefault <InsuranceMaster>(); } var res = ObjectConvert <BO.InsuranceMaster, InsuranceMaster>(insuranceMasterDB); return((object)res); } else { return(new BO.ErrorObject { errorObject = "", ErrorMessage = "Cannot add or update Master Insurance data.", ErrorLevel = ErrorLevel.Error }); } }
public override T ObjectConvert <T, U>(U entity) { InsuranceMaster insuranceMaster = entity as InsuranceMaster; if (insuranceMaster == null) { return(default(T)); } BO.InsuranceMaster boInsuranceMaster = new BO.InsuranceMaster(); boInsuranceMaster.ID = insuranceMaster.Id; boInsuranceMaster.CompanyCode = insuranceMaster.CompanyCode; boInsuranceMaster.CompanyName = insuranceMaster.CompanyName; boInsuranceMaster.AddressInfoId = insuranceMaster.AddressInfoId; boInsuranceMaster.ContactInfoId = insuranceMaster.ContactInfoId; boInsuranceMaster.ZeusID = insuranceMaster.ZeusID; boInsuranceMaster.PriorityBilling = insuranceMaster.PriorityBilling; boInsuranceMaster.Only1500Form = insuranceMaster.Only1500Form; boInsuranceMaster.PaperAuthorization = insuranceMaster.PaperAuthorization; boInsuranceMaster.CreatedByCompanyId = insuranceMaster.CreatedByCompanyId; //if (insuranceMaster.IsDeleted.HasValue) // boInsuranceMaster.IsDeleted = insuranceMaster.IsDeleted.Value; if (insuranceMaster.AddressInfo != null) { BO.AddressInfo boAddress = new BO.AddressInfo(); boAddress.Name = insuranceMaster.AddressInfo.Name; boAddress.Address1 = insuranceMaster.AddressInfo.Address1; boAddress.Address2 = insuranceMaster.AddressInfo.Address2; boAddress.City = insuranceMaster.AddressInfo.City; boAddress.State = insuranceMaster.AddressInfo.State; boAddress.ZipCode = insuranceMaster.AddressInfo.ZipCode; boAddress.Country = insuranceMaster.AddressInfo.Country; boAddress.CreateByUserID = insuranceMaster.AddressInfo.CreateByUserID; boAddress.ID = insuranceMaster.AddressInfo.id; boAddress.IsDeleted = insuranceMaster.AddressInfo.IsDeleted; boInsuranceMaster.AddressInfo = boAddress; } if (insuranceMaster.ContactInfo != null) { BO.ContactInfo boContactInfo = new BO.ContactInfo(); boContactInfo.Name = insuranceMaster.ContactInfo.Name; boContactInfo.CellPhone = insuranceMaster.ContactInfo.CellPhone; boContactInfo.EmailAddress = insuranceMaster.ContactInfo.EmailAddress; boContactInfo.HomePhone = insuranceMaster.ContactInfo.HomePhone; boContactInfo.WorkPhone = insuranceMaster.ContactInfo.WorkPhone; boContactInfo.FaxNo = insuranceMaster.ContactInfo.FaxNo; boContactInfo.OfficeExtension = insuranceMaster.ContactInfo.OfficeExtension; boContactInfo.AlternateEmail = insuranceMaster.ContactInfo.AlternateEmail; boContactInfo.PreferredCommunication = insuranceMaster.ContactInfo.PreferredCommunication; boContactInfo.CreateByUserID = insuranceMaster.ContactInfo.CreateByUserID; boContactInfo.ID = insuranceMaster.ContactInfo.id; boContactInfo.IsDeleted = insuranceMaster.ContactInfo.IsDeleted; boInsuranceMaster.ContactInfo = boContactInfo; } boInsuranceMaster.IsDeleted = insuranceMaster.IsDeleted; boInsuranceMaster.CreateByUserID = insuranceMaster.CreateByUserID; boInsuranceMaster.UpdateByUserID = insuranceMaster.UpdateByUserID; return((T)(object)boInsuranceMaster); }
//public override object IsInsuranceInfoAdded(int id) //{ // var acc = _context.PatientInsuranceInfoes.Where(p => p.PatientId == id && (p.IsDeleted.HasValue == false || (p.IsDeleted.HasValue == true && p.IsDeleted.Value == false))) // .FirstOrDefault<PatientInsuranceInfo>(); // if (acc == null) // { // return false; // } // else // { // return true; // } //} #endregion #region save public override object Save <T>(T entity) { BO.PatientInsuranceInfo insuranceBO = (BO.PatientInsuranceInfo)(object) entity; BO.AddressInfo addressinfoPolicyHolderBO = insuranceBO.AddressInfo1; BO.ContactInfo contactinfoPolicyHolderBO = insuranceBO.ContactInfo1; BO.AddressInfo addressinfoInsuranceCompanyBO = insuranceBO.AddressInfo; BO.ContactInfo contactinfoInsuranceCompanyBO = insuranceBO.ContactInfo; PatientInsuranceInfo insuranceDB = new PatientInsuranceInfo(); using (var dbContextTransaction = _context.Database.BeginTransaction()) { bool IsEditMode = false; IsEditMode = (insuranceBO != null && insuranceBO.ID > 0) ? true : false; AddressInfo addressinfoPolicyHolderDB = new AddressInfo(); ContactInfo contactinfoPolicyHolderDB = new ContactInfo(); AddressInfo addressinfoInsuranceCompanyDB = new AddressInfo(); ContactInfo contactinfoInsuranceCompanyDB = new ContactInfo(); User userDB = new User(); #region Address Poliy Holder if (addressinfoPolicyHolderBO != null) { bool Add_addressDB = false; addressinfoPolicyHolderDB = _context.AddressInfoes.Where(p => p.id == addressinfoPolicyHolderBO.ID).FirstOrDefault(); if (addressinfoPolicyHolderDB == null && addressinfoPolicyHolderBO.ID <= 0) { addressinfoPolicyHolderDB = new AddressInfo(); Add_addressDB = true; } else if (addressinfoPolicyHolderDB == null && addressinfoPolicyHolderBO.ID > 0) { dbContextTransaction.Rollback(); return(new BO.ErrorObject { errorObject = "", ErrorMessage = "Policy address details dosent exists.", ErrorLevel = ErrorLevel.Error }); } addressinfoPolicyHolderDB.Name = IsEditMode == true && addressinfoPolicyHolderBO.Name == null ? addressinfoPolicyHolderDB.Name : addressinfoPolicyHolderBO.Name; addressinfoPolicyHolderDB.Address1 = IsEditMode == true && addressinfoPolicyHolderBO.Address1 == null ? addressinfoPolicyHolderDB.Address1 : addressinfoPolicyHolderBO.Address1; addressinfoPolicyHolderDB.Address2 = IsEditMode == true && addressinfoPolicyHolderBO.Address2 == null ? addressinfoPolicyHolderDB.Address2 : addressinfoPolicyHolderBO.Address2; addressinfoPolicyHolderDB.City = IsEditMode == true && addressinfoPolicyHolderBO.City == null ? addressinfoPolicyHolderDB.City : addressinfoPolicyHolderBO.City; addressinfoPolicyHolderDB.State = IsEditMode == true && addressinfoPolicyHolderBO.State == null ? addressinfoPolicyHolderDB.State : addressinfoPolicyHolderBO.State; addressinfoPolicyHolderDB.ZipCode = IsEditMode == true && addressinfoPolicyHolderBO.ZipCode == null ? addressinfoPolicyHolderDB.ZipCode : addressinfoPolicyHolderBO.ZipCode; addressinfoPolicyHolderDB.Country = IsEditMode == true && addressinfoPolicyHolderBO.Country == null ? addressinfoPolicyHolderDB.Country : addressinfoPolicyHolderBO.Country; //[STATECODE-CHANGE] //addressinfoPolicyHolderDB.StateCode = IsEditMode == true && addressinfoPolicyHolderBO.StateCode == null ? addressinfoPolicyHolderDB.StateCode : addressinfoPolicyHolderBO.StateCode; //[STATECODE-CHANGE] if (Add_addressDB == true) { addressinfoPolicyHolderDB = _context.AddressInfoes.Add(addressinfoPolicyHolderDB); } _context.SaveChanges(); } else { if (IsEditMode == false) { dbContextTransaction.Rollback(); return(new BO.ErrorObject { errorObject = "", ErrorMessage = "Please pass valid policy address details.", ErrorLevel = ErrorLevel.Error }); } addressinfoPolicyHolderDB = null; } #endregion #region Contact Info Policy Holder if (contactinfoPolicyHolderBO != null) { bool Add_contactinfoDB = false; contactinfoPolicyHolderDB = _context.ContactInfoes.Where(p => p.id == contactinfoPolicyHolderBO.ID).FirstOrDefault(); if (contactinfoPolicyHolderDB == null && contactinfoPolicyHolderBO.ID <= 0) { contactinfoPolicyHolderDB = new ContactInfo(); Add_contactinfoDB = true; } else if (contactinfoPolicyHolderDB == null && contactinfoPolicyHolderBO.ID > 0) { dbContextTransaction.Rollback(); return(new BO.ErrorObject { errorObject = "", ErrorMessage = "Policy contact details dosent exists.", ErrorLevel = ErrorLevel.Error }); } contactinfoPolicyHolderDB.Name = IsEditMode == true && contactinfoPolicyHolderBO.Name == null ? contactinfoPolicyHolderDB.Name : contactinfoPolicyHolderBO.Name; contactinfoPolicyHolderDB.CellPhone = IsEditMode == true && contactinfoPolicyHolderBO.CellPhone == null ? contactinfoPolicyHolderDB.CellPhone : contactinfoPolicyHolderBO.CellPhone; contactinfoPolicyHolderDB.EmailAddress = IsEditMode == true && contactinfoPolicyHolderBO.EmailAddress == null ? contactinfoPolicyHolderDB.EmailAddress : contactinfoPolicyHolderBO.EmailAddress; contactinfoPolicyHolderDB.HomePhone = IsEditMode == true && contactinfoPolicyHolderBO.HomePhone == null ? contactinfoPolicyHolderDB.HomePhone : contactinfoPolicyHolderBO.HomePhone; contactinfoPolicyHolderDB.WorkPhone = IsEditMode == true && contactinfoPolicyHolderBO.WorkPhone == null ? contactinfoPolicyHolderDB.WorkPhone : contactinfoPolicyHolderBO.WorkPhone; contactinfoPolicyHolderDB.FaxNo = IsEditMode == true && contactinfoPolicyHolderBO.FaxNo == null ? contactinfoPolicyHolderDB.FaxNo : contactinfoPolicyHolderBO.FaxNo; contactinfoPolicyHolderDB.OfficeExtension = IsEditMode == true && contactinfoPolicyHolderBO.OfficeExtension == null ? contactinfoPolicyHolderDB.OfficeExtension : contactinfoPolicyHolderBO.OfficeExtension; contactinfoPolicyHolderDB.AlternateEmail = IsEditMode == true && contactinfoPolicyHolderBO.AlternateEmail == null ? contactinfoPolicyHolderDB.AlternateEmail : contactinfoPolicyHolderBO.AlternateEmail; contactinfoPolicyHolderDB.PreferredCommunication = IsEditMode == true && contactinfoPolicyHolderBO.PreferredCommunication == null ? contactinfoPolicyHolderDB.PreferredCommunication : contactinfoPolicyHolderBO.PreferredCommunication; contactinfoPolicyHolderDB.IsDeleted = contactinfoPolicyHolderBO.IsDeleted; if (Add_contactinfoDB == true) { contactinfoPolicyHolderDB = _context.ContactInfoes.Add(contactinfoPolicyHolderDB); } _context.SaveChanges(); } else { if (IsEditMode == false) { dbContextTransaction.Rollback(); return(new BO.ErrorObject { errorObject = "", ErrorMessage = "Please pass valid policy contact details.", ErrorLevel = ErrorLevel.Error }); } contactinfoPolicyHolderDB = null; } #endregion #region Address Insurance Company if (addressinfoInsuranceCompanyBO != null) { bool Add_addressDB = false; addressinfoInsuranceCompanyDB = _context.AddressInfoes.Where(p => p.id == addressinfoInsuranceCompanyBO.ID).FirstOrDefault(); if (addressinfoInsuranceCompanyDB == null && addressinfoInsuranceCompanyBO.ID <= 0) { addressinfoInsuranceCompanyDB = new AddressInfo(); Add_addressDB = true; } else if (addressinfoInsuranceCompanyDB == null && addressinfoInsuranceCompanyBO.ID > 0) { dbContextTransaction.Rollback(); return(new BO.ErrorObject { errorObject = "", ErrorMessage = "Insurance address details dosent exists.", ErrorLevel = ErrorLevel.Error }); } addressinfoInsuranceCompanyDB.id = addressinfoInsuranceCompanyBO.ID; addressinfoInsuranceCompanyDB.Name = IsEditMode == true && addressinfoInsuranceCompanyBO.Name == null ? addressinfoInsuranceCompanyDB.Name : addressinfoInsuranceCompanyBO.Name; addressinfoInsuranceCompanyDB.Address1 = IsEditMode == true && addressinfoInsuranceCompanyBO.Address1 == null ? addressinfoInsuranceCompanyDB.Address1 : addressinfoInsuranceCompanyBO.Address1; addressinfoInsuranceCompanyDB.Address2 = IsEditMode == true && addressinfoInsuranceCompanyBO.Address2 == null ? addressinfoInsuranceCompanyDB.Address2 : addressinfoInsuranceCompanyBO.Address2; addressinfoInsuranceCompanyDB.City = IsEditMode == true && addressinfoInsuranceCompanyBO.City == null ? addressinfoInsuranceCompanyDB.City : addressinfoInsuranceCompanyBO.City; addressinfoInsuranceCompanyDB.State = IsEditMode == true && addressinfoInsuranceCompanyBO.State == null ? addressinfoInsuranceCompanyDB.State : addressinfoInsuranceCompanyBO.State; addressinfoInsuranceCompanyDB.ZipCode = IsEditMode == true && addressinfoInsuranceCompanyBO.ZipCode == null ? addressinfoInsuranceCompanyDB.ZipCode : addressinfoInsuranceCompanyBO.ZipCode; addressinfoInsuranceCompanyDB.Country = IsEditMode == true && addressinfoInsuranceCompanyBO.Country == null ? addressinfoInsuranceCompanyDB.Country : addressinfoInsuranceCompanyBO.Country; //[STATECODE-CHANGE] //addressinfoInsuranceCompanyDB.StateCode = IsEditMode == true && addressinfoInsuranceCompanyBO.StateCode == null ? addressinfoInsuranceCompanyDB.StateCode : addressinfoInsuranceCompanyBO.StateCode; //[STATECODE-CHANGE] if (Add_addressDB == true) { addressinfoInsuranceCompanyDB = _context.AddressInfoes.Add(addressinfoInsuranceCompanyDB); } _context.SaveChanges(); } else { //if (IsEditMode == false) //{ // dbContextTransaction.Rollback(); // return new BO.ErrorObject { errorObject = "", ErrorMessage = "Please pass valid insurance address details.", ErrorLevel = ErrorLevel.Error }; //} addressinfoInsuranceCompanyDB = null; } #endregion #region Contact Info Insurance Company if (contactinfoInsuranceCompanyBO != null) { bool Add_contactinfoDB = false; contactinfoInsuranceCompanyDB = _context.ContactInfoes.Where(p => p.id == contactinfoInsuranceCompanyBO.ID).FirstOrDefault(); if (contactinfoInsuranceCompanyDB == null && contactinfoInsuranceCompanyBO.ID <= 0) { contactinfoInsuranceCompanyDB = new ContactInfo(); Add_contactinfoDB = true; } else if (contactinfoInsuranceCompanyDB == null && contactinfoInsuranceCompanyBO.ID > 0) { dbContextTransaction.Rollback(); return(new BO.ErrorObject { errorObject = "", ErrorMessage = "Insurance contact details dosent exists.", ErrorLevel = ErrorLevel.Error }); } contactinfoInsuranceCompanyDB.Name = IsEditMode == true && contactinfoInsuranceCompanyBO.Name == null ? contactinfoInsuranceCompanyDB.Name : contactinfoInsuranceCompanyBO.Name; contactinfoInsuranceCompanyDB.CellPhone = IsEditMode == true && contactinfoInsuranceCompanyBO.CellPhone == null ? contactinfoInsuranceCompanyDB.CellPhone : contactinfoInsuranceCompanyBO.CellPhone; contactinfoInsuranceCompanyDB.EmailAddress = IsEditMode == true && contactinfoInsuranceCompanyBO.EmailAddress == null ? contactinfoInsuranceCompanyDB.EmailAddress : contactinfoInsuranceCompanyBO.EmailAddress; contactinfoInsuranceCompanyDB.HomePhone = IsEditMode == true && contactinfoInsuranceCompanyBO.HomePhone == null ? contactinfoInsuranceCompanyDB.HomePhone : contactinfoInsuranceCompanyBO.HomePhone; contactinfoInsuranceCompanyDB.WorkPhone = IsEditMode == true && contactinfoInsuranceCompanyBO.WorkPhone == null ? contactinfoInsuranceCompanyDB.WorkPhone : contactinfoInsuranceCompanyBO.WorkPhone; contactinfoInsuranceCompanyDB.FaxNo = IsEditMode == true && contactinfoInsuranceCompanyBO.FaxNo == null ? contactinfoInsuranceCompanyDB.FaxNo : contactinfoInsuranceCompanyBO.FaxNo; contactinfoInsuranceCompanyDB.OfficeExtension = IsEditMode == true && contactinfoInsuranceCompanyBO.OfficeExtension == null ? contactinfoInsuranceCompanyDB.OfficeExtension : contactinfoInsuranceCompanyBO.OfficeExtension; contactinfoInsuranceCompanyDB.AlternateEmail = IsEditMode == true && contactinfoInsuranceCompanyBO.AlternateEmail == null ? contactinfoInsuranceCompanyDB.AlternateEmail : contactinfoInsuranceCompanyBO.AlternateEmail; contactinfoInsuranceCompanyDB.PreferredCommunication = IsEditMode == true && contactinfoInsuranceCompanyBO.PreferredCommunication == null ? contactinfoInsuranceCompanyDB.PreferredCommunication : contactinfoInsuranceCompanyBO.PreferredCommunication; contactinfoInsuranceCompanyDB.IsDeleted = contactinfoInsuranceCompanyBO.IsDeleted; if (Add_contactinfoDB == true) { contactinfoInsuranceCompanyDB = _context.ContactInfoes.Add(contactinfoInsuranceCompanyDB); } _context.SaveChanges(); } else { if (IsEditMode == false) { dbContextTransaction.Rollback(); return(new BO.ErrorObject { errorObject = "", ErrorMessage = "Please pass valid insurance contact details.", ErrorLevel = ErrorLevel.Error }); } contactinfoInsuranceCompanyDB = null; } #endregion #region insurance if (insuranceBO != null) { bool Add_insuranceDB = false; insuranceDB = _context.PatientInsuranceInfoes.Where(p => p.Id == insuranceBO.ID).FirstOrDefault <PatientInsuranceInfo>(); if (insuranceDB == null && insuranceBO.ID <= 0) { insuranceDB = new PatientInsuranceInfo(); Add_insuranceDB = true; } else if (insuranceDB == null && insuranceBO.ID > 0) { dbContextTransaction.Rollback(); return(new BO.ErrorObject { errorObject = "", ErrorMessage = "Patient Insurance dosent exists.", ErrorLevel = ErrorLevel.Error }); } insuranceDB.CaseId = insuranceBO.CaseId; insuranceDB.PolicyHolderName = IsEditMode == true && insuranceBO.PolicyHoldersName == null ? insuranceDB.PolicyHolderName : insuranceBO.PolicyHoldersName; insuranceDB.PolicyHolderAddressInfoId = (addressinfoPolicyHolderDB != null && addressinfoPolicyHolderDB.id > 0) ? addressinfoPolicyHolderDB.id : insuranceDB.PolicyHolderAddressInfoId; insuranceDB.PolicyHolderContactInfoId = (contactinfoPolicyHolderDB != null && contactinfoPolicyHolderDB.id > 0) ? contactinfoPolicyHolderDB.id : insuranceDB.PolicyHolderContactInfoId; insuranceDB.PolicyOwnerId = IsEditMode == true && insuranceBO.PolicyOwnerId == null ? insuranceDB.PolicyOwnerId : insuranceBO.PolicyOwnerId; insuranceDB.InsuranceCompanyCode = IsEditMode == true && insuranceBO.InsuranceCompanyCode == null ? insuranceDB.InsuranceCompanyCode : insuranceBO.InsuranceCompanyCode; insuranceDB.InsuranceCompanyAddressInfoId = (addressinfoInsuranceCompanyDB != null && addressinfoInsuranceCompanyDB.id > 0) ? addressinfoInsuranceCompanyDB.id : insuranceDB.InsuranceCompanyAddressInfoId; insuranceDB.InsuranceCompanyContactInfoId = (contactinfoInsuranceCompanyDB != null && contactinfoInsuranceCompanyDB.id > 0) ? contactinfoInsuranceCompanyDB.id : insuranceDB.InsuranceCompanyContactInfoId; insuranceDB.PolicyNo = IsEditMode == true && insuranceBO.PolicyNo == null ? insuranceDB.PolicyNo : insuranceBO.PolicyNo; insuranceDB.ContactPerson = IsEditMode == true && insuranceBO.ContactPerson == null ? insuranceDB.ContactPerson : insuranceBO.ContactPerson; insuranceDB.InsuranceTypeId = IsEditMode == true && insuranceBO.InsuranceTypeId == null ? insuranceDB.InsuranceTypeId : insuranceBO.InsuranceTypeId; insuranceDB.IsInActive = insuranceBO.IsInActive; //insuranceDB.InsuranceMasterId = IsEditMode == true && insuranceBO.InsuranceMasterId == null ? insuranceDB.InsuranceMasterId : insuranceBO.InsuranceMasterId; InsuranceMaster InsuranceMasterDB = _context.InsuranceMasters.Where(p => insuranceBO.InsuranceMasterId.HasValue == true && p.Id == insuranceBO.InsuranceMasterId).FirstOrDefault(); if (InsuranceMasterDB != null) { insuranceDB.InsuranceMasterId = insuranceBO.InsuranceMasterId; } else { if (IsEditMode == false) { dbContextTransaction.Rollback(); return(new BO.ErrorObject { errorObject = "", ErrorMessage = "Please pass valid Insurance Master Id.", ErrorLevel = ErrorLevel.Error }); } } if (Add_insuranceDB == true) { insuranceDB = _context.PatientInsuranceInfoes.Add(insuranceDB); } _context.SaveChanges(); } else { if (IsEditMode == false) { dbContextTransaction.Rollback(); return(new BO.ErrorObject { errorObject = "", ErrorMessage = "Please pass valid Patient Insurance details.", ErrorLevel = ErrorLevel.Error }); } insuranceDB = null; } _context.SaveChanges(); #endregion dbContextTransaction.Commit(); insuranceDB = _context.PatientInsuranceInfoes.Include("InsuranceMaster").Where(p => p.Id == insuranceDB.Id).FirstOrDefault <PatientInsuranceInfo>(); } var res = Convert <BO.PatientInsuranceInfo, PatientInsuranceInfo>(insuranceDB); return((object)res); }
public override object SaveEOVisit <T>(T entity) { BO.EOVisit EOVisitBO = (BO.EOVisit)(object) entity; BO.CalendarEvent CalendarEventBO = EOVisitBO.CalendarEvent; BO.Doctor DoctorBO = EOVisitBO.Doctor; string doctorUserName = string.Empty; bool sendNotification = false; bool sendMessage = false; //CalenderEventBO if (CalendarEventBO != null) { List <BO.FreeSlots> currentEventSlots = new List <BO.FreeSlots>(); CalendarEventRepository calEventRepo = new CalendarEventRepository(_context); currentEventSlots = calEventRepo.GetBusySlotsByCalendarEvent(CalendarEventBO) as List <BO.FreeSlots>; if (currentEventSlots.Count > 0) { DateTime dtStartDate = currentEventSlots.Min(p => p.ForDate); DateTime dtEndDate = currentEventSlots.Max(p => p.ForDate).AddDays(1); List <BO.StartAndEndTime> busySlots = new List <BO.StartAndEndTime>(); if (EOVisitBO.DoctorId != null) { var result = calEventRepo.GetBusySlotsForDoctors(EOVisitBO.DoctorId.Value, dtStartDate, dtEndDate); if (result is BO.ErrorObject) { return(result); } else { busySlots = result as List <BO.StartAndEndTime>; } } foreach (var eachDayEventSlot in currentEventSlots) { DateTime ForDate = eachDayEventSlot.ForDate; foreach (var eachEventSlot in eachDayEventSlot.StartAndEndTimes) { DateTime StartTime = eachEventSlot.StartTime; DateTime EndTime = eachEventSlot.EndTime; var StartAndEndTimesForDate = busySlots.Where(p => p.StartTime.Date == ForDate).ToList(); if (StartAndEndTimesForDate.Count > 0) { var StartAndEndTimes = StartAndEndTimesForDate.Where(p => p.StartTime >= StartTime && p.StartTime < EndTime).ToList(); if (StartAndEndTimes.Count > 0) { return(new BO.ErrorObject { errorObject = "", ErrorMessage = "The Doctor dosent have free slots for EO visit time on " + ForDate.ToShortDateString() + " (" + StartTime.ToShortTimeString() + " - " + EndTime.ToShortTimeString() + ").", ErrorLevel = ErrorLevel.Error }); } } } } } } EOVisit EOVisitDB = new EOVisit(); using (var dbContextTransaction = _context.Database.BeginTransaction()) { bool IsEditMode = false; bool IsAddModeCalendarEvent = false; IsEditMode = (EOVisitBO != null && EOVisitBO.ID > 0) ? true : false; string doctorContactNumber = null; User doctoruser = null; if (EOVisitBO.DoctorId == null && EOVisitBO.ID > 0) { var EOvisitData = _context.EOVisits.Where(p => p.ID == EOVisitBO.ID).Select(p => new { p.DoctorId }).FirstOrDefault(); doctoruser = _context.Users.Where(usr => usr.id == EOvisitData.DoctorId).Include("ContactInfo").FirstOrDefault(); } else if (EOVisitBO.DoctorId != null && EOVisitBO.DoctorId > 0) { doctoruser = _context.Users.Where(usr => usr.id == EOVisitBO.DoctorId).Include("ContactInfo").FirstOrDefault(); } if (doctoruser != null) { doctorUserName = doctoruser.UserName; doctorContactNumber = doctoruser.ContactInfo.CellPhone; } CalendarEvent CalendarEventDB = new CalendarEvent(); #region Calendar Event if (CalendarEventBO != null) { bool Add_CalendarEventDB = false; CalendarEventDB = _context.CalendarEvents.Where(p => p.Id == CalendarEventBO.ID && (p.IsDeleted.HasValue == false || (p.IsDeleted.HasValue == true && p.IsDeleted.Value == false))) .FirstOrDefault(); if (CalendarEventDB == null && CalendarEventBO.ID <= 0) { CalendarEventDB = new CalendarEvent(); Add_CalendarEventDB = true; } else if (CalendarEventDB == null && CalendarEventBO.ID > 0) { dbContextTransaction.Rollback(); return(new BO.ErrorObject { errorObject = "", ErrorMessage = "Calendar Event details dosent exists.", ErrorLevel = ErrorLevel.Error }); } //if (string.IsNullOrWhiteSpace(doctorUserName) == false && dictionary.ContainsKey(doctorUserName)) //{ // if (CalendarEventDB.EventStart != CalendarEventBO.EventStart.Value) sendNotification = true; //} CalendarEventDB.Name = IsEditMode == true && CalendarEventBO.Name == null ? CalendarEventDB.Name : CalendarEventBO.Name; CalendarEventDB.EventStart = IsEditMode == true && CalendarEventBO.EventStart.HasValue == false ? CalendarEventDB.EventStart : CalendarEventBO.EventStart.Value; CalendarEventDB.EventEnd = IsEditMode == true && CalendarEventBO.EventEnd.HasValue == false ? CalendarEventDB.EventEnd : CalendarEventBO.EventEnd.Value; CalendarEventDB.TimeZone = CalendarEventBO.TimeZone; CalendarEventDB.Description = CalendarEventBO.Description; CalendarEventDB.RecurrenceId = CalendarEventBO.RecurrenceId; CalendarEventDB.RecurrenceRule = IsEditMode == true && CalendarEventBO.RecurrenceRule == null ? CalendarEventDB.RecurrenceRule : CalendarEventBO.RecurrenceRule; CalendarEventDB.RecurrenceException = IsEditMode == true && CalendarEventBO.RecurrenceException == null ? CalendarEventDB.RecurrenceException : CalendarEventBO.RecurrenceException; CalendarEventDB.IsAllDay = CalendarEventBO.IsAllDay; if (IsEditMode == false) { CalendarEventDB.CreateByUserID = CalendarEventBO.CreateByUserID; CalendarEventDB.CreateDate = DateTime.UtcNow; } else { CalendarEventDB.UpdateByUserID = CalendarEventBO.UpdateByUserID; CalendarEventDB.UpdateDate = DateTime.UtcNow; } if (Add_CalendarEventDB == true) { CalendarEventDB = _context.CalendarEvents.Add(CalendarEventDB); } _context.SaveChanges(); #region send SMS notification //try //{ // if (sendNotification) // { // if (doctorContactNumber != null && doctorContactNumber != string.Empty) // { // string to = doctorContactNumber; // string body = "Your appointment has been scheduled at. "; // string msgid = SMSGateway.SendSMS(to, body); // } // } //} //catch (Exception) { } #endregion } else { if (IsEditMode == false && EOVisitBO.CalendarEventId <= 0) { dbContextTransaction.Rollback(); return(new BO.ErrorObject { errorObject = "", ErrorMessage = "Please pass valid Calendar Event details.", ErrorLevel = ErrorLevel.Error }); } CalendarEventDB = null; } #endregion #region EO Visit if (EOVisitBO != null && ((EOVisitBO.ID <= 0 && (EOVisitBO.DoctorId.HasValue == true || EOVisitBO.PatientId.HasValue == true)) || (EOVisitBO.ID > 0))) { bool Add_EOVisitDB = false; EOVisitDB = _context.EOVisits.Where(p => p.ID == EOVisitBO.ID && (p.IsDeleted.HasValue == false || (p.IsDeleted.HasValue == true && p.IsDeleted.Value == false))) .FirstOrDefault(); if (EOVisitDB == null && EOVisitBO.ID <= 0) { EOVisitDB = new EOVisit(); Add_EOVisitDB = true; sendMessage = true; } else if (EOVisitDB == null && EOVisitBO.ID > 0) { dbContextTransaction.Rollback(); return(new BO.ErrorObject { errorObject = "", ErrorMessage = "Patient Visit doesn't exists.", ErrorLevel = ErrorLevel.Error }); } EOVisitDB.CalendarEventId = (CalendarEventDB != null && CalendarEventDB.Id > 0) ? CalendarEventDB.Id : ((EOVisitBO.CalendarEventId.HasValue == true) ? EOVisitBO.CalendarEventId.Value : EOVisitDB.CalendarEventId); EOVisitDB.DoctorId = IsEditMode == true && EOVisitBO.DoctorId.HasValue == false ? EOVisitDB.DoctorId : (EOVisitBO.DoctorId.HasValue == false ? EOVisitDB.DoctorId : EOVisitBO.DoctorId.Value); EOVisitDB.PatientId = IsEditMode == true && EOVisitBO.PatientId.HasValue == false ? EOVisitDB.PatientId : (EOVisitBO.PatientId.HasValue == false ? EOVisitDB.PatientId : EOVisitBO.PatientId.Value); EOVisitDB.InsuranceProviderId = IsEditMode == true && EOVisitBO.InsuranceProviderId.HasValue == false ? EOVisitDB.InsuranceProviderId : (EOVisitBO.InsuranceProviderId.HasValue == false ? EOVisitDB.InsuranceProviderId : EOVisitBO.InsuranceProviderId.Value); EOVisitDB.EventStart = EOVisitBO.EventStart; EOVisitDB.EventEnd = EOVisitBO.EventEnd; EOVisitDB.Notes = EOVisitBO.Notes; EOVisitDB.VisitStatusId = EOVisitBO.VisitStatusId; EOVisitDB.VisitCreatedByCompanyId = IsEditMode == true ? EOVisitDB.VisitCreatedByCompanyId : EOVisitBO.VisitCreatedByCompanyId.Value; if (IsEditMode == false) { EOVisitDB.CreateByUserID = EOVisitBO.CreateByUserID; EOVisitDB.CreateDate = DateTime.UtcNow; } else { EOVisitDB.UpdateByUserID = EOVisitBO.UpdateByUserID; EOVisitDB.UpdateDate = DateTime.UtcNow; } if (Add_EOVisitDB == true) { EOVisitDB = _context.EOVisits.Add(EOVisitDB); } _context.SaveChanges(); } else { if (IsEditMode == false && IsAddModeCalendarEvent == false) { dbContextTransaction.Rollback(); return(new BO.ErrorObject { errorObject = "", ErrorMessage = "Please pass valid Patient Visit details.", ErrorLevel = ErrorLevel.Error }); } EOVisitDB = null; } _context.SaveChanges(); #endregion dbContextTransaction.Commit(); if (EOVisitDB != null) { EOVisitDB = _context.EOVisits.Include("CalendarEvent") .Include("Doctor") .Include("Patient") .Include("Company") .Include("InsuranceMaster") .Where(p => p.ID == EOVisitDB.ID && (p.IsDeleted.HasValue == false || (p.IsDeleted.HasValue == true && p.IsDeleted.Value == false))) .FirstOrDefault <EOVisit>(); } else if (CalendarEventDB != null) { EOVisitDB = _context.EOVisits.Include("CalendarEvent") .Where(p => p.CalendarEvent.Id == CalendarEventDB.Id && (p.IsDeleted.HasValue == false || (p.IsDeleted.HasValue == true && p.IsDeleted.Value == false))) .FirstOrDefault <EOVisit>(); } } if (sendMessage == true) { try { IdentityHelper identityHelper = new IdentityHelper(); User AdminUser = _context.Users.Include("ContactInfo").Include("UserCompanies").Include("UserCompanies.company") .Where(p => p.UserName == identityHelper.Email && (p.IsDeleted.HasValue == false || (p.IsDeleted.HasValue == true && p.IsDeleted.Value == false))) .FirstOrDefault(); int currentCompanyType = _context.Companies.Where(p => p.id == EOVisitBO.VisitCreatedByCompanyId).Select(p1 => p1.CompanyType).FirstOrDefault(); List <User> lstStaff = _context.Users.Include("ContactInfo").Include("UserCompanies").Include("UserCompanies.company") .Where(p => p.UserType == 2 && p.UserCompanies.Where(p1 => p1.CompanyID == EOVisitBO.VisitCreatedByCompanyId && (p1.IsDeleted.HasValue == false || (p1.IsDeleted.HasValue == true && p1.IsDeleted.Value == false))).Any() && (p.IsDeleted.HasValue == false || (p.IsDeleted.HasValue == true && p.IsDeleted.Value == false))) .ToList <User>(); User patientInfo = _context.Users.Include("ContactInfo").Include("UserCompanies").Include("UserCompanies.company") .Where(p => p.id == EOVisitBO.PatientId && (p.IsDeleted.HasValue == false || (p.IsDeleted.HasValue == true && p.IsDeleted.Value == false))) .FirstOrDefault(); User doctorInfo = _context.Users.Include("ContactInfo").Include("UserCompanies").Include("UserCompanies.company") .Where(p => p.id == EOVisitBO.DoctorId && (p.IsDeleted.HasValue == false || (p.IsDeleted.HasValue == true && p.IsDeleted.Value == false))).FirstOrDefault(); InsuranceMaster insuranceInfo = _context.InsuranceMasters .Where(p => p.Id == EOVisitBO.InsuranceProviderId && (p.IsDeleted.HasValue == false || (p.IsDeleted.HasValue == true && p.IsDeleted.Value == false))).FirstOrDefault(); string MailMessageForPatient = "<B> New Appointment Scheduled</B></ BR >Medical provider has scheduled a visit with Insurance Company: " + insuranceInfo.CompanyName + "<br><br>Thanks"; string NotificationForPatient = "Medical provider has scheduled a visit with Insurance Company: " + insuranceInfo.CompanyName; string SmsMessageForPatient = "<B> New Appointment Scheduled</B></ BR >Medical provider has scheduled a visit with Insurance Company: " + insuranceInfo.CompanyName + "<br><br>Thanks"; string MailMessageForDoctor = "Appointment has been scheduled with Insurance Company: " + insuranceInfo.CompanyName + "<br><br>Thanks"; string NotificationForDoctor = "Appointment has been scheduled with Insurance Company: " + insuranceInfo.CompanyName; string SmsMessageForDoctor = "Appointment has been scheduled with Insurance Company: " + insuranceInfo.CompanyName + "<br><br>Thanks"; string MailMessageForStaff = ""; string NotificationForStaff = ""; string SmsMessageForStaff = ""; if (currentCompanyType == 2) { MailMessageForStaff = "<B> New Appointment Scheduled</B></BR>A new Appointment schedule for patient : " + patientInfo.FirstName + " " + patientInfo.LastName + " with Insurance Company" + insuranceInfo.CompanyName + "<br><br>Thanks"; NotificationForStaff = "New Appointment schedule for patient : " + patientInfo.FirstName + " " + patientInfo.LastName + " with Insurance Company" + insuranceInfo.CompanyName; SmsMessageForStaff = "<B> New Appointment Scheduled</B></BR>A new Appointment schedule for patient : " + patientInfo.FirstName + " " + patientInfo.LastName + " with Insurance Company" + insuranceInfo.CompanyName + "<br><br>Thanks"; } else { MailMessageForStaff = "<B> New Appointment Scheduled</B></BR>A new Appointment schedule for doctor : " + doctorInfo.FirstName + " " + doctorInfo.LastName + " with Insurance Company" + insuranceInfo.CompanyName + "<br><br>Thanks"; NotificationForStaff = "New Appointment schedule for doctor : " + doctorInfo.FirstName + " " + doctorInfo.LastName + " with Insurance Company" + insuranceInfo.CompanyName; SmsMessageForStaff = "<B> New Appointment Scheduled</B></BR>A new Appointment schedule for doctor : " + doctorInfo.FirstName + " " + doctorInfo.LastName + " with Insurance Company" + insuranceInfo.CompanyName + "<br><br>Thanks"; } #region patient mail object BO.EmailMessage emPatient = new BO.EmailMessage(); if (patientInfo != null) { emPatient.ApplicationName = "Midas"; emPatient.ToEmail = patientInfo.UserName; //patientInfo.UserName; emPatient.EMailSubject = "MIDAS Notification"; emPatient.EMailBody = MailMessageForPatient; } #endregion #region patient sms object BO.SMS smsPatient = new BO.SMS(); if (patientInfo != null) { smsPatient.ApplicationName = "Midas"; smsPatient.ToNumber = patientInfo.ContactInfo.CellPhone; smsPatient.Message = SmsMessageForPatient; } #endregion #region doctor mail object BO.EmailMessage emDoctor = new BO.EmailMessage(); if (doctorInfo != null) { emDoctor.ApplicationName = "Midas"; emDoctor.ToEmail = doctorInfo.UserName; //doctorInfo.UserName; emDoctor.EMailSubject = "MIDAS Notification"; emDoctor.EMailBody = MailMessageForDoctor; } #endregion #region doctor sms object BO.SMS smsDoctor = new BO.SMS(); if (doctorInfo != null) { smsDoctor.ApplicationName = "Midas"; smsDoctor.ToNumber = doctorInfo.ContactInfo.CellPhone; smsDoctor.Message = SmsMessageForDoctor; } #endregion NotificationHelper nh = new NotificationHelper(); MessagingHelper mh = new MessagingHelper(); if (currentCompanyType == 2) // 2 attorney { #region Patient nh.PushNotification(patientInfo.UserName, AdminUser.UserCompanies.Select(p => p.Company.id).FirstOrDefault(), NotificationForPatient, "New Patient Registration"); //patientInfo.UserName for Patient user email mh.SendEmailAndSms(patientInfo.UserName, AdminUser.UserCompanies.Select(p => p.Company.id).FirstOrDefault(), emPatient, smsPatient); #endregion foreach (var item in lstStaff) { #region staff mail object BO.EmailMessage emStaff = new BO.EmailMessage(); emStaff.ApplicationName = "Midas"; emStaff.ToEmail = item.UserName; emStaff.EMailSubject = "MIDAS Notification"; emStaff.EMailBody = MailMessageForStaff; #endregion #region admin sms object BO.SMS smsStaff = new BO.SMS(); smsStaff.ApplicationName = "Midas"; smsStaff.ToNumber = item.ContactInfo.CellPhone; smsStaff.Message = SmsMessageForStaff; #endregion nh.PushNotification(item.UserName, item.UserCompanies.Select(p => p.Company.id).FirstOrDefault(), NotificationForStaff, "New Appointment Schedule"); //item.UserName mh.SendEmailAndSms(item.UserName, item.UserCompanies.Select(p => p.Company.id).FirstOrDefault(), emStaff, smsStaff); } } else // medical provider { #region Doctor nh.PushNotification(doctorInfo.UserName, AdminUser.UserCompanies.Select(p => p.Company.id).FirstOrDefault(), NotificationForDoctor, "New Appointment Schedule"); //doctorInfo.UserName mh.SendEmailAndSms(doctorInfo.UserName, AdminUser.UserCompanies.Select(p => p.Company.id).FirstOrDefault(), emDoctor, smsDoctor); #endregion foreach (var item in lstStaff) { #region staff mail object BO.EmailMessage emStaff = new BO.EmailMessage(); emStaff.ApplicationName = "Midas"; emStaff.ToEmail = item.UserName; emStaff.EMailSubject = "MIDAS Notification"; emStaff.EMailBody = MailMessageForStaff; #endregion #region staff sms object BO.SMS smsStaff = new BO.SMS(); smsStaff.ApplicationName = "Midas"; smsStaff.ToNumber = item.ContactInfo.CellPhone; smsStaff.Message = SmsMessageForStaff; #endregion nh.PushNotification(item.UserName, item.UserCompanies.Select(p => p.Company.id).FirstOrDefault(), NotificationForStaff, "New Appointment Schedule"); mh.SendEmailAndSms(item.UserName, item.UserCompanies.Select(p => p.Company.id).FirstOrDefault(), emStaff, smsStaff); } } } catch (Exception ex) { } } var res = ConvertEOvisit <BO.EOVisit, EOVisit>(EOVisitDB); return((object)res); }