public ActionResult Approve(int id, bool isApprove, string reason)
        {
            var model = new FormTemplateModel()
            {
                UpdateUid  = User.GetClaimValue(ClaimTypes.PrimarySid),
                UpdateDate = DateTime.Now,
                IsApprove  = isApprove,
                Reason     = reason,
                Id         = id
            };
            var repository = new FormTemplateRepository();

            return(Json(repository.ApproveFormTemplate(model) ? new { result = "OK" } : new { result = "ERROR" }));
        }
        public async Task <string> RenderView <TE>(IGenerableFormView <TE> generableFormView,
                                                   string viewDirectory = null, string viewName = null) where TE : Entity
        {
            var fullTypeName = typeof(TE).FullName;
            var entityName   = typeof(TE).Name.Replace("Entity", "");
            var vm           = new FormTemplateModel(fullTypeName, entityName, entityName)
            {
                Properties = generableFormView.FormProperties
            };

            vm.ImportHtmlHelpers = true;
//                typeof(TE).GetProperties().Any(prop =>
//                    prop.PropertyType.IsSubclassOf(typeof(Entity)) || prop.GetCustomAttributes<DataTypeAttribute>().Any(
//                        attr =>
//                            attr != null && attr.DataType == DataType.Html));
            vm.InjectDataLayer = typeof(TE).GetProperties().Any(prop =>
                                                                typeof(IEntity).IsAssignableFrom(prop.PropertyType) &&
                                                                !prop.PropertyType.IsSubclassOf(typeof(FileEntity)));

            return(await RenderGenericView(vm, viewName, viewDirectory));
        }
 public bool InsertFormTemplate(FormTemplateModel model)
 {
     try
     {
         if (model == null)
         {
             return(false);
         }
         using (var db = new PORTALEntities())
         {
             var result = (from l in db.SP_CMS_FORMTEMPLATE_INSERT(model.Subject, model.Descript, model.Active,
                                                                   model.Category.ToString(), model.FilePath, model.FileName, model.Writer)
                           select l).FirstOrDefault();
             return(result == "OK");
         }
     }
     catch (Exception ex)
     {
         LogHelper.Error("FormTemplateRepository Insert Formtemplate: " + ex.Message + " Inner exception: " + ex.InnerException.Message);
         return(false);
     }
 }
        public ActionResult Insert(FormTemplateModel model)
        {
            //model.Id = Guid.NewGuid();
            model.UpdateUid  = User.GetClaimValue(ClaimTypes.Sid);
            model.UpdateDate = DateTime.Now;
            model.Writer     = User.GetClaimValue(ClaimTypes.PrimarySid);
            model.WriteDate  = DateTime.Now;
            model.WriterName = User.GetClaimValue(ClaimTypes.Name);
            model.UpdateName = User.GetClaimValue(ClaimTypes.Name);
            //if (!ModelState.IsValid)
            //    return View();

            if ((new FormTemplateRepository()).InsertFormTemplate(model))
            {
                //nếu insert thành công thì copy các file đã upload sang đúng thư mục category của nó
                //if(!string.IsNullOrEmpty(model.FileName) && !string.IsNullOrEmpty(model.CategoryName))
                //{
                //    var listFilePath = model.FilePath.Split('|');
                //    var listFileName = model.FileName.Split('|');
                //    for (var i = 0; i <listFileName.Length; i++)
                //    {
                //        if (!Directory.Exists(System.Web.HttpContext.Current.Server.MapPath("~/Resources/FormTemplate/" + model.CategoryName)))
                //        {
                //            Directory.CreateDirectory(
                //                System.Web.HttpContext.Current.Server.MapPath("~/Resources/FormTemplate/" + model.CategoryName));
                //        }
                //        var serverPath = Request.MapPath("~" + listFilePath[i]);
                //        if (System.IO.File.Exists(serverPath))
                //        {
                //            System.IO.File.Move(serverPath, Request.MapPath(listFilePath[i].Replace("/Resources/FormTemplate/", "/Resources/FormTemplate/" + model.CategoryName + "/")));
                //        }
                //    }
                //}
            }
            ModelState.AddModelError("InsertError", "Add new user faile! Pls contact to admin!");
            MessageHelper.ShowMessage(this, "Error", "Insert fail! Pls contact to admin!", NotificationStyle.Error);
            return(View());
        }
        public string Edit(FormTemplateModel model)
        {
            model.UpdateUid  = User.GetClaimValue(ClaimTypes.Sid);
            model.UpdateDate = DateTime.Now;
            model.Writer     = User.GetClaimValue(ClaimTypes.PrimarySid);
            model.WriteDate  = DateTime.Now;
            model.WriterName = User.GetClaimValue(ClaimTypes.Name);
            //model.ATTACH_FILE = (fileUpload[0] != null);
            model.UpdateName = User.GetClaimValue(ClaimTypes.Name);

            if ((new FormTemplateRepository()).UpdateFormTemplate(model))
            {
                //nếu update thành công thì copy các file đã upload sang đúng thư mục category của nó
                //if (!string.IsNullOrEmpty(model.FileName) && !string.IsNullOrEmpty(model.CategoryName))
                //{
                //    var listFilePath = model.FilePath.Split('|');
                //    var listFileName = model.FileName.Split('|');
                //    for (var i = 0; i < listFileName.Length; i++)
                //    {
                //        if (!Directory.Exists(System.Web.HttpContext.Current.Server.MapPath("~/Resources/FormTemplate/" + model.CategoryName)))
                //        {
                //            Directory.CreateDirectory(
                //                System.Web.HttpContext.Current.Server.MapPath("~/Resources/FormTemplate/" + model.CategoryName));
                //        }
                //        var serverPath = Request.MapPath("~" + listFilePath[i]);
                //        if (System.IO.File.Exists(serverPath))
                //        {
                //            System.IO.File.Move(serverPath, Request.MapPath(listFilePath[i].Replace("/Resources/FormTemplate/", "/Resources/FormTemplate/" + model.CategoryName + "/")));
                //        }
                //    }
                //}
            }

            //MessageHelper.ShowMessage(this, "Error", "Update fail! Pls contact to admin!", NotificationStyle.Error);
            return("OK");
        }
        public FormTemplateModel InsertOrUpdateFormTemplate(FormTemplateModel formTemplateModel)
        {
            using (var conn = new SqlConnection(ConnectionString))
            {
                var cmd = new SqlCommand("[dbo].[SP_AddOrUpdateFormTemplate]", conn)
                {
                    CommandType = CommandType.StoredProcedure
                };

                var param = new SqlParameter
                {
                    ParameterName = "@FormTemplateId",
                    Value         = formTemplateModel.FormTemplateId,
                    SqlDbType     = SqlDbType.BigInt
                };
                cmd.Parameters.Add(param);

                param = new SqlParameter
                {
                    ParameterName = "@FormName",
                    Value         = formTemplateModel.FormName,
                    SqlDbType     = SqlDbType.NVarChar
                };
                cmd.Parameters.Add(param);

                param = new SqlParameter
                {
                    ParameterName = "@FormDescription",
                    Value         = formTemplateModel.FormDescription,
                    SqlDbType     = SqlDbType.NVarChar
                };
                cmd.Parameters.Add(param);

                param = new SqlParameter
                {
                    ParameterName = "@FormTemplateData",
                    Value         = formTemplateModel.FormTemplateData.ToString(),
                    SqlDbType     = SqlDbType.NVarChar
                };
                cmd.Parameters.Add(param);

                param = new SqlParameter
                {
                    ParameterName = "@WorkFlowId",
                    Value         = formTemplateModel.WorkflowId,
                    SqlDbType     = SqlDbType.BigInt
                };
                cmd.Parameters.Add(param);

                param = new SqlParameter
                {
                    ParameterName = "@UpdateUser",
                    Value         = formTemplateModel.UpdateUser,
                    SqlDbType     = SqlDbType.NVarChar
                };
                cmd.Parameters.Add(param);

                conn.Open();
                var da = new SqlDataAdapter(cmd);
                var ds = new DataSet();
                da.Fill(ds, "FormTemplate");
                conn.Close();
                var tempData = FormTemplateModeMapping.MapDataTableToFormTemplateModel(ds.Tables[0]);
                conn.Close();
                return(tempData);
            }
        }
 protected void Page_Load(object sender, EventArgs e)
 {
     var    formTemplate        = new FormTemplateModel();
     string formTemplateJsonStr = JsonConvert.SerializeObject(formTemplate);
 }
        public FormTemplateModel AddOrUpdateFormTemplateModel(FormTemplateModel formTemplateModel)
        {
            var templateDal = new FormTemplateDAL();

            return(templateDal.InsertOrUpdateFormTemplate(formTemplateModel));
        }