public static int Insert(Timelapse timelapse)
{
string query = @"INSERT INTO [dbo].[Timelapses] " +
"([UserId],[CameraId],[OauthToken],[Code],[Title],[Status],[Privacy],[FromDT],[ToDT],[DateAlways],[TimeAlways],[ServerIP],[TzId],[TimeZone],[SnapsInterval],[ModifiedDT],[EnableMD],[MDThreshold],[ExcludeDark],[DarkThreshold],[FPS],[IsRecording],[IsDeleted],[CreatedDT],[WatermarkImage],[WatermarkPosition],[TimelapsePath]) " +
"VALUES " +
"(@UserId,@CameraId,@OauthToken,@Code,@Title,@Status,@Privacy,@FromDT,@ToDT,@DateAlways,@TimeAlways,@ServerIP,@TzId,@TimeZone,@SnapsInterval,@ModifiedDT,@EnableMD,@MDThreshold,@ExcludeDark,@DarkThreshold, @FPS,@IsRecording,@IsDeleted,@CreatedDT,@WatermarkImage,@WatermarkPosition,@TimelapsePath) " +
"SELECT CAST(scope_identity() AS int)";
try
{
var p1 = new SqlParameter("@CameraId", timelapse.CameraId);
var p2 = new SqlParameter("@UserId", timelapse.UserId);
var p3 = new SqlParameter("@Code", timelapse.Code);
var p4 = new SqlParameter("@Title", timelapse.Title);
var p5 = new SqlParameter("@Status", timelapse.Status);
var p6 = new SqlParameter("@Privacy", timelapse.Privacy);
var p7 = new SqlParameter("@FromDT", (timelapse.FromDT == null ? Utils.SQLMinDate : timelapse.FromDT));
var p8 = new SqlParameter("@ToDT", (timelapse.ToDT == null ? Utils.SQLMaxDate : timelapse.ToDT));
var p9 = new SqlParameter("@ServerIP", timelapse.ServerIP);
var p10 = new SqlParameter("@EnableMD", timelapse.EnableMD);
var p11 = new SqlParameter("@MDThreshold", timelapse.MDThreshold);
var p12 = new SqlParameter("@ExcludeDark", timelapse.ExcludeDark);
var p13 = new SqlParameter("@DarkThreshold", timelapse.DarkThreshold);
var p14 = new SqlParameter("@IsRecording", timelapse.IsRecording);
var p15 = new SqlParameter("@IsDeleted", timelapse.IsDeleted);
var p16 = new SqlParameter("@ModifiedDT", Utils.ConvertFromUtc(DateTime.UtcNow, timelapse.TimeZone));
var p17 = new SqlParameter("@SnapsInterval", timelapse.SnapsInterval);
var p18 = new SqlParameter("@TimeZone", timelapse.TimeZone);
var p19 = new SqlParameter("@DateAlways", timelapse.DateAlways);
var p20 = new SqlParameter("@TimeAlways", timelapse.TimeAlways);
var p21 = new SqlParameter("@CreatedDT", Utils.ConvertFromUtc(DateTime.UtcNow, timelapse.TimeZone));
var p22 = new SqlParameter("@TzId", timelapse.TzId);
var p23 = new SqlParameter("@FPS", timelapse.FPS);
var p24 = new SqlParameter("@OauthToken", timelapse.OauthToken);
var p25 = new SqlParameter("@WatermarkImage", (timelapse.WatermarkImage.Equals("-")? "" : timelapse.WatermarkImage));
var p26 = new SqlParameter("@WatermarkPosition", timelapse.WatermarkPosition);
var p27 = new SqlParameter("@TimelapsePath", timelapse.TimelapsePath);
var list = new[] { p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21, p22, p23, p24, p25, p26, p27};
var cmd = new SqlCommand { CommandText = query, CommandType = CommandType.Text };
cmd.Parameters.AddRange(list);
Connection.OpenConnection();
cmd.Connection = Connection.DbConnection;
int result = (int)cmd.ExecuteScalar();
Connection.CloseConnection();
cmd.Dispose();
return result;
}
catch (Exception ex)
{
Utils.FileLog("TimelapseDao Insert(Timelapse timelapse) " + ex.Message);
return 0;
}
finally
{ Connection.CloseConnection(); }
}