public void GetAllContactFields_ReturnAllContactFields_Succeed() { mockFormRepository.Setup(c => c.GetAllContactFields()).Verifiable(); GetAllContactFieldsRequest request = new GetAllContactFieldsRequest(); GetAllContactFieldsResponse response = formService.GetAllContactFields(request); mockRepository.VerifyAll(); Assert.AreEqual(null, response.Exception); }
public ActionResult SaveFormAs(int formId) { GetAllContactFieldsRequest fieldsRequest = new GetAllContactFieldsRequest(); GetAllContactFieldsResponse fieldsResponse = formService.GetAllContactFields(fieldsRequest); GetFormResponse response = formService.GetForm(new GetFormRequest(formId) { AccountId = this.Identity.ToAccountID(), RequestedBy = this.Identity.ToUserID(), RoleId = this.Identity.ToRoleID() }); response.FormViewModel.Fields = fieldsResponse.ContactFields.Where(c => c.FieldId != (int)ContactFields.PartnerTypeField && c.FieldId != (int)ContactFields.LifecycleStageField && c.FieldId != (int)ContactFields.LeadScore && c.FieldId != (int)ContactFields.DonotEmail && c.FieldId != (int)ContactFields.Owner).ToList(); GetAllCustomFieldsRequest customFieldRequest = new GetAllCustomFieldsRequest(this.Identity.ToAccountID()); GetAllCustomFieldsResponse customFieldResponse = customFieldService.GetAllCustomFieldsForForms(customFieldRequest); response.FormViewModel.CustomFields = customFieldResponse.CustomFields.Where(c => c.StatusId == FieldStatus.Active).ToList(); var customFieldIds = response.FormViewModel.CustomFields.Select(f => f.FieldId).ToList(); var communityField = response.FormViewModel.Fields.Where(c => c.FieldId == (int)ContactFields.Community).FirstOrDefault(); communityField.FieldInputTypeId = FieldType.dropdown; var communityFormField = response.FormViewModel.FormFields.Where(c => c.FieldId == (int)ContactFields.Community).FirstOrDefault(); if (communityFormField != null) { communityFormField.FieldInputTypeId = FieldType.dropdown; } var contactFieldIds = Enum.GetValues(typeof(ContactFields)).Cast <ContactFields>().ToList(); response.FormViewModel.FormFields = response.FormViewModel.FormFields.Where(f => customFieldIds.Contains(f.FieldId) || contactFieldIds.Contains((ContactFields)f.FieldId)).OrderBy(f => f.SortId).ToList(); foreach (FormFieldViewModel formField in response.FormViewModel.FormFields) { FieldViewModel fieldViewModel = response.FormViewModel.CustomFields.Where(c => c.FieldId == formField.FieldId).FirstOrDefault(); if (fieldViewModel != null && fieldViewModel.ValueOptions.IsAny()) { formField.ValueOptions = fieldViewModel.ValueOptions; } } response.FormViewModel.FormId = 0; response.FormViewModel.Status = Entities.FormStatus.Active; response.FormViewModel.Name = ""; response.FormViewModel.CreatedDate = DateTime.Now.ToUniversalTime(); response.FormViewModel.AllSubmissions = 0; response.FormViewModel.Submissions = 0; response.FormViewModel.UniqueSubmissions = 0; var dateFormat = this.Identity.ToDateFormat(); response.FormViewModel.DateFormat = dateFormat; ViewBag.SaveAs = true; ViewBag.AccountID = UserExtensions.ToAccountID(this.Identity); return(View("AddForm", response.FormViewModel)); }
public ActionResult EditForm(int formId) { int accountId = this.Identity.ToAccountID(); GetFormResponse response = formService.GetForm(new GetFormRequest(formId) { AccountId = accountId, RequestedBy = this.Identity.ToUserID(), RoleId = this.Identity.ToRoleID() }); GetAllContactFieldsRequest fieldsRequest = new GetAllContactFieldsRequest(); GetAllContactFieldsResponse fieldsResponse = formService.GetAllContactFields(fieldsRequest); response.FormViewModel.Fields = fieldsResponse.ContactFields.ToList(); GetAllCustomFieldsRequest customFieldRequest = new GetAllCustomFieldsRequest(this.Identity.ToAccountID()); GetAllCustomFieldsResponse customFieldResponse = customFieldService.GetAllCustomFieldsForForms(customFieldRequest); response.FormViewModel.CustomFields = customFieldResponse.CustomFields.Where(c => c.StatusId == FieldStatus.Active).ToList(); var communityField = response.FormViewModel.Fields.Where(c => c.FieldId == (int)ContactFields.Community).FirstOrDefault(); communityField.FieldInputTypeId = FieldType.dropdown; var communityFormField = response.FormViewModel.FormFields.Where(c => c.FieldId == (int)ContactFields.Community).FirstOrDefault(); if (communityFormField != null) { communityFormField.FieldInputTypeId = FieldType.dropdown; } var customFieldIds = response.FormViewModel.CustomFields.Where(c => c.StatusId == FieldStatus.Active).Select(f => f.FieldId).ToList(); var contactFieldIds = Enum.GetValues(typeof(ContactFields)).Cast <ContactFields>().ToList(); response.FormViewModel.FormFields = response.FormViewModel.FormFields.Where(f => customFieldIds.Contains(f.FieldId) || contactFieldIds.Contains((ContactFields)f.FieldId)).OrderBy(f => f.SortId).ToList(); foreach (FormFieldViewModel formField in response.FormViewModel.FormFields) { FieldViewModel fieldViewModel = response.FormViewModel.CustomFields.Where(c => c.FieldId == formField.FieldId).FirstOrDefault(); if (fieldViewModel != null && fieldViewModel.ValueOptions.IsAny()) { formField.ValueOptions = fieldViewModel.ValueOptions; } } ViewBag.SaveAs = false; ViewBag.AccountID = UserExtensions.ToAccountID(this.Identity); var timeZone = this.Identity.ToTimeZone(); var value = TimeZoneInfo.FindSystemTimeZoneById(timeZone); var newDate = TimeZoneInfo.ConvertTime(response.FormViewModel.CreatedDate, value); response.FormViewModel.LastModifiedOn = newDate; var dateFormat = this.Identity.ToDateFormat(); response.FormViewModel.DateFormat = dateFormat; ViewBag.TagPopup = true; return(View("AddForm", response.FormViewModel)); }
public ActionResult AddForm() { ViewBag.AccountId = this.Identity.ToAccountID(); GetAllContactFieldsRequest request = new GetAllContactFieldsRequest(); GetAllContactFieldsResponse response = formService.GetAllContactFields(request); var fieldsToBeRemoved = new List <int>(); fieldsToBeRemoved.Add((int)ContactFields.PartnerTypeField); fieldsToBeRemoved.Add((int)ContactFields.DonotEmail); fieldsToBeRemoved.Add((int)ContactFields.LifecycleStageField); fieldsToBeRemoved.Add((int)ContactFields.LeadScore); fieldsToBeRemoved.Add((int)ContactFields.Owner); fieldsToBeRemoved.Add((int)ContactFields.WebPage); fieldsToBeRemoved.Add((int)ContactFields.WebPageDuration); fieldsToBeRemoved.Add((int)ContactFields.ContactTag); fieldsToBeRemoved.Add((int)ContactFields.FormName); fieldsToBeRemoved.Add((int)ContactFields.FormsubmittedOn); fieldsToBeRemoved.Add((int)ContactFields.FirstSourceType); fieldsToBeRemoved.Add((int)ContactFields.NoteSummary); fieldsToBeRemoved.Add((int)ContactFields.LastNoteDate); FormViewModel formViewModel = new FormViewModel(); formViewModel.Fields = response.ContactFields.Where(c => !fieldsToBeRemoved.Contains(c.FieldId)).ToList(); formViewModel.FormFields = new List <FormFieldViewModel>(); FieldViewModel firstNameField = formViewModel.Fields.Where(f => f.FieldId == (int)ContactFields.FirstNameField).FirstOrDefault(); FieldViewModel lastNameField = formViewModel.Fields.Where(f => f.FieldId == (int)ContactFields.LastNameField).FirstOrDefault(); FieldViewModel primaryEmailField = formViewModel.Fields.Where(f => f.FieldId == (int)ContactFields.PrimaryEmail).FirstOrDefault(); FieldViewModel mobilePhoneField = formViewModel.Fields.Where(f => f.FieldId == (int)ContactFields.MobilePhoneField).FirstOrDefault(); FieldViewModel leadSourceField = formViewModel.Fields.Where(f => f.FieldId == (int)ContactFields.LeadSource).FirstOrDefault(); var communityField = formViewModel.Fields.Where(c => c.FieldId == (int)ContactFields.Community).FirstOrDefault(); communityField.FieldInputTypeId = FieldType.dropdown; formViewModel.FormFields.Add(new FormFieldViewModel() { DisplayName = firstNameField.Title, FieldId = firstNameField.FieldId, FieldInputTypeId = firstNameField.FieldInputTypeId, IsMandatory = firstNameField.IsMandatory, StatusId = firstNameField.StatusId, Title = firstNameField.Title, Value = firstNameField.Value, ValueOptions = firstNameField.ValueOptions }); formViewModel.FormFields.Add(new FormFieldViewModel() { DisplayName = lastNameField.Title, FieldId = lastNameField.FieldId, FieldInputTypeId = lastNameField.FieldInputTypeId, IsMandatory = lastNameField.IsMandatory, StatusId = lastNameField.StatusId, Title = lastNameField.Title, Value = lastNameField.Value, ValueOptions = lastNameField.ValueOptions }); formViewModel.FormFields.Add(new FormFieldViewModel() { DisplayName = primaryEmailField.Title, FieldId = primaryEmailField.FieldId, FieldInputTypeId = primaryEmailField.FieldInputTypeId, IsMandatory = true, StatusId = primaryEmailField.StatusId, Title = primaryEmailField.Title, Value = primaryEmailField.Value, ValueOptions = primaryEmailField.ValueOptions }); formViewModel.FormFields.Add(new FormFieldViewModel() { DisplayName = mobilePhoneField.Title, FieldId = mobilePhoneField.FieldId, FieldInputTypeId = mobilePhoneField.FieldInputTypeId, IsMandatory = false, StatusId = mobilePhoneField.StatusId, Title = mobilePhoneField.Title, Value = mobilePhoneField.Value, ValueOptions = mobilePhoneField.ValueOptions }); formViewModel.FormFields.Add(new FormFieldViewModel() { DisplayName = leadSourceField.Title, FieldId = leadSourceField.FieldId, FieldInputTypeId = leadSourceField.FieldInputTypeId, IsMandatory = true, StatusId = leadSourceField.StatusId, Title = leadSourceField.Title, Value = leadSourceField.Value }); //formViewModel.FormFields.Add(new FormFieldViewModel() //{ // DisplayName = "", // FieldId = (int)ContactFields.FormURLField, // FieldInputTypeId = FieldType.text, // IsMandatory = false, // StatusId = FieldStatus.Active, // Title = "redirect-override", // Value = null //}); GetAllCustomFieldsRequest customFieldRequest = new GetAllCustomFieldsRequest(this.Identity.ToAccountID()); GetAllCustomFieldsResponse customFieldResponse = customFieldService.GetAllCustomFieldsForForms(customFieldRequest); formViewModel.CustomFields = customFieldResponse.CustomFields.Where(c => c.StatusId == FieldStatus.Active).ToList(); formViewModel.FormId = 0; formViewModel.Name = ""; formViewModel.Status = Entities.FormStatus.Active; formViewModel.AcknowledgementType = Entities.AcknowledgementType.Url; formViewModel.CreatedBy = this.Identity.ToUserID(); formViewModel.LastModifiedBy = this.Identity.ToUserID(); formViewModel.AccountId = this.Identity.ToAccountID(); ViewBag.TagPopup = true; return(View("AddForm", formViewModel)); }