示例#1
0
 public void SqlStatement(Context context, List <SqlStatement> statements, long referenceId)
 {
     if (Added == true)
     {
         var bin = GetBin();
         if (bin != null)
         {
             statements.Add(Rds.InsertBinaries(
                                param: Rds.BinariesParam()
                                .TenantId(context.TenantId)
                                .ReferenceId(referenceId, _using: referenceId != 0)
                                .ReferenceId(raw: Def.Sql.Identity, _using: referenceId == 0)
                                .Guid(Guid)
                                .Title(Name)
                                .BinaryType("Attachments")
                                .Bin(bin, _using: !Parameters.BinaryStorage.IsLocal())
                                .FileName(Name)
                                .Extension(Extention)
                                .Size(Size)
                                .ContentType(ContentType)));
         }
         DataSources.File.DeleteTemp(Guid);
     }
     else if (Deleted == true)
     {
         statements.Add(Rds.DeleteBinaries(
                            factory: context,
                            where : Rds.BinariesWhere().Guid(Guid)));
     }
 }
示例#2
0
 public void SqlStatement(List <SqlStatement> statements, long referenceId)
 {
     if (Added == true)
     {
         var bin = GetBin();
         if (bin != null)
         {
             statements.Add(Rds.InsertBinaries(
                                selectIdentity: true,
                                param: Rds.BinariesParam()
                                .TenantId(Sessions.TenantId())
                                .ReferenceId(referenceId, _using: referenceId != 0)
                                .ReferenceId(raw: Def.Sql.Identity, _using: referenceId == 0)
                                .Guid(Guid)
                                .Title(Name)
                                .BinaryType("Attachments")
                                .Bin(bin, _using: !Parameters.BinaryStorage.IsLocal())
                                .FileName(Name)
                                .Extension(Extention)
                                .Size(Size)
                                .ContentType(ContentType)));
         }
         Directory.Delete(Path.Combine(Directories.Temp(), Guid), recursive: true);
     }
     else if (Deleted == true)
     {
         statements.Add(Rds.DeleteBinaries(
                            where : Rds.BinariesWhere().Guid(Guid)));
     }
 }
示例#3
0
 public Error.Types Delete()
 {
     Rds.ExecuteNonQuery(
         transactional: true,
         statements: new SqlStatement[]
     {
         Rds.DeleteBinaries(
             where : Rds.BinariesWhere().BinaryId(BinaryId))
     });
     return(Error.Types.None);
 }
示例#4
0
        public Error.Types Delete()
        {
            var statements = new List <SqlStatement>();

            statements.AddRange(new List <SqlStatement>
            {
                Rds.DeleteBinaries(
                    where : Rds.BinariesWhere().BinaryId(BinaryId))
            });
            Rds.ExecuteNonQuery(
                transactional: true,
                statements: statements.ToArray());
            return(Error.Types.None);
        }
示例#5
0
        public Error.Types Delete()
        {
            var statements = new List <SqlStatement>();

            var where = Rds.BinariesWhere().BinaryId(BinaryId);
            statements.AddRange(new List <SqlStatement>
            {
                Rds.DeleteBinaries(where : where)
            });
            var response = Rds.ExecuteScalar_response(
                transactional: true,
                statements: statements.ToArray());

            return(Error.Types.None);
        }
示例#6
0
        public ErrorData Delete(Context context)
        {
            var statements = new List <SqlStatement>();

            var where = Rds.BinariesWhere().BinaryId(BinaryId);
            statements.AddRange(new List <SqlStatement>
            {
                Rds.DeleteBinaries(factory: context, where : where)
            });
            Repository.ExecuteNonQuery(
                context: context,
                transactional: true,
                statements: statements.ToArray());
            return(new ErrorData(type: Error.Types.None));
        }
示例#7
0
 public void SqlStatement(Context context, List<SqlStatement> statements, long referenceId, Column column)
 {
     if (Added == true)
     {
         var bin = IsStoreLocalFolder(column) ? default : GetBin();
         statements.Add(Rds.UpdateOrInsertBinaries(
             param: Rds.BinariesParam()
                 .TenantId(context.TenantId)
                 .ReferenceId(referenceId, _using: referenceId != 0)
                 .ReferenceId(raw: Def.Sql.Identity, _using: referenceId == 0)
                 .Guid(Guid)
                 .Title(Name ?? FileName)
                 .BinaryType("Attachments")
                 .Bin(bin, _using: !IsStoreLocalFolder(column))
                 .Bin(raw: "NULL", _using: IsStoreLocalFolder(column))
                 .FileName(Name ?? FileName)
                 .Extension(Extention)
                 .Size(Size)
                 .ContentType(ContentType),
             where: Rds.BinariesWhere().Guid(Guid)));
     }
     else if (Deleted == true && !Overwritten.HasValue)
     {
         statements.Add(Rds.DeleteBinaries(
             factory: context,
             where: Rds.BinariesWhere().Guid(Guid)));
     }
     else
     {
         switch (Action)
         {
             case "Linked":
                 statements.Add(Rds.UpdateBinaries(
                     param: Rds.BinariesParam()
                         .ReferenceId(referenceId),
                     where: Rds.BinariesWhere().Guid(Guid)));
                 break;
             default:
                 break;
         }
     }
 }