public void Hello(DT.Slave slaveInfo)
        {
            RoleVerifier.AuthenticateForAnyRole(HiveRoles.Slave);
            if (UserManager.CurrentUser.UserName != "hiveslave")
            {
                slaveInfo.OwnerUserId = UserManager.CurrentUserId;
            }
            var pm = PersistenceManager;

            using (new PerformanceLogger("Hello")) {
                var slaveDao = pm.SlaveDao;
                pm.UseTransaction(() => {
                    var slave = slaveDao.GetById(slaveInfo.Id);
                    if (slave == null)
                    {
                        slaveDao.Save(slaveInfo.ToEntity());
                    }
                    else
                    {
                        bool oldIsAllowedToCalculate = slave.IsAllowedToCalculate;
                        Guid?oldParentResourceId     = slave.ParentResourceId;
                        slaveInfo.CopyToEntity(slave);
                        slave.IsAllowedToCalculate = oldIsAllowedToCalculate;
                        slave.ParentResourceId     = oldParentResourceId;
                        slave.LastHeartbeat        = DateTime.Now;
                        slave.SlaveState           = DA.SlaveState.Idle;
                    }
                    pm.SubmitChanges();
                });
            }
        }
Example #2
0
        public static DB.Slave ToEntity(DT.Slave source)
        {
            if (source == null)
            {
                return(null);
            }
            var entity = new DB.Slave(); ToEntity(source, entity);

            return(entity);
        }
Example #3
0
        public static DA.Slave ToEntity(this DT.Slave source)
        {
            if (source == null)
            {
                return(null);
            }
            var result = new DA.Slave();

            source.CopyToEntity(result);
            return(result);
        }
        public Guid AddSlave(DT.Slave slaveDto)
        {
            RoleVerifier.AuthenticateForAnyRole(HiveRoles.Administrator);
            var pm = PersistenceManager;

            using (new PerformanceLogger("AddSlave")) {
                var slaveDao = pm.SlaveDao;
                return(pm.UseTransaction(() => {
                    var slave = slaveDao.Save(slaveDto.ToEntity());
                    pm.SubmitChanges();
                    return slave.ResourceId;
                }));
            }
        }
        public void UpdateSlave(DT.Slave slaveDto)
        {
            RoleVerifier.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client);
            var pm = PersistenceManager;

            using (new PerformanceLogger("UpdateSlave")) {
                var slaveDao = pm.SlaveDao;
                pm.UseTransaction(() => {
                    var slave = slaveDao.GetById(slaveDto.Id);
                    if (slave != null)
                    {
                        slaveDto.CopyToEntity(slave);
                    }
                    else
                    {
                        slaveDao.Save(slaveDto.ToEntity());
                    }
                    pm.SubmitChanges();
                });
            }
        }
Example #6
0
 public static void ToEntity(DT.Slave source, DB.Slave target)
 {
     if ((source != null) && (target != null))
     {
         target.ResourceId           = source.Id;
         target.ParentResourceId     = source.ParentResourceId;
         target.Cores                = source.Cores;
         target.CpuSpeed             = source.CpuSpeed;
         target.FreeCores            = source.FreeCores;
         target.FreeMemory           = source.FreeMemory;
         target.IsAllowedToCalculate = source.IsAllowedToCalculate;
         target.Memory               = source.Memory;
         target.Name            = source.Name;
         target.SlaveState      = Convert.ToEntity(source.SlaveState);
         target.CpuArchitecture = Convert.ToEntity(source.CpuArchitecture);
         target.OperatingSystem = source.OperatingSystem;
         target.LastHeartbeat   = source.LastHeartbeat;
         target.CpuUtilization  = source.CpuUtilization;
         target.HbInterval      = source.HbInterval;
         target.IsDisposable    = source.IsDisposable;
         target.OwnerUserId     = source.OwnerUserId;
     }
 }
Example #7
0
 public static void CopyToEntity(this DT.Slave source, DA.Slave target)
 {
     if ((source == null) || (target == null))
     {
         return;
     }
     target.ResourceId           = source.Id;
     target.ParentResourceId     = source.ParentResourceId;
     target.Cores                = source.Cores;
     target.CpuSpeed             = source.CpuSpeed;
     target.FreeCores            = source.FreeCores;
     target.FreeMemory           = source.FreeMemory;
     target.IsAllowedToCalculate = source.IsAllowedToCalculate;
     target.Memory               = source.Memory;
     target.Name            = source.Name;
     target.SlaveState      = source.SlaveState.ToEntity();
     target.CpuArchitecture = source.CpuArchitecture.ToEntity();
     target.OperatingSystem = source.OperatingSystem;
     target.LastHeartbeat   = source.LastHeartbeat;
     target.CpuUtilization  = source.CpuUtilization;
     target.HbInterval      = source.HbInterval;
     target.IsDisposable    = source.IsDisposable;
     target.OwnerUserId     = source.OwnerUserId;
 }