/// <summary> /// Maps SurveyMetaData entity to FormInfoBO business object. /// </summary> /// <param name="entity">A SurveyMetaData entity to be transformed.</param> /// <returns>A FormInfoBO business object.</returns> public static FormInfoBO MapToFormInfoBO(SurveyMetaData entity, User UserEntity) { FormInfoBO result = new FormInfoBO(); result.IsSQLProject = (entity.IsSQLProject == null) ? false : (bool)entity.IsSQLProject; result.FormId = entity.SurveyId.ToString(); result.FormName = entity.SurveyName; result.FormNumber = entity.SurveyNumber; result.OrganizationName = entity.OrganizationName; result.OrganizationId = entity.OrganizationId; result.IsDraftMode = entity.IsDraftMode; result.UserId = entity.OwnerId; if (entity.IsShareable != null) { result.IsShareable = (bool)entity.IsShareable; } if (entity.DataAccessRuleId != null) { // result. = entity.DataAccessRuleId; } result.OwnerFName = UserEntity.FirstName; result.OwnerLName = UserEntity.LastName; result.ParentFormId = entity.ParentId.ToString(); return(result); }
public void UpdateFormMode(FormInfoBO formInfoBO) { try { Guid Id = new Guid(formInfoBO.FormId); //Update Form Mode using (var context = DataObjectFactory.CreateContext()) { var query = from response in context.SurveyMetaDatas where response.SurveyId == Id select response; var dataRow = query.Single(); dataRow.IsDraftMode = formInfoBO.IsDraftMode; dataRow.IsShareable = formInfoBO.IsShareable; dataRow.DataAccessRuleId = formInfoBO.DataAccesRuleId; context.SaveChanges(); } } catch (Exception ex) { throw (ex); } }
public FormSettingResponse GetSettings(FormSettingRequest pRequest) { FormSettingResponse Response = new FormSettingResponse(); try { Epi.Web.Enter.Interfaces.DataInterfaces.IDaoFactory entityDaoFactory = new EFwcf.EntityDaoFactory(); Epi.Web.Enter.Interfaces.DataInterface.IFormSettingDao IFormSettingDao = entityDaoFactory.FormSettingDao; if (!string.IsNullOrEmpty(pRequest.FormInfo.FormId)) { Epi.Web.Enter.Interfaces.DataInterface.IFormInfoDao FormInfoDao = entityDaoFactory.FormInfoDao; Epi.Web.Enter.Interfaces.DataInterface.IUserDao IUserDao = entityDaoFactory.UserDao; Epi.Web.BLL.FormInfo FormInfoImplementation = new Epi.Web.BLL.FormInfo(FormInfoDao); Epi.Web.BLL.FormSetting SettingsImplementation = new Epi.Web.BLL.FormSetting(IFormSettingDao, IUserDao, FormInfoDao); FormInfoBO FormInfoBO = FormInfoImplementation.GetFormInfoByFormId(pRequest.FormInfo.FormId, pRequest.GetXml, pRequest.FormInfo.UserId); Response.FormInfo = Mapper.ToFormInfoDTO(FormInfoBO); Response.FormSetting = Mapper.ToDataTransferObject(SettingsImplementation.GetFormSettings(pRequest.FormInfo.FormId.ToString(), FormInfoBO.Xml)); } else { Epi.Web.BLL.FormSetting SettingsImplementation = new Epi.Web.BLL.FormSetting(IFormSettingDao); Response.FormSetting = Mapper.ToDataTransferObject(SettingsImplementation.GetFormSettings()); } } catch (Exception ex) { throw ex; } return(Response); }
internal static SurveyMetaData ToEF(FormInfoBO FormInfoBO) { return(new SurveyMetaData { IsDraftMode = FormInfoBO.IsDraftMode }); }
public static FormSettings ToFormSettings(this FormInfoBO formInfoBO) { return(new FormSettings { FormId = formInfoBO.FormId, FormName = formInfoBO.FormName, DataAccessRuleId = formInfoBO.DataAccesRuleId, IsDraftMode = formInfoBO.IsDraftMode, IsShareable = formInfoBO.IsShareable }); }
public FormInfoBO GetFormByFormId(string formId, int userId) { // TODO: Refactor to remove dependency on SurveyMetadatas FormInfoBO formInfoBO = new FormInfoBO(); try { var formOwnerUserId = GetFormDigest(formId).OwnerUserId; Guid Id = new Guid(formId); using (var context = DataObjectFactory.CreateContext()) { var items = from FormInfo in context.SurveyMetaDatas join UserInfo in context.Users on FormInfo.OwnerId equals UserInfo.UserID into temp from UserInfo in temp.DefaultIfEmpty() where FormInfo.SurveyId == Id select new { FormInfo, UserInfo }; SurveyMetaData Response = context.SurveyMetaDatas.First(x => x.SurveyId == Id); var orgHashSet = new HashSet <int>(Response.Organizations.Select(x => x.OrganizationId)); var orgList = context.Organizations.Where(t => orgHashSet.Contains(t.OrganizationId)).ToList(); bool isShared = false; foreach (var org in orgList) { isShared = context.UserOrganizations.Any(x => x.OrganizationID == org.OrganizationId && x.UserID == userId && x.RoleId == Roles.Administrator); if (isShared) { break; } } foreach (var item in items) { formInfoBO = Mapper.MapToFormInfoBO(item.FormInfo, item.UserInfo); formInfoBO.IsShared = isShared; formInfoBO.IsOwner = item.UserInfo.UserID == userId; } } } catch (Exception ex) { throw (ex); } return(formInfoBO); }
public void UpdateFormMode(FormInfoBO formInfoBO, FormSettingBO formSettingBO = null) { var formId = formInfoBO.FormId; if (string.IsNullOrEmpty(formInfoBO.FormName)) { formInfoBO.FormName = _metadataAccessor.GetFormDigest(formId).FormName; } var formSettings = formInfoBO.ToFormSettings(); if (formSettingBO != null) { formSettings.ResponseDisplaySettings = formSettingBO.ResponseGridColumnNameList.OrderBy(k => k.Key) .Select(kvp => new ResponseGridColumnSettings { FormId = formId, ColumnName = kvp.Value, SortOrder = kvp.Key }) .ToList(); } _formResponseCRUD.UpdateFormSettings(formSettings); // Temporarily update WebEnter tables too _formSettingDao_EF.UpdateFormMode(formInfoBO); #if false try { Guid id = new Guid(formInfoBO.FormId); //Update Form Mode using (var context = DataObjectFactory.CreateContext()) { var query = from response in context.SurveyMetaDatas where response.SurveyId == id select response; var dataRow = query.Single(); dataRow.IsDraftMode = formInfoBO.IsDraftMode; dataRow.IsShareable = formInfoBO.IsShareable; dataRow.DataAccessRuleId = formInfoBO.DataAccesRuleId; context.SaveChanges(); } } catch (Exception ex) { throw (ex); } #endif }
public FormInfoBO GetFormInfoByFormId(string formId, int userId) { //Owner Forms FormInfoBO result = new FormInfoBO(); if (userId > 0) { result = _formInfoDao.GetFormByFormId(formId, userId); } result.HasDraftModeData = _formInfoDao.HasDraftRecords(formId); return(result); }
public FormInfoBO GetFormInfoByFormId(string FormId, bool GetXml, int UserId) { //Owner Forms FormInfoBO result = this.FormInfoDao.GetFormByFormId(FormId, GetXml, UserId); if (ConfigurationManager.AppSettings["IsEWAVLiteIntegrationEnabled"].ToUpper() == "TRUE" && result.IsSQLProject) { bool toggleSwitchValue = this.FormInfoDao.GetEwavLiteToggleSwitch(FormId, UserId); result.EwavLiteToggleSwitch = toggleSwitchValue; } result.HasDraftModeData = this.FormInfoDao.HasDraftRecords(FormId); return(result); }
public void UpDateColumnNames(bool IsDraftMode, FormSettingDTO FormSettingDTO) { FormSettingBO FormSettingBO = new FormSettingBO(); FormSettingBO.ColumnNameList = FormSettingDTO.ColumnNameList; FormInfoBO FormInfoBO = new FormInfoBO(); FormInfoBO.FormId = FormSettingDTO.FormId; FormInfoBO.IsDraftMode = IsDraftMode; FormInfoBO.IsShareable = FormSettingDTO.IsShareable; FormInfoBO.DataAccesRuleId = FormSettingDTO.SelectedDataAccessRule; this.FormSettingDao.UpDateColumnNames(FormSettingBO, FormSettingDTO.FormId); this.FormSettingDao.UpDateFormMode(FormInfoBO); if (FormSettingDTO.IsDisabled) { this.FormSettingDao.SoftDeleteForm(FormSettingDTO.FormId); } }
public static FormInfoDTO ToFormInfoDTO(this FormInfoBO BO) { return(new FormInfoDTO { IsSQLProject = BO.IsSQLProject, FormId = BO.FormId, FormNumber = BO.FormNumber, FormName = BO.FormName, OrganizationName = BO.OrganizationName, OrganizationId = BO.OrganizationId, IsDraftMode = BO.IsDraftMode, UserId = BO.UserId, IsOwner = BO.IsOwner, OwnerFName = BO.OwnerFName, OwnerLName = BO.OwnerLName, IsShareable = BO.IsShareable, IsShared = BO.IsShared, HasDraftModeData = BO.HasDraftModeData }); }
public FormInfoBO GetFormByFormId(string formId) { FormInfoBO formInfoBO = new FormInfoBO(); try { Guid Id = new Guid(formId); using (var Context = DataObjectFactory.CreateContext()) { SurveyMetaData SurveyMetaData = Context.SurveyMetaDatas.Single(x => x.SurveyId == Id); formInfoBO = Mapper.ToFormInfoBO(SurveyMetaData); } } catch (Exception ex) { throw (ex); } return(formInfoBO); }
public void TestFormInfoBODTO() { //var BO = new FormInfoBO(); ////{ //FormId = "2e1d01d4-f50d-4f23-888b-cd4b7fc9884b", FormName = "Zika", UserId = 1014 } //var Forminfo = BO.ToFormInfoDTO(); //int numberOfPublicProperties = typeof(FormInfoBO).GetProperties(System.Reflection.BindingFlags.Public).Count(); //int numberOfPublicPropertiesforDTO = typeof(FormInfoDTO).GetProperties(System.Reflection.BindingFlags.Public).Count(); ////Assert.AreEqual(BO.UserId, Forminfo.UserId); ////Assert.AreEqual(BO.FormId, Forminfo.FormId); //Assert.AreEqual(numberOfPublicProperties, numberOfPublicPropertiesforDTO); var BO = new FormInfoBO(); var Forminfo = BO.ToFormInfoDTO(); FormInfoBO objFormInfoBO = new FormInfoBO(); //Class Instance FormInfoDTO objFormInfoDTO = new FormInfoDTO(); // From Extension Method // var objFormInfoBOExtensions = FormInfoBOExtensions.ToFormInfoDTO(BO); int numberOfPublicPropertiesofDTO = objFormInfoDTO.GetType().GetProperties().Count(); int numberOfPublicPropertiesofBO = objFormInfoBO.GetType().GetProperties().Count(); Assert.AreEqual(numberOfPublicPropertiesofDTO, FormInfoDTOPropertyCount, "FormInfoDTO properties has been changed"); Assert.AreEqual(numberOfPublicPropertiesofBO, FormInfoBOPropertyCount, "FormInfoBO properties has been changed"); //Assert.AreEqual(numberOfPublicPropertiesofDTO, numberOfPublicPropertiesofBO); }
public void UpdateFormSettings(bool isDraftMode, FormSettingDTO formSettingDTO) { var formId = formSettingDTO.FormId; var isShareable = formSettingDTO.IsShareable; var dataAccessRuleId = formSettingDTO.SelectedDataAccessRule; FormSettingBO formSettingBO = new FormSettingBO { FormId = formSettingDTO.FormId }; formSettingBO.ResponseGridColumnNameList = formSettingDTO.ColumnNameList; FormInfoBO formInfoBO = new FormInfoBO(); formInfoBO.FormId = formId; formInfoBO.IsDraftMode = isDraftMode; formInfoBO.IsShareable = isShareable; formInfoBO.DataAccesRuleId = dataAccessRuleId; _formSettingFacade.UpdateResponseGridColumnNames(formSettingBO, formSettingDTO.FormId); _formSettingFacade.UpdateFormMode(formInfoBO, formSettingBO); if (formSettingDTO.IsDisabled) { _formSettingFacade.SoftDeleteForm(formSettingDTO.FormId); } }
public FormInfoBO GetFormByFormId(string FormId, bool GetXml, int UserId) { FormInfoBO FormInfoBO = new FormInfoBO(); try { Guid Id = new Guid(FormId); using (var Context = DataObjectFactory.CreateContext()) { //SurveyMetaData Response = Context.SurveyMetaDatas.First(x => x.SurveyId == Id); //var _Org = new HashSet<int>(Response.Organizations.Select(x => x.OrganizationId)); // var Response = Context.SurveyMetaDatas.Where(x => x.SurveyId == Id); if (GetXml) { var Response = from r in Context.SurveyMetaDatas where r.SurveyId == Id select r; var item = Response.First(); var _Org = new HashSet <int>(Response.Select(x => x.OrganizationId)); var Orgs = Context.Organizations.Where(t => _Org.Contains(t.OrganizationId)).ToList(); bool IsShared = false; foreach (var org in Orgs) { var UserInfo = Context.UserOrganizations.Where(x => x.OrganizationID == org.OrganizationId && x.UserID == UserId && x.RoleId == 2); if (UserInfo.Count() > 0) { IsShared = true; break; } } FormInfoBO = Mapper.MapToFormInfoBO(item, null, GetXml); FormInfoBO.IsShared = IsShared; if (item.OwnerId == UserId) { FormInfoBO.IsOwner = true; } else { FormInfoBO.IsOwner = false; } } else { var Response = from r in Context.SurveyMetaDatas where r.SurveyId == Id select new { r.IsSQLProject, r.SurveyId, r.SurveyName, r.SurveyNumber, r.OrganizationName, r.OrganizationId, r.IsDraftMode, r.IsShareable, r.OwnerId, r.ParentId }; var item = Response.First(); var _Org = new HashSet <int>(Response.Select(x => x.OrganizationId)); var Orgs = Context.Organizations.Where(t => _Org.Contains(t.OrganizationId)).ToList(); bool IsShared = false; foreach (var org in Orgs) { var UserInfo = Context.UserOrganizations.Where(x => x.OrganizationID == org.OrganizationId && x.UserID == UserId && x.RoleId == 2); if (UserInfo.Count() > 0) { IsShared = true; break; } } FormInfoBO.IsSQLProject = (item.IsSQLProject == null) ? false : (bool)item.IsSQLProject; FormInfoBO.FormId = item.SurveyId.ToString(); FormInfoBO.FormName = item.SurveyName; FormInfoBO.FormNumber = item.SurveyNumber; FormInfoBO.OrganizationName = item.OrganizationName; FormInfoBO.OrganizationId = item.OrganizationId; FormInfoBO.IsDraftMode = item.IsDraftMode; FormInfoBO.UserId = item.OwnerId; if (FormInfoBO.IsShareable != null) { FormInfoBO.IsShareable = (bool)item.IsShareable; } FormInfoBO.ParentId = item.ParentId.ToString(); FormInfoBO.IsShared = IsShared; if (item.OwnerId == UserId) { FormInfoBO.IsOwner = true; } else { FormInfoBO.IsOwner = false; } } } } catch (Exception ex) { throw (ex); } return(FormInfoBO); }
public void UpdateFormMode(FormInfoBO formInfoBO, FormSettingBO formSettingBO = null) { _formSettingDao_CosmosDB.UpdateFormMode(formInfoBO, formSettingBO); }
private void SendEmail(Dictionary <int, String> AssignedUserList, string FormId, List <UserBO> FormCurrentUsersList, bool ShareForm = false) { try { FormInfoBO FormInfoBO = this.FormInfoDao.GetFormByFormId(FormId); if (!string.IsNullOrEmpty(FormInfoBO.ParentId)) { return; } UserBO UserBO = this.UserDao.GetCurrentUser(FormInfoBO.UserId); List <string> UsersEmail = new List <string>(); List <string> CurrentUsersEmail = new List <string>(); foreach (UserBO User in FormCurrentUsersList) { CurrentUsersEmail.Add(User.EmailAddress); } if (CurrentUsersEmail.Count() > 0) { foreach (var User in AssignedUserList) { if (!CurrentUsersEmail.Contains(User.Value)) { UsersEmail.Add(User.Value); } } } else { foreach (var User in AssignedUserList) { UsersEmail.Add(User.Value); } } if (UsersEmail.Count() > 0) { Epi.Web.Enter.Common.Email.Email Email = new Web.Enter.Common.Email.Email(); if (!ShareForm) { Email.Body = UserBO.FirstName + " " + UserBO.LastName + " has assigned the following form to you in Epi Info™ Cloud Data Capture.\n\nTitle: " + FormInfoBO.FormName + " \n \n \nPlease click the link below to launch Epi Info™ Cloud Data Capture."; Email.Body = Email.Body.ToString() + " \n \n" + ConfigurationManager.AppSettings["BaseURL"]; Email.From = UserBO.EmailAddress; Email.To = UsersEmail; Email.Subject = "An Epi Info Cloud Data Capture Form - " + FormInfoBO.FormName + " has been assigned to you"; } else { Email.Body = UserBO.FirstName + " " + UserBO.LastName + " has shared the following form with your organization in Epi Info™ Cloud Data Capture.\n\nTitle: " + FormInfoBO.FormName + " \n \n \nPlease click the link below to launch Epi Info™ Cloud Data Capture."; Email.Body = Email.Body.ToString() + " \n \n" + ConfigurationManager.AppSettings["BaseURL"]; Email.From = UserBO.EmailAddress; Email.To = UsersEmail; Email.Subject = "An Epi Info Cloud Data Capture Form - " + FormInfoBO.FormName + " has been shared with your organization."; } Epi.Web.Enter.Common.Email.EmailHandler.SendMessage(Email); } } catch (Exception ex) { throw ex; } }
public FormInfoBO GetFormByFormId(string FormId, bool GetXml, int UserId) { FormInfoBO FormInfoBO = new FormInfoBO(); try { Guid Id = new Guid(FormId); using (var Context = DataObjectFactory.CreateContext()) { var items = from FormInfo in Context.SurveyMetaDatas join UserInfo in Context.Users on FormInfo.OwnerId equals UserInfo.UserID into temp from UserInfo in temp.DefaultIfEmpty() where FormInfo.SurveyId == Id select new { FormInfo, UserInfo }; SurveyMetaData Response = Context.SurveyMetaDatas.First(x => x.SurveyId == Id); var _Org = new HashSet <int>(Response.Organizations.Select(x => x.OrganizationId)); var Orgs = Context.Organizations.Where(t => _Org.Contains(t.OrganizationId)).ToList(); bool IsShared = false; foreach (var org in Orgs) { var UserInfo = Context.UserOrganizations.Where(x => x.OrganizationID == org.OrganizationId && x.UserID == UserId && x.RoleId == 2); if (UserInfo.Count() > 0) { IsShared = true; break; } } foreach (var item in items) { FormInfoBO = Mapper.MapToFormInfoBO(item.FormInfo, item.UserInfo, GetXml); FormInfoBO.IsShared = IsShared; if (item.UserInfo.UserID == UserId) { FormInfoBO.IsOwner = true; } else { FormInfoBO.IsOwner = false; } } } } catch (Exception ex) { throw (ex); } return(FormInfoBO); }