Exemple #1
0
 public FormDesignTemplateModelBE(List <FormDesignTemplateDetailBE> fields, TemplateFormFieldDataBE templateFormFieldDataBE)
     : this(fields)
 {
     _templateFormFieldData = templateFormFieldDataBE;
 }
Exemple #2
0
        private string HtmlFields(IGrouping <string, FormDesignTemplateDetailBE> groupingFields)
        {
            StringBuilder sb = new StringBuilder();
            var           sortableGroupingFields = groupingFields.OrderBy(s => s.Sequence).ToList() ?? new List <FormDesignTemplateDetailBE>();

            sb.AppendFormat("<div class=\"container-fluid formOuterStyle sortable_list connectedSortable\" data-section = \"{0}\" >", groupingFields.Key);
            sb.AppendFormat("<div class=\"col-lg-12 col-form-label fontBold mb-2\" style ='{0}' >{1}</div>", string.Format("{0} {1}", !string.IsNullOrWhiteSpace(sortableGroupingFields[0].BackgroundColor) ? string.Format("background-color:{0};", sortableGroupingFields[0].BackgroundColor) : "", string.Format("color:{0};", sortableGroupingFields[0].TextColor)), sortableGroupingFields[0].SectionDescription);
            List <FormDesignTemplateDetailBE> formDesignTemplateDetailsCheckList = sortableGroupingFields.Where(s => s.FieldType == FormFieldType.CheckList).OrderBy(s => s.Field).ThenBy(s => s.Sequence).Select(s => s).ToList();
            bool isCheckList = false;

            foreach (var field in sortableGroupingFields)
            {
                switch (field.FieldType)
                {
                //case FormFieldType.Table:
                //    sb.Append(TableHtml(field));
                //    break;
                case FormFieldType.Checkbox:
                    _templateFormFieldData = _templateFormFieldDataList.Where(s => s.Field == field.Field).FirstOrDefault();
                    sb.AppendFormat("<div class=\"form-group mx-0 mx-lg-2 row\" data-field = \"{0}\" field-Type = \"{1}\" data-field-mandatory = \"{2}\">", field.Field, (int)field.FieldType, field.Mandatory);
                    sb.AppendFormat("<label class=\"col-lg-4 text-left text-lg-right col-form-label paddrght-none\" for=\"{1}\">{0}</label>", field.FieldName, field.Field);
                    sb.Append("<div class=\"col-lg-8 formFieldTypeCheckbox pt-3\">");
                    if (RenderForDragnDrop)
                    {
                        sb.AppendFormat("<div class=\"custom-control custom-checkbox d-inline-flex ml-2\"><input type=\"checkbox\" class=\"custom-control-input\" forType=\"yes\" name=\"{0}\" disabled>  <label class=\"custom-control-label\">Yes</label></div>", field.Field);
                        sb.AppendFormat("<div class=\"custom-control custom-checkbox d-inline-flex ml-2\"><input type=\"checkbox\" class=\"custom-control-input\" forType=\"no\" name=\"{0}\" disabled> <label class=\"custom-control-label\">No</label></div>", field.Field);
                    }
                    else
                    {
                        sb.AppendFormat("<div class=\"custom-control custom-checkbox d-inline-flex ml-2\"><input type=\"checkbox\" class=\"custom-control-input\" forType=\"yes\" name=\"{0}\" {1}><label class=\"custom-control-label\">Yes</label></div>", field.Field, !string.IsNullOrWhiteSpace(_templateFormFieldData?.FieldValue) && Functions.IdhammarCharToBool(_templateFormFieldData?.FieldValue) ? "checked" : "");
                        sb.AppendFormat("<div class=\"custom-control custom-checkbox d-inline-flex ml-2\"><input type=\"checkbox\" class=\"custom-control-input\" forType=\"no\" name=\"{0}\" {1}><label class=\"custom-control-label\">No</label></div>", field.Field, !string.IsNullOrWhiteSpace(_templateFormFieldData?.FieldValue) && !Functions.IdhammarCharToBool(_templateFormFieldData?.FieldValue) ? "checked" : "");
                    }
                    if (field.Mandatory)
                    {
                        sb.AppendFormat(string.Format("<span class=\"text-danger d-none\">The {0} field is required.</span>", field.FieldName));
                    }
                    sb.Append("</div>");
                    sb.Append("</div>");
                    break;

                case FormFieldType.Label:
                    _templateFormFieldData = _templateFormFieldDataList.Where(s => s.Field == field.Field).FirstOrDefault();
                    sb.AppendFormat("<div class=\"form-group mx-0 mx-lg-2 row\" style=\"padding-left: 25px;padding-right: 20px;text-align: justify;\" data-field = \"{0}\" field-Type = \"{1}\" data-field-mandatory = \"{2}\">", field.Field, (int)field.FieldType, field.Mandatory);
                    sb.AppendFormat("<label class=\"col-form-label\" for=\"{1}\">{0}</label>", field.FieldName, field.Field);
                    sb.Append("</div>");
                    break;

                case FormFieldType.Textbox:
                    _templateFormFieldData = _templateFormFieldDataList.Where(s => s.Field == field.Field).FirstOrDefault();
                    sb.AppendFormat("<div class=\"form-group mx-0 mx-lg-2 row\" data-field = \"{0}\" field-Type = \"{1}\" data-field-mandatory = \"{2}\">", field.Field, (int)field.FieldType, field.Mandatory);
                    sb.AppendFormat("<label class=\"col-lg-4 text-left text-lg-right col-form-label paddrght-none\" for=\"{1}\">{0}</label>", field.FieldName, field.Field);
                    sb.Append("<div class=\"col-lg-8\">");
                    if (RenderForDragnDrop)
                    {
                        sb.AppendFormat("<input type=\"text\" class=\"form-control\" readonly=\"readonly\" \\>");
                    }
                    else
                    {
                        sb.AppendFormat("<input type=\"text\" id=\"{1}\" name=\"{1}\" value=\"{0}\" class=\"form-control\" \\>", _templateFormFieldData?.FieldValue, field.Field);
                    }
                    if (field.Mandatory)
                    {
                        sb.AppendFormat(string.Format("<span class=\"text-danger d-none\">The {0} field is required.</span>", field.FieldName));
                    }
                    sb.Append("</div>");
                    sb.Append("</div>");
                    break;

                case FormFieldType.TextArea:
                    _templateFormFieldData = _templateFormFieldDataList.Where(s => s.Field == field.Field).FirstOrDefault();
                    sb.AppendFormat("<div class=\"form-group mx-0 mx-lg-2 row\" data-field = \"{0}\" field-Type = \"{1}\" data-field-mandatory = \"{2}\">", field.Field, (int)field.FieldType, field.Mandatory);
                    sb.AppendFormat("<label class=\"col-lg-4 text-left text-lg-right col-form-label paddrght-none\" for=\"{1}\">{0}</label>", field.FieldName, field.Field);
                    sb.Append("<div class=\"col-lg-8\">");
                    if (RenderForDragnDrop)
                    {
                        sb.AppendFormat("<textarea class=\"form-control textAreaVerticalResizing\" readonly=\"readonly\" rows=\"3\" ></textarea>");
                    }
                    else
                    {
                        sb.AppendFormat("<textarea id=\"{1}\" name=\"{1}\" class=\"form-control textAreaVerticalResizing\" rows=\"3\" >{0}</textarea>", _templateFormFieldData?.FieldValue, field.Field);
                    }
                    if (field.Mandatory)
                    {
                        sb.AppendFormat(string.Format("<span class=\"text-danger d-none\">The {0} field is required.</span>", field.FieldName));
                    }
                    sb.Append("</div>");
                    sb.Append("</div>");
                    break;

                case FormFieldType.Date:
                    _templateFormFieldData = _templateFormFieldDataList.Where(s => s.Field == field.Field).FirstOrDefault();
                    DateTime dateTime;
                    bool     isSuccess = DateTime.TryParse(_templateFormFieldData?.FieldValue, out dateTime);
                    sb.AppendFormat("<div class=\"form-group mx-0 mx-lg-2 row\" data-field = \"{0}\" field-Type = \"{1}\" data-field-mandatory = \"{2}\">", field.Field, (int)field.FieldType, field.Mandatory);
                    sb.AppendFormat("<label class=\"col-lg-4 text-left text-lg-right col-form-label paddrght-none\" for=\"{1}\">{0}</label>", field.FieldName, field.Field);
                    sb.Append("<div class=\"col-lg-8\">");
                    sb.AppendFormat("<div class=\"input-group date col-lg-4 pl-0\" name=\"datetimepicker\">");

                    if (RenderForDragnDrop)
                    {
                        sb.AppendFormat("<input class=\"form-control\" readonly=\"readonly\" placeholder=\"DD/MM/YYYY\" />");
                    }
                    else
                    {
                        sb.AppendFormat("<input class=\"form-control\" name=\"{1}\" placeholder=\"DD/MM/YYYY\" value=\"{0}\"/>", dateTime != DateTime.MinValue ? dateTime.ToShortDateString() : "", field.Field);
                    }
                    sb.Append("<span class=\"input-group-append input-group-addon\">");
                    sb.Append("<span class=\"input-group-text\"><i class=\"glyphicons glyphicons-calendar\"></i></span>");
                    sb.Append("</span>");
                    sb.Append("</div>");
                    if (field.Mandatory)
                    {
                        sb.AppendFormat(string.Format("<span class=\"text-danger d-none\">The {0} field is required.</span>", field.FieldName));
                    }
                    sb.Append("</div>");
                    sb.Append("</div>");

                    break;

                case FormFieldType.DateAndTime:
                    _templateFormFieldData = _templateFormFieldDataList.Where(s => s.Field == field.Field).FirstOrDefault();
                    DateTime dateAndTime;
                    bool     success = DateTime.TryParse(_templateFormFieldData?.FieldValue, out dateAndTime);
                    sb.AppendFormat("<div class=\"form-group mx-0 mx-lg-2 row\" data-field = \"{0}\" field-Type = \"{1}\" data-field-mandatory = \"{2}\">", field.Field, (int)field.FieldType, field.Mandatory);
                    sb.AppendFormat("<label class=\"col-lg-4 text-left text-lg-right col-form-label paddrght-none\" for=\"{1}\">{0}</label>", field.FieldName, field.Field);
                    sb.Append("<div class=\"col-sm-8\">");
                    sb.Append("<div class=\"col-sm-4 d-inline-flex paddlft-none\">");
                    sb.AppendFormat("<div class=\"input-group date pl-0\" name=\"datetimepicker\">");
                    if (RenderForDragnDrop)
                    {
                        sb.AppendFormat("<input class=\"form-control\" type=\"text\" placeholder=\"DD/MM/YYYY\" readonly=\"readonly\" />");
                    }
                    else
                    {
                        sb.AppendFormat("<input class=\"form-control\" name=\"{1}\" type=\"text\" placeholder=\"DD/MM/YYYY\" value=\"{0}\"/>", dateAndTime != DateTime.MinValue ? dateAndTime.ToShortDateString() : "", field.Field);
                    }
                    sb.Append("<span class=\"input-group-append input-group-addon\">");
                    sb.Append("<span class=\"input-group-text\"><i class=\"glyphicons glyphicons-calendar\"></i></span>");
                    sb.Append("</span>");
                    sb.Append("</div>");
                    sb.Append("</div>");
                    sb.Append("<div class=\"col-sm-3 ml-lg-n3 d-inline-flex\">");
                    sb.Append("<div class=\"input-group time\" name=\"timepicker\" style=\"width:134px;\">");
                    if (RenderForDragnDrop)
                    {
                        sb.AppendFormat("<input class=\"form-control\" placeholder=\"HH: MM\" readonly=\"readonly\" />");
                    }
                    else
                    {
                        sb.AppendFormat("<input class=\"form-control\" placeholder=\"HH: MM\" value=\"{0}\"/>", dateAndTime != DateTime.MinValue ? dateAndTime.ToString("HH:mm") : "");
                    }
                    sb.Append("<span class=\"input-group-append input-group-addon\">");
                    sb.Append("<span class=\"input-group-text\"><i class=\"glyphicons glyphicons-clock\"></i></span>");
                    sb.Append("</span>");
                    sb.Append("</div>");
                    sb.Append("</div>");
                    if (field.Mandatory)
                    {
                        sb.AppendFormat(string.Format("<span class=\"text-danger d-none\">The {0} field is required.</span>", field.FieldName));
                    }
                    sb.Append("</div>");
                    sb.Append("</div>");
                    break;

                case FormFieldType.Signature:
                    _templateFormFieldData = _templateFormFieldDataList.Where(s => s.Field == field.Field).FirstOrDefault();
                    sb.AppendFormat("<div class=\"form-group mx-0 mx-lg-2 row\" data-field = \"{0}\" field-Type = \"{1}\" data-field-mandatory = \"{2}\">", field.Field, (int)field.FieldType, field.Mandatory);
                    sb.AppendFormat("<label class=\"col-lg-4 text-left text-lg-right col-form-label paddrght-none\" for=\"{1}\">{0}</label>", field.FieldName, field.Field);
                    sb.Append("<div class=\"col-lg-8\">");
                    sb.Append("<div class=\"col-xs-12 col-sm-12 col-md-12 col-lg-12 pl-0 pr-0 dvSignatureDataType\" >");
                    sb.Append("<div class=\"panel panel-default\" style=\"margin-bottom:0px;border: 1px solid;\" >");
                    sb.Append("<div class=\"panel-heading\" style=\"text-align:right;background-color: #f5f5f5; padding: 10px 15px;\" >");

                    if (RenderForDragnDrop)
                    {
                        sb.AppendFormat("<button type=\"button\" class=\"btn btn-primary x1\" disabled title=\"{0}\" style=\"margin-right:5px;\" \"><span class=\"glyphicons glyphicons-edit\"></span></button>", "Edit");
                        sb.AppendFormat("<button type=\"button\" class=\"btn btn-primary x1\" disabled title=\"{0}\" \"><span class=\"glyphicons glyphicons-refresh\"></span></button>", "Reset");
                    }
                    else
                    {
                        sb.AppendFormat("<button type=\"button\" class=\"btn btn-primary x1\" onclick=\"editDigitalSignature(this)\" title=\"{0}\" style=\"margin-right:5px;\" \"><span class=\"glyphicons glyphicons-edit\"></span></button>", "Edit");
                        sb.AppendFormat("<button type=\"button\" class=\"btn btn-primary x1\" onclick=\"resetDigitalSignature(this)\" title=\"{0}\" \"><span class=\"glyphicons glyphicons-refresh\"></span></button>", "Reset");
                    }
                    sb.Append("</div>");
                    sb.Append("<div class=\"panel-body pl-0 pr-0\" style=\"padding-bottom: 0; padding-top: 0;\" >");
                    sb.AppendFormat("<div id=\"digitalcanvasouter_{0}\">", field.Field);
                    sb.AppendFormat("<div class=\"conditionDigitalSignature\" id=\"digitalSignature_{0}\"></div>", field.Field);
                    sb.Append("</div>");
                    sb.Append("</div>");
                    sb.Append("</div>");
                    if (!RenderForDragnDrop)
                    {
                        var digitalSignatureImage64BitString = FormLogic.GetDigitalSignature(string.IsNullOrWhiteSpace(_templateFormFieldData?.FieldValue) ? 0 : Convert.ToInt32(_templateFormFieldData?.FieldValue));
                        sb.AppendFormat("<input type=\"hidden\" id='SignatureResponse' readonly=\"readonly\" class=\"form-control\" value=\"{0}\"  />", digitalSignatureImage64BitString);
                        sb.AppendFormat("<input type=\"hidden\" id='SignatureId' readonly=\"readonly\" class=\"form-control\" value=\"{0}\"  />", _templateFormFieldData?.FieldValue);
                    }
                    if (field.Mandatory)
                    {
                        sb.AppendFormat(string.Format("<span class=\"text-danger d-none\">The {0} field is required.</span>", field.FieldName));
                    }
                    sb.Append("</div>");
                    sb.Append("</div>");
                    sb.Append("</div>");

                    break;

                case FormFieldType.CheckList:

                    if (!isCheckList)
                    {
                        if (formDesignTemplateDetailsCheckList != null && formDesignTemplateDetailsCheckList.Count > 0)
                        {
                            isCheckList = true;
                            sb.AppendFormat("<div class=\"dvCheckList form-group\" style=\"margin-bottom: 10px;padding-top: 5px;\" data-field = \"{0}\" field-Type = \"{1}\">", formDesignTemplateDetailsCheckList[0].Field, (int)FormFieldType.CheckList);
                            sb.Append("<table class=\"tableCheckList\"><tr><th></th><th style=\"width: 50px;text-align:center;\"> Yes </th><th style=\"width: 50px;text-align:center;\"> No </th></tr>");

                            foreach (var formDesignTemplateDetail in formDesignTemplateDetailsCheckList)
                            {
                                if (RenderForDragnDrop)
                                {
                                    sb.AppendFormat("<tr> <td> {0} </td>", formDesignTemplateDetail.FieldName, field.Mandatory);
                                    sb.AppendFormat("<td class=\"bgColorWhite\" style=\"text-align:center;\"><div class=\"custom-control custom-checkbox\"><input type=\"checkbox\" class=\"custom-control-input\" name=\"checkListEntityType\" disabled><label class=\"custom-control-label\"></label></div></td>");
                                    sb.AppendFormat("<td class=\"bgColorWhite\" style=\"text-align:center;\"><div class=\"custom-control custom-checkbox\"><input type=\"checkbox\" class=\"custom-control-input\" name=\"checkListEntityType\" disabled><label class=\"custom-control-label\"></label></div></td>");
                                    sb.Append("</tr>");
                                }
                                else
                                {
                                    _templateFormFieldData = _templateFormFieldDataList.Where(s => s.Field == formDesignTemplateDetail.Field).FirstOrDefault();
                                    sb.AppendFormat("<tr class=\"checkListTR\"><td data-field = \"{1}\" data-field-mandatory = \"{2}\">{0}", formDesignTemplateDetail.FieldName, formDesignTemplateDetail.Field, formDesignTemplateDetail.Mandatory);
                                    if (field.Mandatory)
                                    {
                                        sb.AppendFormat(string.Format("<br/><span class=\"text-danger d-none\">Selection required</span>", field.FieldName));
                                    }
                                    sb.Append("</td>");
                                    sb.AppendFormat("<td class=\"bgColorWhite\" style=\"text-align:center;\"><div class=\"custom-control custom-checkbox\"><input type=\"checkbox\" class=\"custom-control-input\" forType=\"yes\" name=\"{1}\" {0}><label class=\"custom-control-label\"></label></div></td>", !string.IsNullOrWhiteSpace(_templateFormFieldData?.FieldValue) && Functions.IdhammarCharToBool(_templateFormFieldData?.FieldValue) ? "checked" : "", formDesignTemplateDetail.Field);
                                    sb.AppendFormat("<td class=\"bgColorWhite\" style=\"text-align:center;\"> <div class=\"custom-control custom-checkbox\"><input type=\"checkbox\" class=\"custom-control-input\" forType=\"no\" name=\"{1}\" {0}><label class=\"custom-control-label\"></label></div></td>", !string.IsNullOrWhiteSpace(_templateFormFieldData?.FieldValue) && !Functions.IdhammarCharToBool(_templateFormFieldData?.FieldValue) ? "checked" : "", formDesignTemplateDetail.Field);
                                    sb.Append("</tr>");
                                }
                            }

                            sb.Append("</table>");
                            sb.Append("</div>");
                        }
                    }
                    break;
                }
            }

            sb.Append("</div>");
            return(sb.ToString());
        }