public JsonResult DeleteEntity(Guid entityId)
        {
            try
            {
                var entity = EntityService.QueryEntityById(entityId);
                if (entity == null)
                {
                    return(Json(new { message = "Le système n'a pas trouvé l'enregistrement à supprimer!", type = "error" }, JsonRequestBehavior.AllowGet));
                }

                #region Delete Field Records
                var fieldsDeleteError = false;
                var fields            = FieldService.QueryFieldsByEntityId(entityId);
                foreach (var field in fields)
                {
                    var fieldId     = (Guid)field.FirstOrDefault(x => x.Key == "Id").Value;
                    var returnValue = SharedService.ExecutePostSqlStoredProcedure("[eduq].[Field_deletefieldbyfieldid]",
                                                                                  new List <SqlParameter>
                    {
                        new SqlParameter("@fieldId", fieldId)
                    });
                    if (returnValue != 1)
                    {
                        return(Json(new { message = "Une erreur s'est produise pendant la supprimation de l'attribut!", type = "error" }, JsonRequestBehavior.AllowGet));
                    }
                    var deletedField = FieldService.QueryFieldById(fieldId);
                    if (deletedField != null)
                    {
                        fieldsDeleteError = true;
                    }
                }
                if (fieldsDeleteError)
                {
                    return(Json(new { message = "Une erreur s'est produise pendant la supprimation de l'attribut!", type = "error" }, JsonRequestBehavior.AllowGet));
                }
                #endregion

                #region Delete Entity Record
                var returnValueDeleteEntity = SharedService.ExecutePostSqlStoredProcedure("[eduq].[Entity_deleteentitybyentityid]",
                                                                                          new List <SqlParameter>
                {
                    new SqlParameter("@entityId", entityId)
                });
                if (returnValueDeleteEntity != 1)
                {
                    return(Json(new { message = "Une erreur s'est produise pendant la supprimation de l'attribut!", type = "error" }, JsonRequestBehavior.AllowGet));
                }
                var deletedEntity = EntityService.QueryEntityById(entityId);
                if (deletedEntity != null)
                {
                    return(Json(new { message = "Une erreur s'est produise pendant la supprimation de l'attribut!", type = "error" }, JsonRequestBehavior.AllowGet));
                }
                #endregion

                #region Delete Sql Table
                var entityName = entity.FirstOrDefault(x => x.Key == "Name").Value.ToString();
                var returnValueDeleteSqlTableColumn = SqlService.DeleteSqlTable(entityName);
                if (!returnValueDeleteSqlTableColumn)
                {
                    return(Json(new { message = "Une erreur s'est produise pendant la supprimation de l'attribut!", type = "error" }, JsonRequestBehavior.AllowGet));
                }
                #endregion

                return(Json(new { message = "L'entité a été supprimé avec succès!.", type = "success" }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(Json(ex.Message, JsonRequestBehavior.AllowGet));
            }
        }