Beispiel #1
0
        public static Form MapForm(CreateFormDto formDto)
        {
            Form MappedForm = new Form()
            {
                Name      = formDto.Name,
                Type      = formDto.Type,
                CreatedOn = DateTime.UtcNow,
                Fields    = formDto.Fields.Select(field => new FormField()
                {
                    Name            = field.Name,
                    FormFieldTypeId = (int)field.Type,
                    Validation      = new FormFieldValidation()
                    {
                        Script = field.Validation.Script,
                        Type   = field.Validation.Type,
                        Rules  = field.Validation.Rules.Where(rule => rule.Type > 0 && (rule.Type == RuleType.Required || !rule.Value.Equals(""))).Select(rule => new FormFieldValidationRule()

                        {
                            Constraint = rule.Value,
                            FormFieldValidationRuleTypeId = (int)rule.Type
                        }).ToList()
                    },
                    Options = field.Options.Select(option => new FormFieldOption()
                    {
                        Value = option.Value
                    }).ToList()
                }).ToList()
            };



            return(MappedForm);
        }
Beispiel #2
0
        public ActionResult FormQuery(CreateFormDto createFormDto, string id)
        {
            List <FormQuery> formQueryList = new List <FormQuery>();

            foreach (var item in createFormDto.formQueryDtos)
            {
                if (item.IsChecked)
                {
                    FormQuery formQuery = new FormQuery();

                    formQuery.FormQueryText        = Convert.ToString(item.FormQuery.FormQueryText);
                    formQuery.FormQueryStatus      = "Pending";
                    formQuery.FormQueryCreatedDate = DateTime.Now;


                    if (TempData.ContainsKey("UserID"))
                    {
                        LoggedInUserID = TempData.Peek("UserID").ToString();
                    }

                    if (!string.IsNullOrEmpty(LoggedInUserID))
                    {
                        formQuery.FormQueryCreatedByUserID = LoggedInUserID;
                    }
                    else
                    {
                        return(RedirectToAction("LogIn", "Account"));
                    }

                    formQueryList.Add(formQuery);
                }
            }

            formsRepository.CreateFormQuery(formQueryList);

            ToastrNotificationService.AddSuccessNotification("Query Saved Successfully", null);

            return(RedirectToAction("Create", "Form", new { id = id }));
        }
Beispiel #3
0
        public async Task <ActionResult> Create()
        {
            LoggedInUserID = Convert.ToString(HttpContext.Session["userid"]);
            var user = accountRepository.GetUserByID(LoggedInUserID);

            if (user.WorkStatus == false || user.ActivationDate > DateTime.Now || user.IsActive == false)
            {
                return(RedirectToAction("Report"));
            }

            CreateFormDto createFormDto = new CreateFormDto();
            Forms         forms         = new Forms();

            //forms.FormNo = (await formsRepository.GetMaxFormNoOfUser(LoggedInUserID)) + 1;
            forms.FormNo        = (await formsRepository.GetTotalSubmitedFormOfUser(LoggedInUserID)) + 1;
            forms.FormImagePath = "~/QuestionsImages/" + forms.FormNo.ToString() + ".PNG";

            createFormDto.Forms = forms;

            createFormDto.MaxFormCountOfUser = await formsRepository.GetMaxFormNoOfUser(LoggedInUserID);

            return(View(createFormDto));
        }
Beispiel #4
0
 public async Task <IActionResult> Update(CreateFormDto form)
 {
     return(this.GenerateResponse(await _formService.Update(form)));
 }
Beispiel #5
0
        public async Task <Response> Create(CreateFormDto form)
        {
            var response = new Response();

            var formEntity = FormHelper.MapForm(form);//_mapper.Map<Form>(form);

            if (String.IsNullOrWhiteSpace(formEntity.Name))
            {
                response.AddError("*", "Form name cannot be empty.");
            }
            if (formEntity.Fields.Count == 0)
            {
                response.AddError("*", "Forms need at least 1 field.");
            }

            //validate form fields
            foreach (var field in formEntity.Fields)
            {
                if (String.IsNullOrWhiteSpace(field.Name))
                {
                    response.AddError("*", "Fields must have a name.");
                }
                if (!Enum.IsDefined(typeof(FieldType), field.FormFieldTypeId))
                {
                    response.AddError("*", "Field " + field.Name + " has an invalid field type.");
                }
                //validate options
                foreach (var option in field.Options)
                {
                    if (String.IsNullOrWhiteSpace(option.Value))
                    {
                        response.AddError("*", "Field " + field.Name + " has an empty option value.");
                    }
                }
                //validate basic rules
                if (field.Validation.Type == ValidationType.Rules)
                {
                    foreach (var rule in field.Validation.Rules)
                    {
                        if (!Enum.IsDefined(typeof(RuleType), rule.FormFieldValidationRuleTypeId))
                        {
                            response.AddError("*", "Field " + field.Name + " has an invalid rule type.");
                        }
                        if (String.IsNullOrWhiteSpace(rule.Constraint) && rule.FormFieldValidationRuleTypeId != (int)RuleType.Required)
                        {
                            response.AddError("*", "Field " + field.Name + " has an empty rule constraint value.");
                        }
                    }
                }
                else if (field.Validation.Type == ValidationType.CustomScript)
                {
                    //custom js validation
                }
                else
                {
                    response.AddError("*", "Field " + field.Name + " has an invalid validation type.");
                }
            }

            if (response.Errors.Count == 0)
            {
                var user = await _authService.GetCurrentUser();

                formEntity.User = user;

                await _dbContext.Forms.AddAsync(formEntity);

                var affectedRows = await _dbContext.SaveChangesAsync();

                return(new DataResponse <int>()
                {
                    Data = formEntity.FormId, Success = true
                });
            }
            return(response);
        }
Beispiel #6
0
 public Task <Response> Update(CreateFormDto form)
 {
     throw new NotImplementedException();
 }
Beispiel #7
0
        public async Task <ActionResult> Create(string id)
        {
            LoggedInUserID = Convert.ToString(HttpContext.Session["userid"]);
            var user = accountRepository.GetUserByID(LoggedInUserID);

            if (user.WorkStatus == false || user.ActivationDate > DateTime.Now || user.IsActive == false)
            {
                return(RedirectToAction("Report"));
            }

            if (!string.IsNullOrEmpty(id))
            {
                var Form = await formsRepository.GetFormByID(Convert.ToInt64(id));

                CreateFormDto createFormDto = new CreateFormDto();

                Forms forms = new Forms();

                forms.FormsID       = Form.FormsID;
                forms.FirstName     = Form.FirstName;
                forms.LastName      = Form.LastName;
                forms.Email         = Form.Email;
                forms.SSN           = Form.SSN;
                forms.Phone         = Form.Phone;
                forms.BankName      = Form.BankName;
                forms.AccountNo     = Form.AccountNo;
                forms.LoanAmount    = Form.LoanAmount;
                forms.Address       = Form.Address;
                forms.City          = Form.City;
                forms.State         = Form.State;
                forms.Zip           = Form.Zip;
                forms.DOB           = Form.DOB;
                forms.LicenceNo     = Form.LicenceNo;
                forms.LicenceState  = Form.LicenceState;
                forms.IP            = Form.IP;
                forms.FormNo        = Form.FormNo;
                forms.FormImagePath = Form.FormImagePath;

                createFormDto.Forms = forms;
                createFormDto.MaxFormCountOfUser = await formsRepository.GetMaxFormNoOfUser(LoggedInUserID);

                List <FormQueryDto> formQueryDtos = new List <FormQueryDto>()
                {
                    new FormQueryDto {
                        FormQuery = new FormQuery()
                        {
                            FormQueryText = "First Name"
                        }, IsChecked = false
                    },
                    new FormQueryDto {
                        FormQuery = new FormQuery()
                        {
                            FormQueryText = "Last Name"
                        }, IsChecked = false
                    },
                    new FormQueryDto {
                        FormQuery = new FormQuery()
                        {
                            FormQueryText = "Email"
                        }, IsChecked = false
                    },
                    new FormQueryDto {
                        FormQuery = new FormQuery()
                        {
                            FormQueryText = "SSN"
                        }, IsChecked = false
                    },
                    new FormQueryDto {
                        FormQuery = new FormQuery()
                        {
                            FormQueryText = "Phone"
                        }, IsChecked = false
                    },
                    new FormQueryDto {
                        FormQuery = new FormQuery()
                        {
                            FormQueryText = "Bank Name"
                        }, IsChecked = false
                    },
                    new FormQueryDto {
                        FormQuery = new FormQuery()
                        {
                            FormQueryText = "A/C No"
                        }, IsChecked = false
                    },
                    new FormQueryDto {
                        FormQuery = new FormQuery()
                        {
                            FormQueryText = "Loan Amount"
                        }, IsChecked = false
                    },
                    new FormQueryDto {
                        FormQuery = new FormQuery()
                        {
                            FormQueryText = "City"
                        }, IsChecked = false
                    },
                    new FormQueryDto {
                        FormQuery = new FormQuery()
                        {
                            FormQueryText = "State"
                        }, IsChecked = false
                    },
                    new FormQueryDto {
                        FormQuery = new FormQuery()
                        {
                            FormQueryText = "ZIP"
                        }, IsChecked = false
                    },
                    new FormQueryDto {
                        FormQuery = new FormQuery()
                        {
                            FormQueryText = "Date of Birth"
                        }, IsChecked = false
                    },
                    new FormQueryDto {
                        FormQuery = new FormQuery()
                        {
                            FormQueryText = "Licence No."
                        }, IsChecked = false
                    },
                    new FormQueryDto {
                        FormQuery = new FormQuery()
                        {
                            FormQueryText = "Licence State"
                        }, IsChecked = false
                    },
                    new FormQueryDto {
                        FormQuery = new FormQuery()
                        {
                            FormQueryText = "IP"
                        }, IsChecked = false
                    },
                };

                createFormDto.formQueryDtos = formQueryDtos;

                return(View(createFormDto));
            }
            return(View());
        }
Beispiel #8
0
        public async Task <ActionResult> Create(CreateFormDto createFormDto, string submit, string id)
        {
            if (TempData.ContainsKey("UserID"))
            {
                LoggedInUserID = TempData.Peek("UserID").ToString();
            }
            if (string.IsNullOrEmpty(LoggedInUserID))
            {
                return(RedirectToAction("LogIn", "Account"));
            }

            if (string.IsNullOrEmpty(id))
            {
                int maxFormCount = await formsRepository.GetTotalSubmitedFormOfUser(LoggedInUserID);

                if (createFormDto.Forms.FormNo <= maxFormCount)
                {
                    ToastrNotificationService.AddSuccessNotification("You already filled this form", null);
                    return(RedirectToAction("Create"));
                }
            }

            Forms forms = new Forms();

            forms.FirstName     = createFormDto.Forms.FirstName;
            forms.LastName      = createFormDto.Forms.LastName;
            forms.Email         = createFormDto.Forms.Email;
            forms.SSN           = createFormDto.Forms.SSN;
            forms.Phone         = createFormDto.Forms.Phone;
            forms.BankName      = createFormDto.Forms.BankName;
            forms.AccountNo     = createFormDto.Forms.AccountNo;
            forms.LoanAmount    = createFormDto.Forms.LoanAmount;
            forms.Address       = createFormDto.Forms.Address;
            forms.City          = createFormDto.Forms.City;
            forms.State         = createFormDto.Forms.State;
            forms.Zip           = createFormDto.Forms.Zip;
            forms.DOB           = createFormDto.Forms.DOB;
            forms.LicenceNo     = createFormDto.Forms.LicenceNo;
            forms.LicenceState  = createFormDto.Forms.LicenceState;
            forms.IP            = createFormDto.Forms.IP;
            forms.FormNo        = createFormDto.Forms.FormNo;
            forms.FormImagePath = createFormDto.Forms.FormImagePath;

            if (submit == "Submit")
            {
                forms.FormIsSubmit = true;
            }
            else
            {
                forms.FormIsSubmit = false;
            }
            forms.FormsCreatedDate = DateTime.Now;

            forms.FormsCreatedByUserID = LoggedInUserID;

            try
            {
                var createdForm = await formsRepository.CreateForm(forms);
            }
            catch (Exception ex)
            {
                ToastrNotificationService.AddSuccessNotification("You already filled this form", null);
                return(RedirectToAction("Create"));
            }


            if (forms.FormIsSubmit)
            {
                ToastrNotificationService.AddSuccessNotification("Form Submited Successfully", null);
                return(RedirectToAction("Index", new { id = "submit" }));
            }

            ToastrNotificationService.AddSuccessNotification("Form Saved Successfully", null);

            return(RedirectToAction("Index", new { id = "save" }));
        }