Esempio n. 1
0
        public JsonResult CreateEntity(List <KeyValue> keyValues)
        {
            try
            {
                var id          = Guid.NewGuid();
                var name        = keyValues.FirstOrDefault(x => x.Key == "Name")?.Value;
                var displayName = keyValues.FirstOrDefault(x => x.Key == "DisplayName")?.Value;
                var pluralName  = keyValues.FirstOrDefault(x => x.Key == "PluralName")?.Value;

                var fieldTypes = FieldTypeService.QueryFieldTypes();

                #region Create entity record
                var returnValue = SharedService.ExecutePostSqlStoredProcedure("[eduq].[Entity_create]",
                                                                              new List <SqlParameter>
                {
                    new SqlParameter("@id", id),
                    new SqlParameter("@name", (name.ToLower())),
                    new SqlParameter("@displayName", displayName),
                    new SqlParameter("@pluralName", pluralName),
                    new SqlParameter("@stateId", 1)
                });

                if (returnValue != 1)
                {
                    return(Json(new { message = "Une erreur s'est produise pendant la creation de l'entité!", type = "error" }, JsonRequestBehavior.AllowGet));
                }
                var newlyCreatedEntity = EntityService.QueryEntityById(id);
                if (newlyCreatedEntity == null)
                {
                    return(Json(new { message = "Une erreur s'est produise pendant la creation de l'entité!", type = "error" }, JsonRequestBehavior.AllowGet));
                }
                #endregion

                #region Create sql table
                var returnValueCreateSqlTable = SqlService.CreateSqlTable(name);

                if (!returnValueCreateSqlTable)
                {
                    return(Json(new { message = "Une erreur s'est produise pendant la creation de l'entité!", type = "error" }, JsonRequestBehavior.AllowGet));
                }
                #endregion

                /*Create Fields*/
                #region Id Field
                /*Id*/
                var fieldId                  = Guid.NewGuid();
                var fieldName                = "Id";
                var fieldDisplayName         = "Id";
                var fieldDescription         = "";
                var fieldDefaultValue        = "";
                var fieldEntityId            = id;
                var GuidFieldType            = FieldTypeService.QueryFieldTypeByName("Guid");
                var GuidFieldTypeId          = (int)GuidFieldType.FirstOrDefault(x => x.Key == "Id").Value;
                var GuidFieldTypeSqlDataType = GuidFieldType.FirstOrDefault(x => x.Key == "SqlDataTypeName").Value.ToString();
                var fieldStateId             = 1;
                var returnValueCreateField   = FieldService.CreateField(fieldId, fieldName, fieldDisplayName, fieldDescription, fieldDefaultValue, fieldEntityId, GuidFieldTypeId, true, fieldStateId);
                if (returnValueCreateField == Guid.Empty)
                {
                    return(Json(new { message = "Une erreur s'est produise pendant la creation de l'entité!", type = "error" }, JsonRequestBehavior.AllowGet));
                }
                #endregion

                #region Name Field
                /*Name*/
                fieldId           = Guid.NewGuid();
                fieldName         = "Name";
                fieldDisplayName  = "Name";
                fieldDescription  = "";
                fieldDefaultValue = "";
                fieldEntityId     = id;
                var texteFieldType   = FieldTypeService.QueryFieldTypeByName("Texte");
                var texteFieldTypeId = (int)texteFieldType.FirstOrDefault(x => x.Key == "Id").Value;
                fieldStateId           = 1;
                returnValueCreateField = FieldService.CreateField(fieldId, fieldName, fieldDisplayName, fieldDescription, fieldDefaultValue, fieldEntityId, texteFieldTypeId, true, fieldStateId);
                if (returnValueCreateField == Guid.Empty)
                {
                    return(Json(new { message = "Une erreur s'est produise pendant la creation de l'entité!", type = "error" }, JsonRequestBehavior.AllowGet));
                }
                #endregion

                #region CreatedOn Field
                /*CreatedOn*/
                fieldId           = Guid.NewGuid();
                fieldName         = "CreatedOn";
                fieldDisplayName  = "Date de Création";
                fieldDescription  = "";
                fieldDefaultValue = "";
                fieldEntityId     = id;
                var dateTimeFieldType   = FieldTypeService.QueryFieldTypeByName("Date et Heure");
                var dateTimeFieldTypeId = (int)dateTimeFieldType.FirstOrDefault(x => x.Key == "Id").Value;
                fieldStateId           = 1;
                returnValueCreateField = FieldService.CreateField(fieldId, fieldName, fieldDisplayName, fieldDescription, fieldDefaultValue, fieldEntityId, dateTimeFieldTypeId, true, fieldStateId);
                if (returnValueCreateField == Guid.Empty)
                {
                    return(Json(new { message = "Une erreur s'est produise pendant la creation de l'entité!", type = "error" }, JsonRequestBehavior.AllowGet));
                }
                #endregion

                #region CreatedById Field
                /*CreatedId*/
                fieldId           = Guid.NewGuid();
                fieldName         = "CreatedById";
                fieldDisplayName  = "Créer par";
                fieldDescription  = "";
                fieldDefaultValue = "";
                fieldEntityId     = id;
                var lookupFieldType   = FieldTypeService.QueryFieldTypeByName("Recherche");
                var lookupFieldTypeId = (int)lookupFieldType.FirstOrDefault(x => x.Key == "Id").Value;
                fieldStateId           = 1;
                returnValueCreateField = FieldService.CreateField(fieldId, fieldName, fieldDisplayName, fieldDescription, fieldDefaultValue, fieldEntityId, lookupFieldTypeId, true, fieldStateId);
                if (returnValueCreateField == Guid.Empty)
                {
                    return(Json(new { message = "Une erreur s'est produise pendant la creation de l'entité!", type = "error" }, JsonRequestBehavior.AllowGet));
                }
                #endregion

                #region ModifiedOn
                /*ModifiedOn*/
                fieldId                = Guid.NewGuid();
                fieldName              = "ModifiedOn";
                fieldDisplayName       = "Date de modification";
                fieldDescription       = "";
                fieldDefaultValue      = "";
                fieldEntityId          = id;
                fieldStateId           = 1;
                returnValueCreateField = FieldService.CreateField(fieldId, fieldName, fieldDisplayName, fieldDescription, fieldDefaultValue, fieldEntityId, dateTimeFieldTypeId, true, fieldStateId);
                if (returnValueCreateField == Guid.Empty)
                {
                    return(Json(new { message = "Une erreur s'est produise pendant la creation de l'entité!", type = "error" }, JsonRequestBehavior.AllowGet));
                }
                #endregion

                #region ModifiedById Field
                /*ModifiedById*/
                fieldId                = Guid.NewGuid();
                fieldName              = "ModifiedById";
                fieldDisplayName       = "Modifié par";
                fieldDescription       = "";
                fieldDefaultValue      = "";
                fieldEntityId          = id;
                lookupFieldType        = FieldTypeService.QueryFieldTypeByName("Recherche");
                lookupFieldTypeId      = (int)lookupFieldType.FirstOrDefault(x => x.Key == "Id").Value;
                fieldStateId           = 1;
                returnValueCreateField = FieldService.CreateField(fieldId, fieldName, fieldDisplayName, fieldDescription, fieldDefaultValue, fieldEntityId, lookupFieldTypeId, true, fieldStateId);
                if (returnValueCreateField == Guid.Empty)
                {
                    return(Json(new { message = "Une erreur s'est produise pendant la creation de l'entité!", type = "error" }, JsonRequestBehavior.AllowGet));
                }
                #endregion

                return(Json(new { message = id, type = "success" }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(Json(ex.Message, JsonRequestBehavior.AllowGet));
            }
        }