Пример #1
0
 public void SaveConnection(ApplicationContext context, ConnectionDto connection)
 {
     using (var db=new TenantDb(ConnectionString.ForDomain(context.TenantDomainName)))
     {
         var conn = new Connection
         {
             Description = connection.Name,
             ConnectionType = connection.ConnectionType,
             UserName = connection.UserName,
             Password = connection.Password,
             Url = connection.Url,
             ValidationStatus = connection.ValidationStatus,
             ValidationMessage = connection.ValidationMessage ?? String.Empty,
             CreatedOn = DateTime.Now,
             CreatedBy = context.UserId,
             ModifiedBy = context.UserId,
             ModifiedOn = DateTime.Now,
             IsActive = true
         };
         db.Connections.Add(conn);
         db.SaveChanges();
     }
 }
Пример #2
0
        public SchedulerDto SaveScheduling(ApplicationContext context, SchedulerDto schedule)
        {
            using (var db = new TenantDb(ConnectionString.ForDomain(context.TenantDomainName)))
            {
                var sch = new Schedule
                {
                    Name = schedule.Name,
                    SourceConnectionId = schedule.SourceConnectionId,
                    TargetConnectionId = schedule.TargetConnectionId,
                    RegardingEntityName = schedule.RegardingEntityName,
                    SourceViewId = schedule.SourceViewId,
                    NotificationEmails = schedule.Emails,
                    IsActive = schedule.IsActive,
                    CreatedBy = context.UserId,
                    CreatedOn = DateTime.Now,
                    ModifiedBy = context.UserId,
                    ModifiedOn = DateTime.Now
                };

                db.Schedules.Add(sch);
                db.SaveChanges();

                schedule.ScheduleId = sch.ScheduleId;
                var excecution = new ExecutionDto
                {
                    ScheduleId = schedule.ScheduleId,
                    IsOnDemenad = false,
                    CreatedBy = schedule.CreatedBy
                };
                SaveExecution(context.TenantDomainName, excecution);

                MailService.SendMail(schedule.Emails, MailMessageType.SchedulerCreated);
                return schedule;
            }
        }
Пример #3
0
        public void UpdateExecution(string domainName, int executionId, ExcecutionStatusEnum status)
        {
            using (var db = new TenantDb(ConnectionString.ForDomain(domainName)))
            {
                var exec = db.Excecutions
                    .Single(x => x.ExecutionId == executionId && x.Status < (int) status && x.IsActive);

                exec.Status = (int)status;
                exec.ModifiedOn = DateTime.Now;
                db.SaveChanges();

                if (status == ExcecutionStatusEnum.Finished)
                {
                    MailService.SendMail(exec.Schedule.NotificationEmails, MailMessageType.FileMovementFinished);
                }
            }
        }
Пример #4
0
 public void SaveExecution(string domainName, ExecutionDto excecution)
 {
     using (var db = new TenantDb(ConnectionString.ForDomain(domainName)))
     {
         var exec = new Excecution()
         {
             ScheduleId =  excecution.ScheduleId,
             IsOnDemand = excecution.IsOnDemenad,
             StartTime = DateTime.Now,
             Status = (int)ExcecutionStatusEnum.Created,
             IsActive = true,
             CreatedBy = excecution.CreatedBy,
             CreatedOn = DateTime.Now,
             ModifiedBy = excecution.CreatedBy,
             ModifiedOn = DateTime.Now
         };
         db.Excecutions.Add(exec);
         db.SaveChanges();
         excecution.ExecutionId = exec.ExecutionId;
     }
 }